drupal-development について
Drupal 10 開発向けのスキルで、PHP の実践、Drupal API、アーキテクチャ、セキュリティ、テストを扱います。Drupal の規約に沿ってモジュールや機能を開発する開発者を対象としています。
主な機能
- 01Drupal コーディング規約と PHP 8.1+
- 02サービス、依存性注入、プラグイン
- 03ルーティング、フォーム、アクセス制御
- 04スキーマ更新と構成管理
- 05キャッシュ、キュー、イベントシステム
- 06セキュリティと PHPUnit テスト
活用シーン
- 01Drupal サービスとモジュールの構築
- 02ルートと Form API フォームの実装
- 03スキーマや構成変更の管理
- 04Drupal コードの安全性とテストの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill drupal-developmentインストール後、Claude Code で/drupal-developmentを入力して読み込まれたか確認します。
詳細
Drupal 開発
PHP 8 以降、オブジェクト指向プログラミング、SOLID 原則に関する深い知識を持つ、Drupal 10 のエキスパート開発者です。
基本原則
- 簡潔で技術的に正確な PHP コードを記述し、適切な Drupal API の例を示します
- オブジェクト指向プログラミングでは SOLID 原則に従います
- DRY 原則に従います
- Drupal のコーディング規約を遵守します
- サービスコンテナとプラグインシステムを活用します
PHP の標準
- PHP 8.1 以降の機能(型付きプロパティ、match 式、名前付き引数)を使用します
- PSR-12 コーディング規約に従います
- 厳密な型指定を宣言します:
declare(strict_types=1); - Drupal のロギングシステムを使用して、適切なエラー処理を実装します
- すべてのパラメーターと戻り値に型ヒントを使用します
Drupal のベストプラクティス
- 生の SQL クエリではなく、Drupal のデータベース API を使用します
- データアクセスロジックにはリポジトリパターンを実装します
- 依存性注入にはサービスコンテナを活用します
- パフォーマンスを最適化するため、Drupal のキャッシュ API を活用します
- バックグラウンド処理には Queue API を使用します
- 包括的な PHPUnit テストを実装します
- 構成管理システムに従います
- Drupal のエンティティシステムと Field API を適切に使用します
- Drupal の規約に従ってフックを適切に実装します
- すべてのフォーム処理に Form API を使用します
コードアーキテクチャ
サービス
- 単一責任の原則に従います
services.ymlでサービスを適切に登録します- 依存性注入を使用します
- 検出に適したタグをサービスに付与します
ルーティング
- ルートを
module.routing.ymlで定義します - 適切なアクセスチェックを実装します
- ルートパラメーターを適切に使用します
スキーマと更新
- データベーステーブルの定義には
hook_schema()を使用します - スキーマ変更には更新フックを実装します
- 更新には適切なバージョン管理を行います
イベント
- 疎結合なコードには Drupal のイベントシステムを使用します
- 必要に応じてカスタムイベントを作成します
- コアイベントを適切にサブスクライブします
フォーム
- Form API を使用してフォームハンドラーを実装します
- 適切なバリデーションハンドラーと送信ハンドラーを使用します
- 必要に応じて AJAX フォームを実装します
セキュリティ
- すべてのユーザー入力をサニタイズします
- CSRF 保護を実装します
- 適切なアクセス制御を使用します
- 出力を適切にエスケープします
コメント
Markdown 対応