Tencent / Biny

Biny is a tiny, high-performance PHP framework for web applications
BSD 3-Clause "New" or "Revised" License
1.69k stars 258 forks source link

添加namespace后,自动加载类失败 #43

Closed hecomlilong closed 7 years ago

hecomlilong commented 7 years ago

比如我在controller文件夹下面添加一个文件夹client, 然后在client文件夹下创建一个customerAction类customerAction.php 并继承baseAction, 文件最上面写namespace app\controller\client; 并且加上use app\controller\baseAction 例如 <?php namespace app\controller\client; defined('ASSESS_BASE_PATH') OR exit('No direct script access allowed'); use TXApp; use biny\lib\TXSingleCond; use app\controller\baseAction

class customerClientAction extends baseAction { public function action_login() { } }

在这种情况下路由到customerClient/login会出autoload错误。

billge1205 commented 7 years ago

contrller下的目录都是虚拟目录 只是方便开发者管理自己的文件而使用的 所有的action都统一用了app\controller 作为 命名空间 当然也需要注意一点 不同目录下的类名也是不能重复的 service / dao / model 几个目录也一样

hecomlilong commented 7 years ago

之前还以为是支持命名空间的。

billge1205 commented 7 years ago

其实在自动构建autoload的时候是可以支持自定义namespace的 但比较耗性能 之后会想办法优化支持的 请关注后续更新

hecomlilong commented 7 years ago

好的。