Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Silverstripe url_处理程序中不运行任何操作和单个变量?_Php_Silverstripe - Fatal编程技术网

Php 如何在Silverstripe url_处理程序中不运行任何操作和单个变量?

Php 如何在Silverstripe url_处理程序中不运行任何操作和单个变量?,php,silverstripe,Php,Silverstripe,我正在做一个项目,它有一个特殊的页面类型,可以检查一个250个字母数字字符串 理想情况下,我希望URL结构的工作方式如下: 但是,使用允许的_操作和url_处理程序的标准方式,只有在字母数字字符串前面加上“uid”才能使其工作- 是否可以让url\u处理程序只处理一个变量而不在自定义页面上执行任何操作?您可以在\u config.php中定义路由而不执行任何操作: 在CheckPage_控制器中,您可以在索引函数中捕获请求: public function index() { var_

我正在做一个项目,它有一个特殊的页面类型,可以检查一个250个字母数字字符串

理想情况下,我希望URL结构的工作方式如下:

但是,使用允许的_操作和url_处理程序的标准方式,只有在字母数字字符串前面加上“uid”才能使其工作-


是否可以让url\u处理程序只处理一个变量而不在自定义页面上执行任何操作?

您可以在\u config.php中定义路由而不执行任何操作:

在CheckPage_控制器中,您可以在索引函数中捕获请求:

public function index() {
    var_dump($this->request->allParams());die;
}

但是您应该知道,add路由捕获所有对/check/where的请求。因此,您需要为其他内容定义一个不同的url。

假设您有一个带有$URLSEMENT“check”的页面类型“CheckPage”,并且一些数据对象处于多个关系中,您可以使用Nightjars扩展来使用这个URLSLAG方法,这非常优雅:

ATM它不是现成的安装模块,而是您可以配置的控制器的扩展

如果您需要任何进一步的帮助,请提供有关您的代码结构的更多信息

Director::addRules(100, array(
    'check/$UID' => 'CheckPage_Controller'
));
public function index() {
    var_dump($this->request->allParams());die;
}