我正在考虑使用一个名为CodeIgniter的PHP框架.
我感兴趣的一件事就是它的速度.但是,我没有办法知道它有多快,而且不想简单地用它的网站来表达它.有人知道我自己如何确定速度,或者有人能告诉我一个可以的网站吗?
我一直在使用CodeIgniter系统一段时间 - 但它有它的缺点.我很感激它教给我的东西,但现在我需要一个新的非codeigniter项目的库,所以我正在寻找关于哪些库有正确而哪些没有的想法.我可能不得不从几个图书馆拿走一些东西来获得我需要的一切.
我只是看了一下Kohana PHP会话库,我喜欢它如何返回使用$ _SESSION超全局的本地PHP方式,而不是强制更改$ this-> session进行数据访问.
无论如何,我想知道是否有其他好的会话库,我可能会搞乱.除了CRUD功能之外,还有很多必须在会话中处理.
我花了一些时间来讨论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) 我正在使用codeigniter框架.
我应该在哪里清理PHP输入 - 控制器或模型?
我最近开始使用Codeigniter进行一个项目(几个月前),但它与一些需要相互交互的模型有点失控,我想知道我是否应该创建一个库而不是?
在我的情况下,我有一个用户操作,当你赢得一个游戏,它将登录我的user_model但我也希望它被放入我的events_model?
像这样影响多个模型的东西会成为一个库吗?
我知道它不应该在控制器中,因为我必须在多个控制器中重用这个触发器(对于提供的示例可能没有意义,但对我的应用程序有效).
我知道这是一个愚蠢的问题,但我无法在任何地方找到答案.如果我正在使用Codeigniter,我在哪里保存我的favicon文件,以便它会在浏览器中弹出?或者在我找不到的文件中是否有配置选项?这真让我抓狂!
非常感谢您的帮助.
最近我发现了CSRF攻击,并很高兴地发现CSRF保护被添加到Codeigniter v 2.0.0中.
我启用了该功能,并看到在表单中添加了带有令牌的隐藏输入,我认为它也将令牌存储在会话中.在POST请求中,CI会自动比较令牌还是我必须手动执行此操作?
我正在使用CodeIgniter编写的现有站点,我们正在考虑将AngularJS用于需要大量前端功能的一些页面,但我们不想替换所有所有CodeIgniter视图(立刻(尚未)).
所以我点击一个由angular的路由器控制的链接,它由javascript处理,但是下一个链接可能是一个应该由CodeIgniter框架处理的"正常"请求.
是否有一些优雅的方式来结合这两种方法?我真的不介意一些额外的客户端开销,因为该网站尚未在生产中运行.
从PHP中的父类继承时,特别是在Codeigniter中parent::__construct or parent::model()做了什么?
如果我不是__construct父母班,它会有什么不同?并且,建议采用哪种方式?
-添加-
Codeigniter更多地关注Codeigniter,具体parent::__construct取决于版本的不同方式的调用,如果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) 情况:
如果已经提出这个问题,请提前抱歉,但解决方案对我不起作用.
无论我尝试什么,我都不能将表情符号存储在我的数据库中.他们被保存为????.
正确保存的唯一表情符号只需要3个字节,如害羞的脸或太阳.
实际的utf8mb4无效.
它已经在Android和Ios上进行了测试.结果相同.
版本:
Mysql:5.5.49
CodeIgniter:3.0.0
步骤:
我修改了数据库字符集和排序规则属性.
ALTER DATABASE my_database CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci
我修改了表字符集和排序规则属性.
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
我在可能的情况下将表的每个字段设置为Encoding:UTF-8(ut8mb4)和Collation:utf8mb4_unicode_ci
我在CodeIgniter应用程序中修改了数据库连接.
我运行了以下内容: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci
最后我也试过这个:
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) codeigniter ×10
php ×8
android ×1
angularjs ×1
benchmarking ×1
email ×1
favicon ×1
ios ×1
javascript ×1
kohana ×1
mysql ×1
oop ×1
performance ×1
security ×1
session ×1
token ×1