Heim  >  Artikel  >  Backend-Entwicklung  >  Thinkphp 中 path info 方法传入的变量 不能单个字符,为什么呢?

Thinkphp 中 path info 方法传入的变量 不能单个字符,为什么呢?

WBOY
WBOYOriginal
2016-06-06 20:06:45995Durchsuche

开始做实验,发现都不行,查了很久,原来 $a,$b 都是一个字母的,改成 $aa,$bb 行了:

<code>//访问:http://localhost/yb1/index.php/Home/Abcde/test/a/1/b/2
//错误!
class AbcdeController extends Controller {

    public function test($a,$b)
    {
        echo "本次传入的a值是".$a.",b值是".$b;
    }

}</code>
<code>//访问:http://localhost/yb1/index.php/Home/Abcde/test/aa/1/bb/2
//正确!
class AbcdeController extends Controller {

    public function test($aa,$bb)
    {
        echo "本次传入的a值是".$aa.",b值是".$bb;
    }

}</code>

请问这是什么原因?是PHP的规定?,还是thinkPHP的规定?

看什么资料才能知道那些我不知道的坑?

回复内容:

开始做实验,发现都不行,查了很久,原来 $a,$b 都是一个字母的,改成 $aa,$bb 行了:

<code>//访问:http://localhost/yb1/index.php/Home/Abcde/test/a/1/b/2
//错误!
class AbcdeController extends Controller {

    public function test($a,$b)
    {
        echo "本次传入的a值是".$a.",b值是".$b;
    }

}</code>
<code>//访问:http://localhost/yb1/index.php/Home/Abcde/test/aa/1/bb/2
//正确!
class AbcdeController extends Controller {

    public function test($aa,$bb)
    {
        echo "本次传入的a值是".$aa.",b值是".$bb;
    }

}</code>

请问这是什么原因?是PHP的规定?,还是thinkPHP的规定?

看什么资料才能知道那些我不知道的坑?

thinkphp3默认设置了很多单字母变量用于支撑他的URL普通模式访问,比如
segmentfault.com/?m=index&c=goods&a=detail&id=1818

在下面图片中的路径和文件中可以看到,当然这些变量名是可以修改的

Thinkphp 中 path info 方法传入的变量 不能单个字符,为什么呢?

a b是TP url默认的一些参数,类似于系统变量。可以到配置文件修改,可以参考楼上的

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn