#install:unzip recess-v0.20.zip to apache DocumentRoot (/var/www/html)#install PHP 5.3.3yum install php53-pdoyum install php53-mysql
Recess是一个开源的,轻量级的RESTful PHP framework;它的应用分为3大块Models、Views和Controllers, 分别和MVC模型对应;
一个application默认放在/apps下面。Recess框架可以同时处理多个应用。在apps下面是应用的子目录,形如:/apps/{appName}/,如:
具体应用的配置appNameApplication.class.php,必须继承框架的Application类
位于框架配置文件recess-conf.php;
具体应用配置需要添加到配置项RecessConf::$applications中
数据库配置为RecessConf::$namedDatabases
默认执行流程,先选择(route)一个控制器(即应用的控制器类)方法执行,然后再选择一个视图view作为响应HTTP的response
1. 控制器Controller负责是指使用哪一个视图view模板。
2. 默认的应用控制器文件为apps/appName/controllers/appNameHomeController.class.php
3. 控制器方法中调用视图$this->ok(‘view-name’)
4. 控制器中的变量,默认会传递给同名的视图
5. 控制器的方法如果没有调用exit,则默认回去调用和方法同名的一个视图view
6. 控制器Controllers可以通过变量来给视图Views传递数据视,如控制器appNameHomeController.class.php中有如下方法modetest:
/** !Route GET,/m */function modetest() { $this->viewdata = 'will pass view modetest';}
则视图modetest.html.php中调用变量viewdata为:
<html><p>this is view</p><?phpprint $viewdata;?></html>
route在控制器里面完成,把接收到的请求URL分发到应用的具体点(控制器的方法)来处理,具体形式是通过route注解来完。route注解RouteAnnotation语法形式为:
/** !Route HTTP-method, URL-path */
有2个参数,第一个HTTP-method是HTTP的方法,如GET, POST, PUT, or DELETE;
第二个参数URL-path是URL路径部分,如果包含”$“符号,则会变成相应方法的参数method parameter
URL-path如果没有,则默认的访问形式appName/methodName
class TestController extends Controller { /** !Route GET */ function index() { echo 'Hello PHP Community!'; exit; } /** !Route GET, /hello/$first/$last */ function aMethod($first, $last) { echo "Hello $first $last!"; exit; }}
和数据操作相关,实现数据库的CRUD操作。通过include到controller控制器中就可以使用
Recess框架自带了帮助工具,可以用来创建和管理应用,其访问路径为http://{$installUrl}/recess/
如果要查看应用的所有RESTful接口,则访问http://{$installUrl}/recess/apps/appNameApplication
The Book of Recess Official Guide to the Recess PHP Framework
Apache mod_rewrite配置