标签: codeigniter

如何确定CodeIgniter的速度?

我正在考虑使用一个名为CodeIgniter的PHP框架.

我感兴趣的一件事就是它的速度.但是,我没有办法知道它有多快,而且不想简单地用它的网站来表达它.有人知道我自己如何确定速度,或者有人能告诉我一个可以的网站吗?

php performance benchmarking codeigniter

19
推荐指数
2
解决办法
5706
查看次数

PHP会话的最佳库

我一直在使用CodeIgniter系统一段时间 - 但它有它的缺点.我很感激它教给我的东西,但现在我需要一个新的非codeigniter项目的库,所以我正在寻找关于哪些库有正确而哪些没有的想法.我可能不得不从几个图书馆拿走一些东西来获得我需要的一切.

我只是看了一下Kohana PHP会话库,我喜欢它如何返回使用$ _SESSION超全局的本地PHP方式,而不是强制更改$ this-> session进行数据访问.

无论如何,我想知道是否有其他好的会话库,我可能会搞乱.除了CRUD功能之外,还有很多必须在会话中处理.

  • 支持基于非cookie的会话传递(即Facebook或Flash上​​传者)
  • "Flash数据"仅持续下一页加载,然后自动删除.
  • 使用$ _SESSION或$ this-> session,以便程序员不必更改现有代码.
  • 支持设置新的会话ID(即session_id('new id')),以防您想要在页面中途更改id.
  • 在页面请求结束时保存所有数据,而不是每次添加或删除数据时(保存额外的数据库查询).
  • 支持使用文件,cookie或数据库进行存储.(或memcached会很好)
  • 在会话劫持的情况下尝试拒绝访问.(IP,使用者或指纹)

我花了一些时间来讨论CodeIgniter和Kohana会话库的逻辑,然后我想出了关于每个页面的每个开始和结束会话的内容.

/**************
** Kohana Sessions
**************/
If not native file storage {
    session_set_save_handler to the storage type (DB, cache, cookie...)
}

set the session_name() so php knows what cookie value to check

start session

/****** Saving ******/

session_write_close() which calls the given handler


/**************
** CI Sessions
**************/

Try to read_session() -> …
Run Code Online (Sandbox Code Playgroud)

php session codeigniter kohana

19
推荐指数
1
解决办法
8590
查看次数

在哪里清理PHP $ _POST []输入?

我正在使用codeigniter框架.

我应该在哪里清理PHP输入 - 控制器或模型?

php codeigniter

19
推荐指数
4
解决办法
8496
查看次数

Codeigniter:何时使用模型vs库?

我最近开始使用Codeigniter进行一个项目(几个月前),但它与一些需要相互交互的模型有点失控,我想知道我是否应该创建一个库而不是?

在我的情况下,我有一个用户操作,当你赢得一个游戏,它将登录我的user_model但我也希望它被放入我的events_model?

像这样影响多个模型的东西会成为一个库吗?

我知道它不应该在控制器中,因为我必须在多个控制器中重用这个触发器(对于提供的示例可能没有意义,但对我的应用程序有效).

php oop model-view-controller codeigniter

19
推荐指数
1
解决办法
5182
查看次数

如何在Codeigniter中设置Favicon

我知道这是一个愚蠢的问题,但我无法在任何地方找到答案.如果我正在使用Codeigniter,我在哪里保存我的favicon文件,以便它会在浏览器中弹出?或者在我找不到的文件中是否有配置选项?这真让我抓狂!

非常感谢您的帮助.

favicon codeigniter

19
推荐指数
1
解决办法
3万
查看次数

Codeigniter CSRF - 它是如何工作的

最近我发现了CSRF攻击,并很高兴地发现CSRF保护被添加到Codeigniter v 2.0.0中.

我启用了该功能,并看到在表单中添加了带有令牌的隐藏输入,我认为它也将令牌存储在会话中.在POST请求中,CI会自动比较令牌还是我必须手动执行此操作?

php security codeigniter token

19
推荐指数
1
解决办法
4万
查看次数

