在拉拉维尔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 }