ホームページ  >  記事  >  バックエンド開発  >  Thinkphp 中 path info 方法传入的变量 不能单个字符,为什么呢?

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

WBOY
WBOYオリジナル
2016-06-06 20:06:45997ブラウズ

开始做实验,发现都不行,查了很久,原来 $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默认的一些参数,类似于系统变量。可以到配置文件修改,可以参考楼上的

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。