Подтвердить что ты не робот

Где разместить черты в Laravel 5?

Я использую Laravel 5, и я не совсем понимаю, где размещать файлы признаков в структуре каталогов Laravel 5. Должны ли они существовать в общественных местах, ресурсах или любом другом каталоге?

4b9b3361

Ответ 1

С точки зрения размещения вы должны рассматривать такие черты, как классы. Это означает, что они помещаются в каталог app. Там, где вы размещаете свои черты, зависит от ваших предпочтений и от фактической цели этой черты.

Важно то, что вы настраиваете пространство имен этого признака на структуру каталогов. Например, если ваша черта имеет какое-то отношение к вашим контроллерам, и вы решили поместить ее в папку app/Http/Controllers, убедитесь, что она имеет правильное пространство имен, которое будет:

namespace App\Http\Controllers;

Ответ 2

Я предпочитаю создавать каталог в приложении под названием Traits. Это улучшит читаемость и удобство обслуживания базы кода.

Пример:

namespace App\Traits;

use Exception;
use Illuminate\Http\Request;

    trait myTrait {
    //your code here
    }

Ответ 3

Вы можете разместить черту в любом месте. Но с точки зрения размещения вы должны настроить пространство имен этого признака на структуру каталогов.

Например: вы хотите создать каталог "Черты" Traits >> SayHello.php.

приложение → 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();
        }
  }

Ответ 4

Хранение черт

Для удобства создайте каталог под app с именем Traits и поместите туда мои пользовательские файлы PHP. Каждый файл использует имя Черты для логической корреляции. Используя пространство имен App/Traits в каждом файле, Framework смогла найти мои файлы, когда я use поместил их в другой файл.

Пример кода использования:

<?php
namespace AppJobs;

use App/Jobs/Job;

use App/Traits/ExampleCode;

/**
 *  brief Example code using a Trait in a Laravel "Job"
 */
class AdminLoginJob extends Job implements SelfHandling
{
    use ExampleCode;

    /**
     * Call trait to print something. Note the use of "$this".
     * 
     * @return void
     */
    public function __construct()
    {
        $this->printThis();
    }
   /**
     * Do more stuff here.
     * 
     * @return void
     */
     public function handle()
    {
        // never gets called in this example.
    }
}