PHP 框架哪个更好一点?CodeIgniter 怎么样
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 框架哪个更好一点?CodeIgniter 怎么样相关的知识,希望对你有一定的参考价值。
参考技术A
没有所谓最好,只有最合适的。
世界上公认最强的应该是laravel,很多php程序员都很吹捧他,不过在国内没啥市场。
codeigniter也是很优秀的框架,我目前最喜欢的一个框架。
如果是工作的话,在国内两个框架你至少要会Thinkphp,codeigniter,都是不错的框架。
参考技术B
1、优点
简介、优雅。
在那些 PHP 框架中,可以说 CI 的思维模式最接近 PHP 初级程序员了,所以,很多 PHP 程序员遇到 CI 后就喜欢上了。相比之下 Cake 的思维模式太接近 ruby,那些从 ROR 转到 PHP 阵营来的程序员应该比较喜欢 Cake,而我则更喜欢 ZendFramwork,原因很简单,我是从 Java 阵营转到 PHP 来的。
同样是中小企业框架,国内的开发者,尤其是使用百度进行搜索的开发人员,应该会更偏爱 ThinkPHP 。
2、缺点
CI 的核心小,很轻量级,但是因为一味追求小,性能,也使用了不少的全局变量,比如 global $IN, $BM, $CFG, $URI, $LANG, $OUT;。
还有一个缺点,也许是由于我使用 Java 的原因,对 CI 的单一实例很不习惯。
PHP 如何在CodeIgniter中编写更好的模型
<?php if (!defined('BASEPATH')) exit('No direct script access');
class Users_model extends Model {
var $table = 'users';
function __construct() {
parent::Model();
}
function Users_model() {
parent::Model();
}
function add_user($options = array()) {
if(!$this->_required(array('email', 'password'), $options))
return false;
$options = $this->_default(array('status' => 'active'), $options);
$qualificationArray = array('email', 'username', 'status');
foreach($qualificationArray as $qualifier) {
if (isset($options[$qualifier]))
$this->db->set($qualifier, $options[$qualifier]);
}
if (isset($options['password']))
$this->db->set('password', md5($options['password']));
$this->db->insert($this->table);
return $this->db->insert_id();
}
function update_user($options = array()) {
if(!$this->_required(array('email'), $options))
return false;
$qualificationArray = array('email', 'username', 'status');
foreach($qualificationArray as $qualifier) {
if (isset($options[$qualifier]))
$this->db->set($qualifier, $options[$qualifier]);
}
$this->db->where('email', $options['email']);
if(isset($options['password']))
$this->db->set('password', md5($options['password']));
$this->db->update($this->table);
return $this->db->affected_rows();
}
function get_users($options = array()) {
$options = $this->_default(array('sort_direction' => 'asc'), $options);
$qualificationArray = array('email', 'status');
foreach($qualificationArray as $qualifier) {
if (isset($options[$qualifier]))
$this->db->where($qualifier, $options[$qualifier]);
}
if (isset($options['limit']) && isset($options['offset']))
$this->db->limit($options['limit'], $options['offset']);
else if (isset($options['limit']))
$this->db->limit($options['limit']);
if (isset($options['sort_by']))
$this->db->order_by($options['sort_by'], $options['sort_direction']);
$query = $this->db->get($this->table);
if ($query->num_rows() == 0)
return false;
if (isset($options['email'])) {
return $query->row(0);
} else {
return $query->result();
}
}
function delete_user($options = array()) {
if(!$this->_required(array('email'), $options))
return false;
$this->db->where('email', $options['email']);
$this->db->delete($this->table);
}
function _required($required, $data) {
foreach($required as $field)
if (!isset($data[$field]))
return false;
return true;
}
function _default($defaults, $options) {
return array_merge($defaults, $options);
}
}
以上是关于PHP 框架哪个更好一点?CodeIgniter 怎么样的主要内容,如果未能解决你的问题,请参考以下文章
Smarty集成到CodeIgniter框架中
哪个是 codeigniter 的最佳 PHP ORM? [关闭]
CodeIgniter:帮助从网页获取元标记的类/库?
要使用codeigniter框架还是标准的php? [关闭]
php优秀框架codeigniter学习系列——安装,配置
哪个php框架适合共享主机? [关闭]