Closed codedart2018 closed 3 years ago
有种情况基类定义了一些公共方法,在http类里面相互调用,可以不定义成public到是可以禁止外部访问。但http有时候要通过参数注入到别的类里面去。这个时候不得不把方法定义成公共的。这就会造成路由地址可以访问。通过router.php自己定义到是可以禁用访问。但我每增加一个控制器就会多出很多相同的外部可访问方法。这样去定义很麻烦。希望直接禁止 _或 开头的方法路由访问。也希望Controller.php里的
$forbidList = [ '__hook', '__destruct', '__clone', '__construct', '__call', '__callStatic', '__get', '__set', '__isset', '__unset', '__sleep', '__wakeup', '__toString', '__invoke', '__set_state', '__clone', '__debugInfo', 'onRequest' ];
这些可配置禁止访问。但我个人觉得 __ 打头的方法不论是public还是private一律禁止路由访问是没有毛病的。希望能增加解决下,谢谢。
请定义为保护或者是私有方法
私有依赖注入是无法调用的
有种情况基类定义了一些公共方法,在http类里面相互调用,可以不定义成public到是可以禁止外部访问。但http有时候要通过参数注入到别的类里面去。这个时候不得不把方法定义成公共的。这就会造成路由地址可以访问。通过router.php自己定义到是可以禁用访问。但我每增加一个控制器就会多出很多相同的外部可访问方法。这样去定义很麻烦。希望直接禁止 _或 开头的方法路由访问。也希望Controller.php里的
这些可配置禁止访问。但我个人觉得 __ 打头的方法不论是public还是private一律禁止路由访问是没有毛病的。希望能增加解决下,谢谢。