我正在开发一些基于主应用程序中的代码的软件包,或者基于在应用程序而不是软件包中编写代码的示例。我一直忘记在各种文件中添加Use View;
或Use Controller;
,并且必须手动检查并将其添加到包中的每个PHP脚本(需要它们)中。
有没有办法自动化这个,所以我只需要在一个包中声明它们一次,或者更好的是让它们传递到主应用程序中的外观?
答案 0 :(得分:1)
我担心没有。
这是因为您的包代码有自己的命名空间,Illuminate核心也是如此。 PHP的use-statements仅基于每个文件。 当您的脚本使用其他命名空间中的类时,您有2个选项。
引用完整命名空间的示例:
<?php
namespace My\Package;
class SomeClass
{
public function doSomething()
{
// reference full namespace
$view = \Illuminate\Support\Facades\View::make('someview');
// or
$view = \View::make
}
}
?>
这似乎是一种不必使用use-statements的方法,但在我看来情况更糟。所以我建议你习惯于添加这些用语。
您应该将其视为最佳实践:这些use-statements清楚地说明了您的类(或文件)的依赖关系。尝试减少这些数量总是更好。