我正在使用Laravel 5.2。我正在为我的项目制作一些包。
在应用程序中,已经有一些模型在应用程序中定义和使用它们。在我正在创建的包中,我想使用该模型,我现在正在通过单独导入来使用它们,例如
use App'User;
use App'Group;
...
因此,对于我必须单独导入的每个不同模型,是否有任何方法可以导入所有模型。这样我就不必单独添加它们。
可悲的是,不,你不能用目前的PHP来做到这一点。它与Laravel无关,但与php内部和语言设计有关。
PHP 7 带来了对命名空间进行分组的可能性,因此您可以执行以下操作:
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;
这仍然与通配符匹配的好处相去甚远,但可能是您喜欢的。