不要在ThinkPHP控制器方法使用依赖注入了

起步

最近心情有点烦躁,今天被说服务器 500 报错了。检查后发现是前端参数忘传,后台对参数检查当然是理所当然的。但被反复说就有点心情不好了,我再也不会在控制器方法里使用依赖注入了。

经过

控制器代码大致是:

<?php
namespace app\index\controller;
class Index {
    public function hello($name) {
        return 'hello,'.$name;
    }
}

利用依赖注入的方式可以适配 /index.php/index/index/name/tom 本来想着可以简化代码,因为它可以省掉检查 “参数必需” 检查的步骤。但对于地址 /index.php/index/index/name/ 则无法匹配,报 500 的错:

它要是报 404 我还是比较无所谓的,但它报 500 就直接会想着找服务端了。结果也只是通知前端参数没传。我对这种绕圈子挺不适应的。总之就是比较烦躁。

这种写法没能给我带来方便,甚至我无法对 “参数必需” 的校验返回我的错误信息。我决定再也不用这种形式的写法了。我还是在函数里自己校验得了。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章