Php Phalcon:获取url参数

Php Phalcon:获取url参数,php,phalcon,dispatcher,Php,Phalcon,Dispatcher,我试图用dispatcher直接在控制器中处理GET参数,但结果是NULL <?php use Phalcon\Mvc\Controller; class PostController extends Controller{ public function showAction(){ $year = $this->dispatcher->getParam("year"); var_dump($year); //returns NULL;

我试图用dispatcher直接在控制器中处理GET参数,但结果是
NULL

<?php
use Phalcon\Mvc\Controller;

class PostController extends Controller{

   public function showAction(){
       $year = $this->dispatcher->getParam("year");

       var_dump($year); //returns NULL;
   }
}

调度程序处理路由参数

对于此
$this->dispatcher->getParam(“年”)要工作,您需要在路线中定义“年”:

$router->add('/post/show/{year}', 'Posts::show')->setName('postShow');

如果您的url如下所示:要访问年份,您必须使用
请求

$this->request()->getQuery('year', 'int', 2012);
“年”-查询参数的名称

“int”-消毒


2012-默认值(如果需要)。

您的URL遵循预期的
/[controller]/[action]/[parameter]
格式,因此您只需将
$year
作为传递给
showAction()
的参数:


我做了一些研究,以前见过这个解决方案。这段代码来自phalcon文档:您可以通过以下方式从其名称获取任意参数:使用phalcon\Mvc\Controller;类PostsController扩展控制器{public function showAction(){$year=$this->dispatcher->getParam('year');$postTitle=$this->dispatcher->getParam('postTitle');}}}这是我不明白的一点,他们直接在contollert中使用它。他们在路由中有命名参数。这部分文档中没有显示。请阅读此处的“带名称的参数”部分:您将了解:)我非常感谢您的帮助。我将阅读您提供的文档链接。
<?php
use Phalcon\Mvc\Controller;

class PostController extends Controller{

   public function showAction($year){

       var_dump($year); //returns NULL;
   }
}