我使用的是Laravel 5.2。 我正在为我的项目制作一些包。
在App中,有些模型已经在应用程序中定义和使用它们。 在我正在创建的包中,我想使用那些模型,我现在正在通过单独导入来使用它们,如
use App\User;
use App\Group;
...
因此,对于我必须单独导入的每个不同模型,有什么方法可以导入所有模型。所以我不必单独添加它们。
答案 0 :(得分:4)
可悲的是,不,你现在无法用PHP做到这一点。它与Laravel无关,但与php内部和语言设计无关。
PHP 7 带来了grouping namespaces的可能性,因此您可以执行以下操作:
use App\{User, Group, OtherClass};
而不是在自己的行上列出每个use
语句,但到目前为止,使用通配符仍然是未完成的请求。
在他的博客文章中,Dayle Rees提出了一个解决此限制的聪明技巧(此处:http://daylerees.com/php-namespaces-explained/),即使用“父”命名空间并从中实例化子类。
从链接页面右转:
use Dayle\Blog as Cms;
$post = new Cms\Content\Post;
$page = new Cms\Content\Page;
$tag = new Cms\Tag;
这远远不是通配符匹配所带来的好处,但可能符合您的喜好。