作者liaosankai (低温烘焙)
看板PHP
标题Re: [请益] 请问 PHP framework 通常怎麽更新
时间Tue Feb 25 10:19:05 2014
※ 引述《hermitwhite (不存在的骑士)》之铭言:
: 我以前没有接触过比较底层的 PHP framework,这次因为需要从头开发
: 网站程式的关系而开始学 Kohana。我看到文件里提到可以(或必须)根据自
: 己的需求去修改 index.php 和 bootstrap.php 觉得有点疑惑,因为这和我
: 以前写东西完全不碰设定档以外内建档案的习惯有所抵触(bootstrap 的功
: 能就是设定档,但它和一般的设定档相比又太复杂)。
: 想请问:Kohana 这样的设计在更新 framework 时怎麽办?通常要手动
: merge 改过的档案吗?或者这类型的 framework 不更新也没什麽关系?
Kohana3.3 的预设三大资料夹如下:
<application> ← main app
<modules> ← sub apps
<system>
index.php
index.php 只有在你移动了三大资料夹的时候,才需要重新设定
位置变数,不然通常很少会去异动它,不过 kohana 这样的设计
意味着你可以两个不同的 <application> 共用同一个 <system>
和 <modules>,例如下面的结构:
├<public_html>
├<project_1>
index.php
├<project_2>
index.php
├<myapp>
├<app1>
bootstrap.php
├<app2>
bootstrap.php
├<kohana>
├<system>
├<modules>
`public_html/project_1/index.php` 的设定如下:
$application = '../../myapp/app1';
$modules = '../../kohana/modules';
$system = '../../kohana/system';
`public_html/project_2/index.php` 的设定如下:
$applicaiton = '../../myapp/app2'
$modules = '../../kohana/modules';
$system = '../../kohana/system';
你说的更新 freamwork 只需要更新 <system> 或是部分官方
<modules> 即可,例如 <modules/databae>、<modules/orm> 等…
但不是一定要更新。更新的方式在 3.3 後已有支援 composer,当
然你也可以重新下载,覆盖 <system> 和 <modules> 的部分来更新(不建议)
Kohana 最重要的观念文章是这篇 Cascading Filesystem
http://kohanaframework.org/3.3/guide/kohana/files
每个 modules 就像是一个小型 application,但 bootstrap.php 变成 init.php
结构都和 main application 一模一样,在执行段阶时,kohana 会将它们自动
的做层级上的 merge。
另外要提醒的是,application/classes 底下的所有档案,对大小写是敏感的。
假设你有一个 model 类别名称是
class Model_Post_Comment extends ORM {}
那麽你的档案位置就一定要是
`classes/Model/Post/Comment.php`
如果你档案位置是
`classes/model/post/comment.php`
在 win 环境跑是没问题,但如果丢到 liunx 系统就会喷掉了!
最後:
如果你没有一定要追赶流行,Kohana 是个不错的选择!
--
欢迎来我的网志看看
@
http://blog.liaosankai.com
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.19.29
1F:推 lovemai073:详细推 02/26 20:08
※ 编辑: liaosankai 来自: 114.38.151.224 (02/26 20:58)
2F:→ hermitwhite:感谢,把我想知道的都很清楚地回答了。 02/27 23:32