- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
flight文档
Flight是什么?
Flight是一个快速,简易,可扩展的PHP框架。Flight能使你快速和轻松地创建RESTful Web应用。
require flight/Flight.php;Flight::route(/, function(){ echo hello world!;});Flight::start();
需求
Flight需要PHP 5.3或更高版本。
License
Flight is released under the?MIT?license.
安装
1.框架下载
如果你在使用Composer,你可以运行如下命令:
composer require mikecao/flight
或者你可以直接下载,之后将Flight框架文件放入你的web目录中。
2. 配置你的web服务器
对于Apache服务器,编辑你的.htaccess文件添加如下内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
对于Nginx服务器,添加如下内容到你的server声明中:
server {
location / {
try_files $uri $uri/ /index.php;
}
}
3. 创建你的index.php文件(示例)
首先引入这个框架。
require flight/Flight.php;
接着定义一个路由并且注册一个函数去处理对应请求。
Flight::route(/, function(){ echo hello world!;});
最后,启动框架。
Flight::start();
路由
Flight中的路由是指将一个URL模式(pattern)匹配到一个回调函数中。
Flight::route(/, function(){ echo hello world!;});
只要能被调用,都可以当做回调函数。所以可以使用一个普通的函数当做回调:
function hello(){ echo hello world!;}Flight::route(/, hello);
也可以是某一个类的方法:
class Greeting { public static function hello() { echo hello world!; }}Flight::route(/, array(Greeting,hello));
如果定义了多个路由,路由依照定义它们的顺序进行匹配。第一个匹配到该请求的路由将被调用。
HTTP METHOD路由
在默认不指定的情况下,路由会对相应请求的所有Method(例如:GET POST PUT DELETE...)进行匹配。你可以通过在URL前面加一个方法标识符的方式来响应指定的Method。
Flight::route(GET /, function(){ echo I received a GET request.;});Flight::route(POST /, function(){ echo I received a POST request.;});
你还可以使用|分隔符来映射多个Method到同一个回调中。
Flight::route(GET|POST /, function(){ echo I received either a GET or a POST request.;});
正则表达式
在路由中你可以使用正则表达式:
Flight::route(/user/[0-9]+, function(){ // 这个将匹配到 /user/1234});
命名参数
你可以在路由中指定命名参数,它们会被传递到你的回调函数里。
Flight::route(/@name/@id, function($name, $id){ echo hello, $name ($id)!;});
你也可以通过使用:分隔符在命名变量中引入正则表达式
Flight::route(/@name/@id:[0-9]{3}, function($name, $id){ // 这个将匹配到 /bob/123 // 但是不会匹配到 /bob/12345});
可选参数
你可以通过将URL段(segments)包在括号里的方式来指定哪些命名参数是可选的。
Flight::route(/blog(/@year(/@month(/@day))), function($year, $month, $
文档评论(0)