在拉拉维尔5哪里放置特征?
我正在使用laravel 5,我对将特征文件放在laravel 5目录结构中的位置感到困惑。 它们应该存在于公共资源还是其他目录中?
就职位而言,你应该像对待类似的特质。 这意味着把它们放在app
目录中。 你在哪里放置你的特质取决于你的喜好和特性的实际目的。
重要的是,您将特质的名称空间调整为目录结构。 例如,如果你的特征与你的控制器有关,你决定把它放在app/Http/Controllers
文件夹中,那么确保它具有正确的名称空间,这将是:
namespace App\Http\Controllers;
你可以把特质放在任何你想要的地方。 但是就放置而言,您应该将特征的名称空间调整为目录结构。
例如:你想创buildTraits目录Traits >> SayHello.php
。
app >> Http >>控制器>>特性>> SayHello.php
<?php namespace App\Http\Controllers\Traits; trait SayHello{ public function hello() { return "Hello"; } }
应用>> Http >>控制器>> HomeController.php
<?php namespace App\Http\Controllers; use App\Http\Requests; use Illuminate\Http\Request; use App\Http\Controllers\Traits\SayHello; class HomeController extends Controller { use SayHello; public function index() { // Called SayHello trait hello method return $this->hello(); } }
我更喜欢在应用程序中创build一个名为Traits的目录。 这将增强代码库的可读性和可维护性。
例:
namespace App\Traits; use Exception; use Illuminate\Http\Request; trait myTrait { //your code here }