fhc / framework
关于此包的最新版本(v1.5.1)没有可用的许可证信息。
FHC(FLRngel Hates Coding) PHP 框架
v1.5.1
2014-08-05 14:51 UTC
README
FHC(FLRngel Hates Coding) PHP 框架
本框架采用 MVC 模型、rails 文件夹结构(约 80%),使用非常简单。
要求
Apache2 (mod_rewrite)
PHP (>= 5.3)
安装
git clone https://github.com/flrngel/FHC-Framework <project name>
cd <project name>
./install.sh
或使用 FHC-Gaia
gaia new <project name>
理解其工作原理
架构
/index.php: FHC-Framework 在每个页面都以 index.php 开始。/lib/include/*.php: index.php 会加载此目录下的所有 PHP 文件。(core.php、functions 等。)/lib/classes/*.php: 类文件必须放在这里。/lib/modules/: 不可从 Web 请求访问的目录。用于 crons、模块、插件构建等。/app/controllers/*.php: 控制器文件/app/views/*.html: 视图文件(默认与相同控制器匹配)/app/assets/: 网站资产
MVC
- 模型(FHC 中的类)
- 视图(app/views/.html
- 控制器(app/controllers/.html
工作流程
- 用户请求某种模式,
GET /what/to/do - index.php 解析请求 URI
- 执行控制器文件
app/controllers/what/to/do.php - 将
$res作为全局变量传递给视图文件 - 渲染视图文件
app/views/what/to/do.html并将内容传递给 $contents 变量 - 渲染布局文件
app/views/layout/[default].html - 响应渲染的页面
用法
.env 文件
这受到了 dotfiles 的启发
FHC-Framework 首先加载 $_SERVER['DOCUMENT_ROOT']/.env json 文件并将其解码到 $_ENV 变量
由于 $_ENV 是全局的(PHP 默认),您可以在 FHC-Framework 下的任何地方使用它
路由
只需创建 app/controllers/<dir>/<filename>.php 并通过 GET(POST) /<dir>/<filename> 访问
$res 变量
$res 变量定义为数组,是 controllers、views、layout 之间的全局变量
类
您可以从控制器文件中使用 lib/classes/<NAMESPACE>/<CLASSNAME>.php 作为 new <CLASSNAME>
更新
使用 FHC-Gaia
gaia update <project name>
有用的库
许可协议
MIT