PhpStorm에서 파일을 만들 때 코드 템플릿을 사용하면 조금 낫습니다 (IntelliJ와 같을 것입니다.)

PhpStorm (IntelliJ 등)에는 Project Tree 등에서 컨텍스트 메뉴를 호출하고 거기에서 지정된 파일을 만드는 기능이 있습니다. (또는 cmd + n)

이런 녀석.



예를 들어, "PHP Class"를 선택하면, 다음과 같은 다이얼로그가 나옵니다.



이 이미지의 예는 laravel 을 사용한 Project 이므로 composer.json 에서 적절하게 NameSpace 등을 읽어들여 사전에 입력이 끝난 상태로 되어 있습니다.

예를 들어 NameHogeController 를 입력하고 OK 를 누르면 다음과 같은 파일이 생성됩니다.
<?php
/**
 * Created by PhpStorm.
 * User: hokutoasari
 * Date: 2019-03-07
 * Time: 12:28
 */

namespace App\Http\Controllers;


class HogeController
{

}


이것은 이것으로 좋지만, Code Template 를 사용하는 것으로, 좀 더 편리하게 됩니다.

Code Template를 설정하고 사용해보기


Preferences -> Editor -> File and Code Templates 를 엽니다.

예를 들어, "PHP Class"를 다음과 같이 편집합니다.


<?php
declare(strict_types=1);
#if (${NAMESPACE})

namespace ${NAMESPACE};

#end

final class ${NAME} {

}

이렇게 하면 조금 cmd + n 에서 "PHP Class"를 선택하여 생성되는 코드가 다음과 같습니다.
<?php
declare(strict_types=1);

namespace App\Http\Controllers;


final class HogeController
{

}

declare(strict_types=1); 를 선두에 넣고, namespace 를 넣고, class 에는 final 수식자를 붙여, 라고 하는 상태에 Code Template 에 지정한 내용에 따라 생성됩니다.

그 밖에도 사용할 수 있는 값이 Code Template 의 설정화면에 쓰여 있으므로, 좋아하는 설정으로 하면 된다.

참고로



덧붙여서, 나는 이하의 설정을 실시하고 있습니다.

PHP 파일
<?php
declare(strict_types=1);



PHP 클래스
<?php
declare(strict_types=1);
#if (${NAMESPACE})

namespace ${NAMESPACE};

#end

final class ${NAME} {

}

PHP 인터페이스
<?php
declare(strict_types=1);
#if (${NAMESPACE})

namespace ${NAMESPACE};

#end
interface ${NAME} {

}

PHP Trait
<?php
declare(strict_types=1);
#if (${NAMESPACE})

namespace ${NAMESPACE};

#end
trait ${NAME} {

}

PHPUnit Test
<?php
declare(strict_types=1);

#if (${NAMESPACE})
namespace ${NAMESPACE};
#end

#if (${TESTED_NAME} && ${NAMESPACE} && !${TESTED_NAMESPACE})
use ${TESTED_NAME};
#elseif (${TESTED_NAME} && ${TESTED_NAMESPACE} && ${NAMESPACE} != ${TESTED_NAMESPACE})
use ${TESTED_NAMESPACE}\\${TESTED_NAME};
#end
use Tests\Unit\TestCase;

final class ${NAME} extends#if(${NAMESPACE}) TestCase #else PHPUnit_Framework_TestCase #end{

}

./tests/Unit/TestCase.php 를 준비해, Unit Test 에 필요할 것 같은 편리 메소드를 여기에 쓰고 있으므로, use Tests\Unit\TestCase; 하고, extends TestCase 가 되도록(듯이) 쓰고 있습니다.

디폴트의 ​​laravel Project 상태라면 use Tests\TestCase; 로 좋지 않을까.


cmd + n 로 표시시켜 상태로, 재밌게 "php"라든지 입력하면 증분 검색이 되어 편리해요.

좋은 웹페이지 즐겨찾기