|
楼主 |
发表于 2008-6-19 23:03:04
|
显示全部楼层
Kohana 很有前途
从某种程度上来说,Kohana现在还未被国人完全接受。在国内比不上CI,但是,我想,随首PHP4的消失,真正的PHP5面向对象深入人心,那么,接受Kohana 的人会越来越多。
最关键是代码给了用户多少信心?这是CI目前最为缺少的。当然,CI给了用户其它框架所不能给的很多东西。这不能不说是CI的长处。但是,请看:
class CI_Upload {
var $max_size = 0;
var $max_width = 0;
var $max_height = 0;
var $allowed_types = "";
var $file_temp = "";
var $file_name = "";
var $orig_name = "";
var $file_type = "";
var $file_size = "";
var $file_ext = "";
var $upload_path = "";
var $overwrite = FALSE;
var $encrypt_name = FALSE;
var $is_image = FALSE;
var $image_width = '';
var $image_height = '';
var $image_type = '';
var $image_size_str = '';
var $error_msg = array();
var $mimes = array();
var $remove_spaces = TRUE;
var $xss_clean = FALSE;
var $temp_prefix = "temp_file_";
/**
* Constructor
*
* @access public
*/
function CI_Upload($props = array())
{
if (count($props) > 0)
{
$this->initialize($props);
}
log_message('debug', "Upload Class Initialized");
}
// --------------------------------------------------------------------
/**
* Initialize preferences
*
* @access public
* @param array
* @return void
*/
function initialize($config = array())
{
$defaults = array(
'max_size' => 0,
'max_width' => 0,
'max_height' => 0,
'allowed_types' => "",
'file_temp' => "",
'file_name' => "",
'orig_name' => "",
'file_type' => "",
'file_size' => "",
'file_ext' => "",
'upload_path' => "",
'overwrite' => FALSE,
'encrypt_name' => FALSE,
'is_image' => FALSE,
'image_width' => '',
'image_height' => '',
'image_type' => '',
'image_size_str' => '',
'error_msg' => array(),
'mimes' => array(),
'remove_spaces' => TRUE,
'xss_clean' => FALSE,
'temp_prefix' => "temp_file_"
);
foreach ($defaults as $key => $val)
{
if (isset($config[$key]))
{
$method = 'set_'.$key;
if (method_exists($this, $method))
{
$this->$method($config[$key]);
}
else
{
$this->$key = $config[$key];
}
}
else
{
$this->$key = $val;
}
}
}
这一大段代码,充分表明,CI对代码的要求并不高,实现了,能跑不错就行。
但是,真正的大型项目的用户,还是希望框架能给用户信心。
CI中有开发者数组函数用得特好,但是,这里,是与类相关的数组,本来一行代码就够了,却用了一个很长的array()初始化,为什么不直接读出来?
一个 get_class_vars 就能让上面代码少20多行。 |
|