Při práci s PHP se dříve nebo později setkáte s požadavkem na „PHP linter“. Hodí se i pro Codex, Claude Code a další agentní/vibe coding nástroje, které mohou po napsání kódu rovnou ověřit, zda v něm není chyba v syntaxi.
PHP linter není žádný zvláštní program. Je součástí samotného PHP a používá se z příkazové řádky:
php -l soubor.php
Přepínač -l (--syntax-check) podle dokumentace PHP zkontroluje syntaxi, ale kód nespustí. Při úspěchu dostanete například:
No syntax errors detected in soubor.php
Nečekejte od něj ale víc, než umí. Neodhalí chybnou logiku, neexistující funkce, problémy s WordPressem ani nedodržení standardl. Na hlubší kontrolu existují například PHPStan nebo PHP_CodeSniffer.
Pro Codex, Claude Code a podobné nástroje je linter užitečný hlavně proto, že mohou po úpravě PHP rovnou spustit kontrolu. Codex umí spouštět příkazy v pracovním prostředí a totéž platí pro Claude Code. Pokud ale v daném prostředí není dostupný příkaz php, nemají čím PHP syntaxi ověřit.
macOS
Nejjednodušší cesta vede přes Homebrew:
brew install php
A ověření:
php -v
Pokud Homebrew ještě nemáte, viz K čemu je na Mac OS dobrý Homebrew. Jak ho nainstalovat, používat i aktualizovat.
Windows
PHP můžete stáhnout z oficiálních Windows buildů PHP. Pro použití z příkazové řádky stačí x64 Non Thread Safe (NTS) varianta. ZIP rozbalte například do C:\php a adresář přidejte do systémové proměnné PATH, aby fungovalo prosté:
php -v
Podrobnosti jsou v oficiálním návodu pro instalaci PHP ve Windows.
Linux
Záleží na distribuci. V Ubuntu a Debianu pro tento účel stačí CLI varianta:
sudo apt install php-cli
Ubuntu ji přímo uvádí pro spouštění PHP z příkazové řádky. V ostatních distribucích použijte odpovídající PHP/CLI balíček jejich správce balíčků.
Kvůli samotnému linteru nepotřebujete Apache, nginx, MySQL ani lokálně rozběhnutý WordPress. Potřebujete pouze PHP dostupné z příkazové řádky.
A ještě jeden praktický detail: kontrolu provádí ta verze PHP, kterou máte nainstalovanou. Pokud tedy vytváříte kód pro server se starší verzí PHP, je dobré kontrolovat kompatibilitu právě s ní. Úspěšné php -l na novějším PHP ještě neznamená, že stejný kód poběží na výrazně starším serveru.
