Download the PHP package autorealm/faddle without Composer
On this page you can find all versions of the php package autorealm/faddle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package faddle
Faddle - a liberalization PHP Framework
Faddle Framework is just a PHP MVC system to give developers the creative experience of developing a web application. It's designed to be lightweight and modular, allowing developers to build better and easy to maintain&migrate code with PHP.
Installation
It's recommended that you use Composer to install Faddle.
This will install Faddle and the only dependency:PHP-PSR. Faddle requires PHP 5.5.0 or newer.
Usage
Create an index.php
file with the following contents:
You may quickly test this using the built-in PHP server:
Going to http://localhost:8000/hello/world will now display "Hello, world".
如何配置
- PHP配置
最开始着手的 PHP 程序都应当配置好的,以下是推荐的配置。
-
服务器配置
Faddle 推荐作为 MVC 模式框架,需要统一入口文件
index.php
。具体配置请参考相关服务器配置说明。Apache 的
.htaccess
配置示例: -
应用配置
最重要的是配置应用的目录和类加载器。以下是示例。
-
视图模板配置
可以自由选择PHP模板引擎如:Smarty 或者 Twig。以下是 Faddle 自带模板引擎的配置。
可以单独写在一个独立配置文件中,只在使用
Faddle\View::make($tpl, $data, $config)
时引入即可。
-
错误处理配置
在应用的事件流中,可以监听错误并进行处理。
默认会使用自带的错误处理方法,以下是自定义方法。
-
其他配置
数据库等配置这里不做介绍。
开始使用
APP
APP 是最先应该建立的对象,该对象仅作为容器,可以依赖并注入其他任何对象或者方法。
APP 的相关代码应该写在单独的文件,如:
app.php
。
- 新建 APP 对象
可选参数:1.应用目录位置,2.配置文件路径
-
注入对象或者变量
-
注入方法函数
以下示例为注入视图模板方法并注册生成开始模板渲染事件。
-
共享运行方法
表示在
$app->run()
时需要执行的方法。添加方法为$app->share(Cloure)
,调用该方法即进入运行栈,栈顺序即表示运行时的加载顺序。
该方法推荐引入其他业务代码文件,因为是在闭包状态下运行的,里面定义的变量不会影响到全局环境。
以下是示例。
-
事件处理
APP 默认有11个事件,分别为:
start
,before
,obtain
,present
,completed
,
error
, notfound
, badrequest
, unavailable
, next
, end
事件仅在 $app->run()
后产生。其中正常会触发的事件有start(开始) before(进入路由) obtain(已匹配) end(结束)
以下示例表示把要输出的内容转换为 JSON 格式
Route 路由
主路由器
默认主路由是 APP 注入的 router 对象。
路由的路径参数说明:
-
/path1/path2:全匹配模式,只有 Uri 的 Path 完全一样才匹配。
-
/post/{id:int}:通用匹配模式,其中
id
为返回给回调的参数名称,int
表示类型,只有是数字时才匹配。 - /post/(?list|list.json):正则匹配模式,具体可参考正则表达式规则。
路由的回调处理函数(或者称为 Controller 控制器的 Action 动作),返回值说明:
-
返回内容(非 null, boolean),表示在回应中输出该内容。
-
返回 null 或没有返回任何内容,则表示不在回应中做输出处理。
-
返回 true,表示回应已做处理,可以输出。
- 返回 false,则表示触发服务不可用错误。
单路由
可以通过 faddle_route()
快速建立一个单路由,再通过 $router->set($route)
配置到路由器中。
以下是建立单路由的参数说明:
-
请求方法,get 或者 post 也可以用数组包含多个。
-
路径,见上方说明。
-
回调函数,可以是任何 callable 类型。或者使用
Controller@Action
这种方式。 -
[可选]名称,表示这个路由的名称,以后可以进行识别。
- [可选]命名空间,当使用的控制器包含命名空间时,可以在这里定义。
路由器 Router 的
get
post
put
等方法返回的也是单路由 Route 对象。
子路由
任何路由器对象都可以通过 group
方法包含子路由器对象(称为蓝图)。
服务路由
可以快速配置多域名路由或多个蓝图。
Middleware 中间件
中间件即为传递请求时需经过的业务处理方法。可在全局路由,单路由,或者匹配路径中进行设置。
View 视图
视图可通过 extend
方法进行扩展。
ViewEngine 视图引擎
Faddle 有自带的视图模板引擎。
进阶使用
详见文档。
Documentation
- Read the wiki documentation
License
The project is developed by KYO and distributed under the MIT LICENSE
Thanks
All Github Open-source Contributor!