Phalcon:获取 url 参数
Phalcon: get url params
我正在尝试使用调度程序直接在控制器中处理 GET 参数,但结果是 NULL
。
<?php
use Phalcon\Mvc\Controller;
class PostController extends Controller{
public function showAction(){
$year = $this->dispatcher->getParam("year");
var_dump($year); //returns NULL;
}
}
我的url就像http://example.com/post/show/2015
我也试过了:
http://example.com/post/show?year=2015
http://example.com/post/show/year/2015
我该怎么做?
Dispatcher 处理路由参数。
要使 $this->dispatcher->getParam("year");
正常工作,您需要在路线中定义 "year":
$router->add('/post/show/{year}', 'Posts::show')->setName('postShow');
如果您的 url 如下所示:http://example.com/post/show?year=2015 要访问年份,您必须使用 Request
class.
$this->request()->getQuery('year', 'int', 2012);
'year' - 查询参数名称;
'int' - 消毒;
2012 - 默认值(如果需要)。
您的 URL 遵循预期的 /[controller]/[action]/[parameter]
格式,因此您需要做的就是将 $year
作为传递给 showAction()
的参数:
<?php
use Phalcon\Mvc\Controller;
class PostController extends Controller{
public function showAction($year){
var_dump($year); //returns NULL;
}
}
我正在尝试使用调度程序直接在控制器中处理 GET 参数,但结果是 NULL
。
<?php
use Phalcon\Mvc\Controller;
class PostController extends Controller{
public function showAction(){
$year = $this->dispatcher->getParam("year");
var_dump($year); //returns NULL;
}
}
我的url就像http://example.com/post/show/2015
我也试过了:
http://example.com/post/show?year=2015
http://example.com/post/show/year/2015
我该怎么做?
Dispatcher 处理路由参数。
要使 $this->dispatcher->getParam("year");
正常工作,您需要在路线中定义 "year":
$router->add('/post/show/{year}', 'Posts::show')->setName('postShow');
如果您的 url 如下所示:http://example.com/post/show?year=2015 要访问年份,您必须使用 Request
class.
$this->request()->getQuery('year', 'int', 2012);
'year' - 查询参数名称;
'int' - 消毒;
2012 - 默认值(如果需要)。
您的 URL 遵循预期的 /[controller]/[action]/[parameter]
格式,因此您需要做的就是将 $year
作为传递给 showAction()
的参数:
<?php
use Phalcon\Mvc\Controller;
class PostController extends Controller{
public function showAction($year){
var_dump($year); //returns NULL;
}
}