Laravel: Eloquent 모델을 위한 phpDoc 속성 생성

안녕 얘들아

우리 모두는 Laravel의 Eloquent가 열, 접근자, 관계 등에 대해 PHP의 매직 메서드(__get & __set)를 사용하고 있다는 것을 알고 있습니다.

개발이 진행되면 특정 Eloquent 모델에 어떤 "속성"을 사용할 수 있는지 알기 어렵습니다. 우리는 열의 이름, 관계 이름을 기억해야 합니다... 큰 고통이군요, IKR?

우리가 얻은 대안은 phpDoc 블록을 사용하고 다음과 같은 속성을 추가하는 것입니다.

/**
* @property-read int $id // column
* @property string $name // column
* @property-read Country|null $country // relationship
* ...
*/
class User extends Model
{


이 방법을 사용하면 매우 IDE 친화적이며(예: PHPStorm) 생산성이 크게 향상됩니다.

근데 수작업이 그렇게 재미없지 않나? 여기 EloquentDocs 생성기가 있습니다.

레포: https://github.com/sethsandaru/eloquent-docs

설치



설치하려면 이 버튼을 누르기만 하면 됩니다. 개발자 전용:

composer require sethphat/eloquent-docs --dev


Laravel 자동 검색이 자동으로 마법을 수행합니다 😉

용법



모델의 속성 보기




php artisan eloquent:phpdoc App\Models\User


쓰기를 수행하기 전에 미리 볼 수 있도록 모든 속성(열, 관계 등)이 표시됩니다.

모델에 속성 쓰기




php artisan eloquent:phpdoc App\Models\User --write


모델에 phpDoc 블록을 씁니다(모델에 이미 phpDoc 블록이 있는 경우 덮어씁니다).

선택적으로 짧은 클래스 이름을 사용하십시오.




php artisan eloquent:phpdoc App\Models\User --short-class

* @property-read App\Models\Country|null $country에서 * @property-read Country|null $country

다음 목표


  • 전체 폴더를 스캔하고 phpDoc 블록을 자동으로 교체하는 기능.
  • Eloquent 모델에 대한 더 많은 도우미/제안 방법을 추가합니다
  • .

    감사합니다. 라라벨과 함께 멋진 생산적인 작업을 하세요!

    좋은 웹페이지 즐겨찾기