Phalcon中使用Router定义路径

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值