Muh*_*war 50 php traits laravel-5
我正在使用laravel 5,我对在laravel 5目录结构中放置traits文件的位置感到困惑.它们是否应该存在于公共,资源或任何其他目录中?
luk*_*ter 63
在安置方面,你应该像对待类一样对待特征.这意味着将它们放在app
目录中.您在哪里放置您的特征取决于您的偏好和特征的实际目的.
重要的是您将特征的名称空间调整为目录结构.例如,如果您的特征与控制器有关,并且您决定将其放在app/Http/Controllers
文件夹中,那么请确保它具有正确的命名空间,即:
namespace App\Http\Controllers;
Run Code Online (Sandbox Code Playgroud)
Use*_*456 12
我更喜欢在应用程序中创建名为Traits的目录.这将增强代码库的可读性和可维护性.
例:
namespace App\Traits;
use Exception;
use Illuminate\Http\Request;
trait myTrait {
//your code here
}
Run Code Online (Sandbox Code Playgroud)
例如:您要创建一个Traits目录Traits >> SayHello.php
。
<?php
namespace App\Http\Controllers\Traits;
trait SayHello{
public function hello()
{
return "Hello";
}
}
Run Code Online (Sandbox Code Playgroud)
<?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();
}
}
Run Code Online (Sandbox Code Playgroud)