门面的概念对我来说是新事物,Laravel用于组织它的结构似乎过于混乱。
new = []
with open ("3ex.txt","r") as f:
for line in f:
stripped = line.strip("\n")
new.append(stripped)
new.sort() #sorts by letter
with open ("3ex.txt","w") as file:
for k in new:
file.write(k + "\n")
app / Facades / Facade.php
app
└───Facades
│ │ Facade.php
│ │
│ └───Classes
│ │ Facade.php
│ │
应用程序/外观/类/Facade.php
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class Facade extends Facade
{
protected static function getFacadeAccessor() {
return 'Facade';
}
}
我想要做的是将这两者结合在一起,所以我只在<?php
namespace App\Facades\Classes;
use Illuminate\Support\Facades\Facade;
class Facade extends Facade
{
// Logic Here
}
中有文件,但是由于Laravel依赖于显示的结构,因此似乎没有办法做到这一点。
是否有任何选择可以将其保存到单个文件中,所以我没有大量重复项?
答案 0 :(得分:1)
使用类的名称空间时,可以在Facades
之前添加前缀。例如,假设您有一个Foo
类:
// app/Foo.php
namespace App;
class Foo
{
public function bar() : string
{
return 'Hello world!';
}
}
然后您可以在控制器中执行此操作:
namespace App\Http\Controllers;
use Facades\App\Foo;
class TestController
{
public function __invoke() : void
{
echo Foo::bar(); // Hello world!
}
}
使用这种方法,您无需“复制”文件。
有关实时外观的更多信息,请访问https://laravel.com/docs/5.8/facades#real-time-facades