私はlaravel 5を使用していますが、特性ファイルをlaravel 5ディレクトリ構造に配置する場所について混乱しています。他のディレクトリ?
配置に関しては、特性をクラスのように扱う必要があります。これは、それらをapp
ディレクトリ内に配置することを意味します。特性をそこに配置する場所は、好みと特性の実際の目的によって異なります。
重要なのは、特性の名前空間をディレクトリ構造に合わせて調整することです。たとえば、トレイトがコントローラーと関係があり、app/Http/Controllers
フォルダー内に配置することにした場合、正しい名前空間があることを確認してください。
namespace App\Http\Controllers;
アプリにTraitsというディレクトリを作成することを好みます。これにより、コードベースの可読性と保守性が向上します。
例:
namespace App\Traits;
use Exception;
use Illuminate\Http\Request;
trait myTrait {
//your code here
}
例:Traitsディレクトリを作成したいTraits >> SayHello.php
。
<?php
namespace App\Http\Controllers\Traits;
trait SayHello{
public function hello()
{
return "Hello";
}
}
<?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();
}
}