Drupal Console 및 Drush로 Drupal 개발 가속화
게시 됨: 2022-02-22우리는 Drupal 8이 어떻게 사용자를 위한 디지털 경험을 현대화했을 뿐만 아니라 Drupal 개발자를 위한 개발 작업을 용이하게 했는지에 대해 광범위하게 작성했습니다. 이 기사에서 우리는 Drupal 코드, 모듈 및 설치 작업 방식을 크게 단순화하고 개선한 Drupal 8/9 유틸리티 도구인 Drupal Console과 Drush에 대해 논의할 것입니다.
드루팔 콘솔이란
Drupal 8의 발전 이후로, 새로운 모듈을 구축하기 위해서는 많은 상용구 코드를 추가할 필요가 있게 되었습니다. 물론 단순히 코드를 복사하여 붙여넣을 수 있지만 반복적으로 수행하면 많은 오류가 발생할 수 있습니다. 괜찮아. 우리는 인간입니다. 다행히도 Drupal 콘솔이 있습니다. CLI(명령줄 인터페이스)에서 실행하는 도구 모음으로 상용구 코드를 자동으로 생성할 수 있습니다. Symfony 콘솔 및 기타 타사 구성 요소를 활용하여 Drupal 8/9 모듈을 구축하는 데 필요한 대부분의 코드를 생성합니다.
드루시란?
Drush(Drupal + Shell)는 Drupal용 원본 CLI 도구입니다. 새로운 Drupal 웹사이트를 쉽게 만들 수 있고 개발 및 관리 작업을 간소화할 수 있습니다. Drush에는 Drupal 설치, 테마, 모듈 등과 상호 작용할 수 있는 구현하기 쉬운 많은 명령이 함께 제공됩니다. Drush로 수행할 수 있는 다른 작업에는 구성 내보내기/가져오기, 캐싱, 기여 모듈 업데이트, 데이터베이스 업데이트 등이 있습니다.
Drush는 Drupal 6/7/8/9와 잘 작동하며 최신 개발 방식의 이점을 제공합니다. 기존 Drupal 모듈을 마이그레이션하는 동안과 새 모듈을 생성하여 생산성을 높이는 동안 개발 시간을 절약하는 데 도움이 됩니다. 이 문서에서 사용자 정의 Drush 명령을 만드는 방법을 알아보세요.
드루팔 콘솔 설치
Drupal 콘솔은 composer, curl, phar 등 다양한 방법으로 설치할 수 있습니다. 다음은 composer를 사용하여 설치하는 예입니다.
작곡가를 통해 전역으로 설치
composer global require drupal/console
사이트별 설치
1. CLI에서 Drupal 사이트로 이동합니다.
cd /path/to/drupal_site
2. composer require 명령을 실행하십시오:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Drush 설치
Drush는 composer, curl, phar 등 다양한 방법으로 설치할 수 있습니다. 다음은 작곡가를 사용하여 설치하는 예입니다.
작곡가를 통해 전역으로 설치
composer global require drush/drush
사이트별 설치
1. CLI에서 Drupal 사이트로 이동합니다.
cd /path/to/drupal_site
2. composer require 명령을 실행하십시오:
composer require drush/drush
Drupal 콘솔 명령 및 사용법
가장 인기 있고 유용한 Drupal 콘솔 명령과 언제 사용할 수 있는지 확인하십시오.
Drupal 디버그 명령
- 테마 작업 중 중단점을 식별하려면:
drupal debug:breakpoints {theme_name}
예: drupal 디버그:중단점 bartik
- 서비스로 작업할 때 서비스의 클래스와 이름을 쉽게 찾으려면:
drupal debug:config:settings
- 고통스럽게 깨진 블록이 있는 경우 실패 지점을 식별하려면 다음을 수행하십시오.
drupal debug:plugin block broken
사용자 정의 모듈 생성
다음 명령을 사용하여 1분 이내에 사용자 지정 모듈을 만듭니다.
drupal generate:module \ --module="modulename" \ --machine-name="modulename" \ --module-path="/modules/custom" \ --description="My Awesome Module" \ --core="8.x" \ --package="Custom" \ --module-file \ --composer \ --test \ --twigtemplate
사용자 정의 양식 생성
사용자 지정 양식 요구 사항은 프로젝트 전반에 걸쳐 매우 일반적입니다. 이 명령으로 사용자 정의 양식을 쉽게 생성:
drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
구성 양식 생성
사용자 지정 양식과 마찬가지로 관리자가 구성한 양식도 필요합니다. 이 명령을 사용하면 쉽게 만들 수 있습니다.
drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
컨트롤러 생성
사용자 정의 양식을 사용하려면 컨트롤러가 필요합니다. 다음 명령으로 사용자 정의 컨트롤러를 쉽게 만들 수 있습니다.
drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
사용자 지정 엔터티 생성
사용자 지정 엔터티를 만드는 데 시간이 많이 걸릴 필요는 없습니다. 이 명령을 사용하면 빠르고 쉽게 만들 수 있습니다.
drupal generate:entity:content \ --module="modulename" \ --entity-class="DefaultEntity" \ --entity-name="default_entity" \ --base-path="/admin/structure" \ --label="Default entity" \ --is-translatable \ --revisionable --has-forms
맞춤 서비스 생성
이 명령은 사용자 지정 서비스를 만드는 데 도움이 됩니다.
drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
사용자와 같은 콘텐츠 만들기:만들기
백엔드에서 사용자를 생성하기 위해 브라우저를 열고 admin으로 로그인한 다음 계정을 생성할 필요가 없습니다. 이 명령을 사용하여 순식간에 사용자를 생성하십시오.
drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
블록과 같은 플러그인 생성
Drupal Console은 또한 블록과 같은 많은 플러그인을 생성할 수 있습니다. 다음은 사용자 정의 블록을 만드는 예입니다.
drupal generate:plugin:block \ --module="modulename" \ --class="DefaultBlock" \ --label="Default block" \ --plugin- \ --theme-region="header" \ --inputs='"name":"inputtext", "type":"text_format", "label":"InputText", "options":"", "description":"Just an input text", "maxlength":"", "size":"", "default_value":"", "weight":"0", "fieldset":""'
더 많은 Drupal 콘솔 명령 및 사용법은 사용 가능한 명령을 확인하십시오.
가장 인기 있는 Drush 명령
드러시 cr | Drupal 캐시를 재구축하려면 |
드러시 씨엠 | 모든 구성 파일을 가져오려면 |
드러시 cex | 구성 파일을 내보내려면 |
드루시 울리 | 일회용 로그인 URL을 사용하여 로그인하려면 |
drush ko {module_name} | 사용자 정의 또는 기여 또는 핵심 모듈을 활성화합니다. |
drush pmu {module_name} | 모든 모듈 비활성화 및 제거 |
drush pm:목록 | 패키지, 모듈 이름, 버전 및 상태가 있는 모든 모듈을 나열합니다. |
drush updb | 업그레이드 후 데이터베이스를 업데이트하려면 |
drush watchdog:목록(ws) | 모든 감시 메시지를 나열합니다. |
drush watchdog:꼬리(wt) | 지속적인 꼬리 감시 메시지 |
drush watchdog:꼬리 --type=php | 특정 심각도 유형의 연속 테일 워치독 메시지 |
몇 가지 더 멋진 Drush 명령
드러시 상태 | 현재 Drupal 설치에 대한 개요를 제공합니다. |
드러시 생성 | Drupal Console과 마찬가지로 drush generate 명령은 엔티티, 플러그인 등을 생성하는 데 도움이 됩니다. |
drush pm:보안 | 보안 업데이트를 위해 Drupal 작곡가 패키지를 확인하려면 |
drush 마이그레이션:상태 | 현재 상태의 모든 마이그레이션을 나열합니다. |
drush 사용자:비밀번호 {사용자 이름} {비밀번호} | 사용자 비밀번호 설정 |
drush 사용자:차단 | 사용자 차단을 돕습니다. |
drush 사용자:역할:추가 | 사용자 역할 추가 지원 |
drush SQL 덤프 | mysqldump 또는 이와 동등한 것을 사용하여 Drupal 데이터베이스를 SQL로 내보냅니다. |