php Recess framework入门

Recess安装:

#install:unzip  recess-v0.20.zip to apache DocumentRoot (/var/www/html)
#install PHP 5.3.3
yum install php53-pdo
yum install php53-mysql

Recess框架介绍

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

Controllers和Views:

默认执行流程,先选择(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>
<?php
print $viewdata;
?>
</html>

路由route及路由注解:

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;
    }
}

Model模型

和数据操作相关,实现数据库的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配置

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。