结合Angularjs和CodeIgniter

我正在使用CodeIgniter编写的现有站点,我们正在考虑将AngularJS用于需要大量前端功能的一些页面,但我们不想替换所有所有CodeIgniter视图(立刻(尚未)).

所以我点击一个由angular的路由器控制的链接,它由javascript处理,但是下一个链接可能是一个应该由CodeIgniter框架处理的"正常"请求.

是否有一些优雅的方式来结合这两种方法?我真的不介意一些额外的客户端开销,因为该网站尚未在生产中运行.

javascript php codeigniter angularjs

19
推荐指数
1
解决办法
5万
查看次数

PHP Codeigniter - parent :: __ construct

从PHP中的父类继承时,特别是在Codeigniter中parent::__construct or parent::model()做了什么?

如果我不是__construct父母班,它会有什么不同?并且,建议采用哪种方式?

-添加-

Codeigniter更多地关注Codeigniter,具体parent::__construct取决于版本的不同方式的调用,如果Codeigniter自动执行此操作,可以省略.

php codeigniter

19
推荐指数
1
解决办法
9万
查看次数

通过localhost使用codeigniter库发送电子邮件

public function sendemail(){
  $config = Array( 
  'protocol' => 'smtp', 
  'smtp_host' => 'ssl://smtp.googlemail.com', 
  'smtp_port' => 465, 
  'smtp_user' => 'email@gmail.com', 
  'smtp_pass' => 'password', ); 

  $this->load->library('email', $config); 
  $this->email->set_newline("\r\n");
  $this->email->from('email@gmail.com', 'Name');
  $this->email->to('email@yahoo.com');
  $this->email->subject(' My mail through codeigniter from localhost '); 
  $this->email->message('Hello World…');
  if (!$this->email->send()) {
    show_error($this->email->print_debugger()); }
  else {
    echo 'Your e-mail has been sent!';
  }
}   
Run Code Online (Sandbox Code Playgroud)

当我使用codeigniter发送电子邮件时出错:

Message: mail() [function.mail]: Failed to connect to mailserver at 
"localhost" port 25, verify your "SMTP" and "smtp_port" setting in 
php.ini or use ini_set().
Run Code Online (Sandbox Code Playgroud)

和

Unable to …
Run Code Online (Sandbox Code Playgroud)

email codeigniter

19
推荐指数
1
解决办法
11万
查看次数

无法在数据库中存储表情符号

情况:

如果已经提出这个问题,请提前抱歉,但解决方案对我不起作用.

无论我尝试什么,我都不能将表情符号存储在我的数据库中.他们被保存为????.
正确保存的唯一表情符号只需要3个字节,如害羞的脸或太阳.

实际的utf8mb4无效.

数据库截图

它已经在Android和Ios上进行了测试.结果相同.

版本:

Mysql:5.5.49
CodeIgniter:3.0.0

步骤:

  1. 我修改了数据库字符集和排序规则属性.

    ALTER DATABASE my_database CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci

  2. 我修改了表字符集和排序规则属性.

    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci

  3. 我在可能的情况下将表的每个字段设置为Encoding:UTF-8(ut8mb4)和Collat​​ion:utf8mb4_unicode_ci

  4. 我在CodeIgniter应用程序中修改了数据库连接.

  5. 我运行了以下内容: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci

  6. 最后我也试过这个: REPAIR TABLE table_name; OPTIMIZE TABLE table_name;

一切都应该设置正确,但它不起作用.

数据库设置:

这是运行以下命令的结果:

`SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';`
Run Code Online (Sandbox Code Playgroud)

数据库设置

表设置:

表结构的screeshot:

表设置

数据库连接:

这些是database.php中的数据库连接设置(注意这不是唯一的数据库,还有其他使用utf8连接的数据库)

$db['my_database'] = array(
        'dsn'           => …
Run Code Online (Sandbox Code Playgroud)

php mysql android codeigniter ios

19
推荐指数
1
解决办法
9240
查看次数