fhc/framework

关于此包的最新版本(v1.5.1)没有可用的许可证信息。

FHC(FLRngel Hates Coding) PHP 框架

v1.5.1 2014-08-05 14:51 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:44:12 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 变量定义为数组,是 controllersviewslayout 之间的全局变量

您可以从控制器文件中使用 lib/classes/<NAMESPACE>/<CLASSNAME>.php 作为 new <CLASSNAME>

更新

使用 FHC-Gaia

gaia update <project name>

有用的库

许可协议

MIT