欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ThinkPHP的后缀操作方法配置 罢工了

程序员文章站 2024-02-14 21:19:46
...

我添加了一个方法 list

";
    }
    public function index(){//index()方法  public
//        echo '
Hello Think PHP'; // $config=C('');//读取全部配置项 // dump($config);//dump()是ThinkPHP的函数用来打印变量的 echo "index
"; } public function _after_index(){//定义后置操作 echo "index.after
"; } public function list(){//注意系统关键字会报错 echo "list"; } }

OK报错了
然后去配置后缀

'配置值'
    /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'jike',          // 数据库名
    'DB_USER'               =>  'user',      // 用户名
    'DB_PWD'                =>  '123',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  'jikexueyuan',    // 数据库表前缀
    'LOAD_EXT_CONFIG'       =>  'user,upload',

    /* 应用设定 */
    'ACTION_SUFFIX'         =>  'Action', // 操作方法后缀
);

给系统关键字的方法添加后缀

";
    }
    public function index(){
//        $config=C('');
//        dump($config);
        echo "index
"; } public function _after_index(){ echo "index.after
"; } public function listAction(){ echo "list"; } }

OK我再去打开浏览器
大家思考一下会出现什么情况
对应该是会继续报错
非法操作index
ThinkPHP的后缀操作方法配置  罢工了

但是实际上没有报错非法操作index
而且很正常的运行着
你看前置后置也是正常的???
ThinkPHP的后缀操作方法配置  罢工了
为什么?
怎么和课程有出入
不知道是不是我疏忽了什么
单是我真心仔细检查了都没发现是什么原因
刚入门求解惑

回复内容:

我添加了一个方法 list

";
    }
    public function index(){//index()方法  public
//        echo '
Hello Think PHP'; // $config=C('');//读取全部配置项 // dump($config);//dump()是ThinkPHP的函数用来打印变量的 echo "index
"; } public function _after_index(){//定义后置操作 echo "index.after
"; } public function list(){//注意系统关键字会报错 echo "list"; } }

OK报错了
然后去配置后缀

'配置值'
    /* 数据库设置 */
    'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'jike',          // 数据库名
    'DB_USER'               =>  'user',      // 用户名
    'DB_PWD'                =>  '123',          // 密码
    'DB_PORT'               =>  '3306',        // 端口
    'DB_PREFIX'             =>  'jikexueyuan',    // 数据库表前缀
    'LOAD_EXT_CONFIG'       =>  'user,upload',

    /* 应用设定 */
    'ACTION_SUFFIX'         =>  'Action', // 操作方法后缀
);

给系统关键字的方法添加后缀

";
    }
    public function index(){
//        $config=C('');
//        dump($config);
        echo "index
"; } public function _after_index(){ echo "index.after
"; } public function listAction(){ echo "list"; } }

OK我再去打开浏览器
大家思考一下会出现什么情况
对应该是会继续报错
非法操作index
ThinkPHP的后缀操作方法配置  罢工了

但是实际上没有报错非法操作index
而且很正常的运行着
你看前置后置也是正常的???
ThinkPHP的后缀操作方法配置  罢工了
为什么?
怎么和课程有出入
不知道是不是我疏忽了什么
单是我真心仔细检查了都没发现是什么原因
刚入门求解惑

我想你是不是理解错了:

例如,如果设置:
'ACTION_SUFFIX'=>'Act'
那么访问某个模块的add操作对应读取模块类的操作方法则由原来的add方法变成addAct方法。

意味着你在index后面添加Action和不添加,他都会去找实际控制器里面的index方法,因为入口文件会根据你的方法名称匹配是否存在Action字符串,找不到就会去找这个字符串的名称对应的方法!
这样是避免了特殊命名公用报错的问题

相关标签: php thinkphp