• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-25) 22次浏览 已收录 0个评论
文章目录[隐藏]

<body>

我添加了一个方法 list

<code><?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {//类的名称  继承制 系统的核心累  Controller    public function _before_index(){//定义前置操作        echo "index.before<br />";    }    public function index(){//index()方法  public//        echo '<br />Hello Think PHP';//        $config=C('');//读取全部配置项//        dump($config);//dump()是ThinkPHP的函数用来打印变量的        echo "index<br />";    }    public function _after_index(){//定义后置操作        echo "index.after<br />";    }    public function list(){//注意系统关键字会报错        echo "list";    }}</code>

OK报错了
然后去配置后缀

<code><?phpreturn array(    //'配置项'=>'配置值'    /* 数据库设置 */    'DB_TYPE'               =>  'mysql',     // 数据库类型    'DB_HOST'               =>  'localhost', // 服务器地址    'DB_NAME'               =>  'jike',          // 数据库名    'DB_USER'               =><strong style="color:transparent">本文来源gaodai#ma#com搞@@代~&码*网/</strong><strong>搞gaodaima代码</strong>  'user',      // 用户名    'DB_PWD'                =>  '123',          // 密码    'DB_PORT'               =>  '3306',        // 端口    'DB_PREFIX'             =>  'jikexueyuan',    // 数据库表前缀    'LOAD_EXT_CONFIG'       =>  'user,upload',    /* 应用设定 */    'ACTION_SUFFIX'         =>  'Action', // 操作方法后缀);</code>

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

<code><?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function _before_index(){        echo "index.before<br />";    }    public function index(){//        $config=C('');//        dump($config);        echo "index<br />";    }    public function _after_index(){        echo "index.after<br />";    }    public function listAction(){        echo "list";    }}</code>

OK我再去打开浏览器
大家思考一下会出现什么情况
对应该是会继续报错
非法操作index

但是实际上没有报错非法操作index
而且很正常的运行着
你看前置后置也是正常的???

为什么?
怎么和课程有出入
不知道是不是我疏忽了什么
单是我真心仔细检查了都没发现是什么原因
刚入门求解惑

回复内容:

<body>

我添加了一个方法 list

<code><?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {//类的名称  继承制 系统的核心累  Controller    public function _before_index(){//定义前置操作        echo "index.before<br />";    }    public function index(){//index()方法  public//        echo '<br />Hello Think PHP';//        $config=C('');//读取全部配置项//        dump($config);//dump()是ThinkPHP的函数用来打印变量的        echo "index<br />";    }    public function _after_index(){//定义后置操作        echo "index.after<br />";    }    public function list(){//注意系统关键字会报错        echo "list";    }}</code>

OK报错了
然后去配置后缀

<code><?phpreturn array(    //'配置项'=>'配置值'    /* 数据库设置 */    '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', // 操作方法后缀);</code>

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

<code><?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller {    public function _before_index(){        echo "index.before<br />";    }    public function index(){//        $config=C('');//        dump($config);        echo "index<br />";    }    public function _after_index(){        echo "index.after<br />";    }    public function listAction(){        echo "list";    }}</code>

OK我再去打开浏览器
大家思考一下会出现什么情况
对应该是会继续报错
非法操作index

但是实际上没有报错非法操作index
而且很正常的运行着
你看前置后置也是正常的???

为什么?
怎么和课程有出入
不知道是不是我疏忽了什么
单是我真心仔细检查了都没发现是什么原因
刚入门求解惑

我想你是不是理解错了:

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

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP的后缀操作方法配置 罢工了

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址