How this skill is triggered — by the user, by Claude, or both
Slash command
/lang-php:skills/phpThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
このファイルはPHP開発に特化した設定を定義します。
このファイルはPHP開発に特化した設定を定義します。
最新の安定版バージョンは以下の公式ドキュメントを参照してください:
| 技術 | 公式ドキュメント | 用途 |
|---|---|---|
| PHP | PHP Downloads | バージョン確認・ダウンロード |
| PHP Supported Versions | PHP Supported Versions | サポート状況確認 |
| Slim Framework | Slim Framework | 公式サイト |
| Slim (Packagist) | slim/slim | 最新版・リリース履歴 |
| PHPUnit | phpunit/phpunit | 最新版・リリース履歴 |
| PHPStan | phpstan/phpstan | 最新版・リリース履歴 |
| Monolog | monolog/monolog | 最新版・リリース履歴 |
最新の安定版バージョンは上記の公式ドキュメントリファレンスで確認してください。
src/
├── Controllers/ # コントローラー
├── Models/ # データモデル
├── Services/ # ビジネスロジック
├── Helpers/ # ヘルパー関数
└── Config/ # 設定
public/ # 公開ディレクトリ
├── index.php # エントリーポイント
├── css/
├── js/
└── images/
vendor/ # Composerパッケージ
tests/ # テストコード
composer.json # 依存関係定義
phpunit.xml # PHPUnit設定
{
"name": "company/project",
"description": "PHP Application",
"type": "project",
"require": {
"php": "^8.3",
"monolog/monolog": "^3.0",
"slim/slim": "^4.0",
"slim/psr7": "^1.0",
"ext-pdo": "*",
"ext-pdo_mysql": "*",
"ext-pdo_oci": "*"
},
"require-dev": {
"phpunit/phpunit": "^11.0",
"phake/phake": "^4.0",
"phpstan/phpstan": "^2.0",
"squizlabs/php_codesniffer": "^3.0",
"friendsofphp/php-cs-fixer": "^3.0"
},
"comment": "最新版は公式ドキュメントリファレンスのPackagistリンクで確認してください(参考値: 2025年12月時点)",
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
}
}
// config/database.php
return [
'mysql' => [
'dsn' => 'mysql:host=localhost;dbname=app;charset=utf8mb4',
'username' => 'root',
'password' => 'password',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]
],
'oracle' => [
'dsn' => 'oci:dbname=//localhost:1521/ORCL;charset=AL32UTF8',
'username' => 'app_user',
'password' => 'password',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]
]
];
use Monolog\Logger;
use Monolog\Handler\RotatingFileHandler;
use Monolog\Formatter\LineFormatter;
class LoggerFactory
{
public static function create(string $name = 'app'): Logger
{
$logger = new Logger($name);
// 日別ローテーション
$handler = new RotatingFileHandler(
__DIR__ . '/logs/app.log',
30, // 30日間保持
Logger::INFO
);
$formatter = new LineFormatter(
"[%datetime%] %channel%.%level_name%: %message% %context%\n",
'Y-m-d H:i:s'
);
$handler->setFormatter($formatter);
$logger->pushHandler($handler);
return $logger;
}
}
グローバルセキュリティポリシーを参照してください。
// セキュリティ例
// 入力検証
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
// CSRFトークン生成
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
// パスワードハッシュ化
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
use PHPUnit\Framework\TestCase;
use Phake;
class UserServiceTest extends TestCase
{
private $userRepository;
private $logger;
private $userService;
protected function setUp(): void
{
$this->userRepository = Phake::mock(UserRepository::class);
$this->logger = Phake::mock(\Monolog\Logger::class);
$this->userService = new UserService(
$this->userRepository,
$this->logger
);
}
public function testCreateUser(): void
{
// テスト実装
Phake::when($this->userRepository)->create($userData)
->thenReturn(['id' => 1] + $userData);
$user = $this->userService->create($userData);
Phake::verify($this->userRepository)->create($userData);
Phake::verify($this->logger)->info('User created', Phake::anyParameters());
}
}
# Composer
composer install
composer require phake/phake --dev
composer require monolog/monolog
# テスト
./vendor/bin/phpunit
./vendor/bin/phpunit --coverage-html coverage
./vendor/bin/phpstan analyse
# コード整形
./vendor/bin/php-cs-fixer fix
./vendor/bin/phpcs --standard=PSR12 src/
npx claudepluginhub sk8metalme/ai-agent-setup --plugin lang-phpBuilds PHP 8.3+ applications with Laravel/Symfony, strict typing, PHPStan level 9, and PSR standards. Creates typed DTOs, controllers, migrations, tests, and REST/GraphQL APIs.
Builds PHP 8.3+ applications with Laravel or Symfony, enforcing strict typing, PHPStan level 9, PSR standards, and async patterns. Scaffolds controllers, migrations, DTOs, tests, and REST/GraphQL APIs.
Guides PHP Composer for dependency management, PSR-4 autoloading setup, package creation, version constraints, and modern project organization patterns.