← スキル一覧に戻る

php-coding-standards
by nette
Official Claude Code plugins for Nette
⭐ 29🍴 4📅 2026年1月18日
SKILL.md
name: php-coding-standards description: Invoke BEFORE writing PHP code. Provides coding standards and naming conventions.
PHP Coding Standards
Using nette/coding-standard
Install globally using the /install-nette-cs command.
After installation, PHP files are automatically checked when edited. Do not run ecs manually.
General Rules
- Every PHP file must include
declare(strict_types=1) - Use two empty lines between methods for better readability
- Document shut-up operator use:
@mkdir($dir); // @ - directory may already exist - Document weak comparison operators:
// == accept null - Multiple exceptions can be written in a single
exceptions.phpfile - Interface methods don't need visibility as they're always public
- All properties, return values, and parameters must have types
- Final constants don't need types as they're self-evident
- Use single quotes for strings unless containing apostrophes
- Write all code, comments, variables etc. in English only! (even if you communicate with me in chat in Czech)
Naming Conventions
- Avoid abbreviations unless full name is too long
- Use UPPERCASE for two-letter abbreviations, PascalCase/camelCase for longer ones
- Use nouns or noun phrases for class names
- Class names should include both specificity and generality (e.g.,
ArrayIterator) - Use PascalCaps for class constants and enums
- Never use prefixes/suffixes like
Abstract,Interface, orIfor interfaces/abstract classes - PascalCase for classes, camelCase for methods/properties
Formatting
- Use TABS for indentation (Everywhere! V PHP, JS, HTML, CSS/SCSS, NEON, ...)
- Prefer to use single quotes (except for HTML)
- PHP follows Nette Coding Standard (based on PSR-12) with these modifications:
- No space before parentheses in arrow functions:
fn($a) => $b - No blank lines required between different
useimport types - Return type and opening brace on separate lines:
- No space before parentheses in arrow functions:
public function example(
string $param,
array $options,
):
// method body
}
Global Functions and Constants
- Write global functions/constants without leading backslash:
count($arr)not\count($arr) - For compiler-optimizable functions, add
use functionat the file beginning:use Nette; use function count, is_array, is_scalar, sprintf; - Occasionally import constants that may help the compiler:
use const PHP_OS_FAMILY;
Other rules
- Use try/catch for external operations
- Prefer modern PHP syntax and concise expressions
- Example: Use
if (is_array($response['data'] ?? null))instead ofif (isset($response['data']) && is_array($response['data']))
- Example: Use
- Uses DOM API with HTML5 parser Lexbor
- Use named arguments for boolean parameters whose meaning isn't obvious from context (e.g.,
is_a($obj, $class, allow_string: true)), but not when the method name makes it clear (e.g.,setReadonly(true)) - Place interface/base class outside the namespace containing its implementations (e.g.,
Foo\Networknext toFoo\Networks\*, not inside it)
スコア
総合スコア
55/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
レビュー
💬
レビュー機能は近日公開予定です

