CodeIgniter 中国开发者社区诚征热爱 CI 的版主

查看完整版本: 如何从 CodeIgniter 升级为 Kohana

沧蓝 2007-12-3 20:16

如何从 CodeIgniter 升级为 Kohana

原文链接: [url]http://doc.kohanaphp.com/installation/migration[/url]

Kohana 1.x (BlueFlame) 以及 CodeIgniter 1.x 的用户可参照本文来升级到最新的 Kohana 2.x。

[b]安装 (Installation)[/b]

下载并解压 Kohana,删除“application”文件夹,拷贝你现在的“application”文件夹到相同的地方。

[b]配置 (Configuration)[/b]

依照原来的配置文件(“application/config/config.php”),重新配置该文件。

[b]类名称 (Class Names)[/b]

重命名所有的控制器({NAME}_Controller),添加“_Controller”后缀。比如你有一个“Page”控制器,那么就更名为“Page_Controller”。

将类构造器(constructor)转化为 PHP5 的(如果已经是 PHP5 格式的则跳过此步)。
[list=1]
[*] 将 [color=maroon]function Page()[/color] 替换为 [color=maroon]function __construct() [/color]
[*] 将 [color=maroon]parent::Controller()[/color] 替换为 [color=maroon]parent::__construct() [/color]
[*] [b]注意:[/b] 数据模型(models)文件也需要做同样的修改!
[/list]

重命名所有的数据模型({NAME}_Model)
[list=1]
[*] 假设原来的模型文件为 PageModel,则更名为 Page_Model
[*] 装载模型时,仅用模型的名称,例如:[color=maroon]$this->load->model('page');[/color]
[*] 如果你添加了 [color=maroon]construct()[/color] 函数,则务必使用 [color=maroon]parent::__construct()[/color]
[/list]

[b]助手 (Helpers)[/b]

重命名原本所有的助手函数到 helper::function() 的格式。
[list]
[*] 例如:[color=maroon]anchor()[/color] 更名为 [color=maroon]html::anchor()[/color]
[*] 例如:[color=maroon]url_base()[/color] 更名为 [color=maroon]url:base[/color]
[*] 例如:[color=maroon]form_open()[/color] 更名为 [color=maroon]form::open()[/color]
[*] 系统内置的助手都在 system/helpers 文件夹内
[/list]

[b]视图 (Views)[/b]

视图的处理与原来有些不同。原本视图均为普通的文件,而现在视图均做对象处理。这使得我们能够更方便的使用内欠视图(view-in-view)的功能。[code]// 装载视图,并设定 $title 变量
$view = $this->load->view('template', array('title' => 'User Details'));

// 设置 $username 变量
$view->username = 'JohnDoe';

// 将 $visits 变量赋于其他视图
$view->visits = $this->load->view('user/visits', array('user_id' => 3));

// 将视图的内容赋予给一个 string 变量
$str_view = $view->render();

// 显示视图
$view->render(TRUE);[/code][b]注意:[/b]

用 print 或 echo 来输出视图的话,会将之赋予给一个 string 变量。例如:[code]<!-- 本范例继续之前“template”的代码 -->
<h1><?php echo $title ?> for <?php echo $username ?></h1>
<div id="visits"><?php echo $visits ?></div>[/code]在上例中,视图对象 $visit 被赋予到一个 string 变量中。推荐使用这样的语法因为它精简易读,与 HTML 混合时也容易辨认。

[[i] 本帖最后由 沧蓝 于 2007-12-3 22:19 编辑 [/i]]

Hex 2007-12-4 10:39

这个也非常棒!!
加油!呵呵
页: [1]
查看完整版本: 如何从 CodeIgniter 升级为 Kohana