CodeIgniter有没有测试框架?
我已经在Codeigniter/PHP中编写了我的webapp v1.我现在正在研究v2,它将对所有MVC组件进行一些重大更改.
我很喜欢CI,我喜欢它.像我这样的C编码器非常直观.但我想知道在Rails中重写应用程序是否值得?生产力的提高是否值得从头开始学习另一个框架的成本?我想要实用而不是追逐某些东西只是因为它更酷或更有趣.
以下是一些生产力标准:
HTML和CSS生成相当费力.Rails有什么独特之处可以帮助解决这个问题吗?
我想重用其他人的代码来实现常用的功能(例如与FB,Twitter和其他社交网站的接口).使用Rails可以获得多少第三方代码重用?
我从Rails社区与CI社区获得了多少好处?
使自动化测试更容易.我今天手动测试,这是劳动密集型的.
我会感谢特定的利益与理想主义/宗教论点.谢谢!
我正在Codeigniter上开发一个网站(带有购物车),并希望使用sess_use_database设置使用户更难以破解购物车会话.
我还想使用数据库缓存来加速常见的数据库请求(例如'获取类别',因为大多数数据库内容不会定期更改),所以我启用了这个设置:
$db['development']['cache_on'] = TRUE;
//where 'development' is my environment
Run Code Online (Sandbox Code Playgroud)
因此,我发现会话内容没有刷新,例如在此请求上:
$this->basket_contents = array_values($this->session->userdata('basket_contents'));
Run Code Online (Sandbox Code Playgroud)
另外,我试过这个:
$this->db->cache_off();
Run Code Online (Sandbox Code Playgroud)
...在会话请求之前,但它没有解决问题(我假设它不是直接的DB请求).
我的会话设置如下:
$config['sess_cookie_name'] = 'str_session';
$config['sess_expiration'] = 7200;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Run Code Online (Sandbox Code Playgroud)
我可以阻止缓存与会话相关的数据库请求吗?或者阻止某些表被缓存?
或者是否有另一个(可能是显而易见的)解决方案我没有想过?
提前致谢.
我正在开发我对OOP设计模式的知识,并且我的主要关注点是网站开发和Web应用程序开发,我试图在这些领域中找到设计模式的示例,但似乎主要遇到Web框架(任何其他示例将不胜感激) .在我看来,大多数(所有?)基于PHP的框架似乎都使用MVC设计模式.由于这是最广泛使用的,因此认为它是这种类型开发的最佳设计模式是正确的,还是反映了较浅的学习曲线而不是其他设计模式?
我还注意到codeigniter框架使用单例模式和MVC模式.这种混合设计模式是否常见并且是有效的还是因为特定原因在codeigniter中使用?
我想使用标题中列出的框架之一,但我害怕选择错误的框架,因为我对框架知之甚少.我很了解PHP,但每次创建一个网站时我花了太多时间创建自己的小框架.事实上,我害怕使用框架,因为害怕陷入无法处理高流量网站的僵化和缓慢的框架.
哪个框架最能解决我的恐惧?
我有一个基于Codeigniter 1.7.2的PHP应用程序,目前正在生产和现场,似乎有严重的内存泄漏.
通过查看服务器上的"top",内存泄漏很明显:
top - 23:42:13 up 26 days, 10:14, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 54 total, 1 running, 53 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 7872040k total, 929748k used, 6942292k free, 142464k buffers
Swap: 0k total, 0k used, 0k free, 214420k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22740 apache 15 0 308m 63m 5976 S 0 0.8 0:14.05 httpd
22733 apache …Run Code Online (Sandbox Code Playgroud) 我正在设计一个功能齐全的网站,其中包含主页上的博客.我希望它是全功能的,但我不想花费永远编码.有没有可以轻松与CodeIgniter集成的好博客系统?
我在Ubuntu 10(LAMP)上有Codeigniter.我有一个htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /dort
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php
#controller, previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /dort/index.php?/$1 [L]
#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends
#the request to …Run Code Online (Sandbox Code Playgroud) 我有一个从表中检索所有标签的函数:
function global_popular_tags() {
$this->db->select('tags.*, COUNT(tags.id) AS count');
$this->db->from('tags');
$this->db->join('tags_to_work', 'tags.id = tags_to_work.tag_id');
$this->db->group_by('tags.id');
$this->db->order_by('count', 'desc');
$query = $this->db->get()->result_array();
return $query;
}
Run Code Online (Sandbox Code Playgroud)
我有另一张名为'work'的表.'work'表有一个'draft'列,其值为1或0.我希望COUNT(tags.id)考虑具有特定标记的工作是否处于草稿模式(1).
比如,有10件作品被标记为"设计".COUNT将是10.但是这些工作中有2个处于草稿模式,因此COUNT应该是8.如何管理?
如果validation_errors()数组中有任何错误,我想显示一般错误消息,但如果我做了类似的事情
if(isset(validation_errors())) { echo 'error'; }
Run Code Online (Sandbox Code Playgroud)
然后它返回并说:
致命错误:在写上下文中不能使用函数返回值
任何帮助都会很棒.
codeigniter ×10
php ×9
.htaccess ×1
activerecord ×1
apache ×1
blogs ×1
caching ×1
cakephp ×1
frameworks ×1
memory ×1
memory-leaks ×1
mysql ×1
oop ×1
sql ×1
symfony1 ×1
ubuntu ×1
unit-testing ×1