您的位置:首页 > 其它

Phalcon中使用Router定义路径

2018-04-03 16:01 232 查看
1. 手动定义url
在/var/www/html/book/app/controllers下,构建一个BookController:
<?php

class BookController extends \Phalcon\Mvc\Controller
{

public function indexAction()
{
}

public function addAction(){

echo "Add Page";
}

    public function editAction(){
echo "Edit Page";
}
}

若是正常的访问addAction,一般为:http://localhost/book/book/add现在使用Router去定义新的路由:
打开/public/index.php。
加入以下代码:$router = $di->getRouter(); //$di为FactoryDefault的实例化
$router->add(
"/testRouter/book/add/v1",
array(
"controller" => "book",
"action" => "add"
)
);
$router->handle();此时重新打开浏览器,输入以下url,进行测试:http://localhost/book/testRouter/book/add/v1也可以成功访问。
2. 使用更灵活的router去定义url
假如使用方法1,如果为多个控制器或者多个行为定义url,那么需要重复撰写多行。
phalcon提供一种更灵活的方法:$router = $di->getRouter();
$router->add(
"/testRouter/:controller/:action/v1",
array(
"controller" => 1 ,
"action" => 2
)
);
$router->handle();其中,使用了模糊的概念,1代表路径中定义的第一个参数:controller,2代表路径中的第二个参数:action。意味着此时,我们不再需要为路径去指定固定的controller或者action,比方说:http://localhost/book/testRouter/book/add/v1    //将访问bookController的addAction
http://localhost/book/testRouter/user/edit/v1    //将访问UserController的editAction
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  phalcon Router
相关文章推荐