Astyle pro PHP rubrika: Programování: PHP

12 Kit
položil/-a 14.10.2015

Občas dostanu kód od někoho, kdo nedodržuje pravidla odsazování či řádkování. V jazycích C++/C/Java/C# je to jednoduché: Použiji program Astyle, jehož výstupy jsou pro mne vyhovující. Chybí mi však něco podobného pro PHP. Zkusil jsem jich už několik, např. PHP_Beautifier 0.1.15, ale již podle čísla verze je jistě patrné, že to ještě nebude to pravé.

Jak řešíte přeformátování zdrojáku v PHP? O samotné odsazení mi nejde (to mi Vim dělá poměrně slušně), ale uvítal bych další úpravy:

  • Automatické generování prázdných řádek mezi třídami a metodami
  • Inteligentní lámání dlouhých řádek
  • Umisťování složených závorek na aktuální či následující řádek (nastavitelné pro třídu/metodu/blok)
  • Vkládání/redukce mezer kolem operátorů a závorek
  • Vkládání mezer za klíčová slova
  • Automatické doplňování chybějících {} u jednopříkazových podmínek/cyklů
  • ...

Nehledám IDE, ale spíš off-line nástroj pro přeformátování všech zdrojáků v adresáři/stromu, případně aby se z toho daly udělat filtry clean/smudge do Gitu a plugin do Vimu.

Ten nástroj by měl být Open Source. Pokud nic vhodného nenajdu, napíši si ho sám :)

Komentáře

  • Taco : Díky za typ na Astyle. +1 za příkladné neNiH. 14.10.2015
odkaz Vyřešeno
6 voda
odpověděl/-a 14.10.2015
 
upravil/-a 14.10.2015

PHP_CodeSniffer má PHP Code Beautifier and Fixer, který umí některé věci ohledně formátování opravit. Pro nastavení základních pravidel doporučuji PHP Coding Standard Generator.

Komentáře

  • Kit : Mám nainstalovaný phpcs 1.5.0RC2, ale ten phpcbf v něm nemohu najít. Je to něco novějšího? 14.10.2015
  • voda : Já mam PHP_CodeSniffer version 2.3.2 (stable) by Squiz (http://www.squiz.net). Pro instalaci bych použil: composer global require "squizlabs/php_codesniffer=*" Nejnovější verze je 2.3.4 14.10.2015
  • Kit : Tak jsem ten starý odstranil a dal tam verzi 2.3.5 (stable). Ještě to bude potřeba trochu vytunit, ale snad to bude ono. Díky. 14.10.2015

Pro plný přístup na Devel.cz se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.