Lint værktøj til PHP
JavaScript har vi jslint til at tjekke ens kode for de værste tåbeligheder.
Findes der noget lignende til PHP?
Jeg mener ikke "php -l", da den kun tjekker syntaksen af den ene fil men ikke for om man fx. bruger uinitialiserede variabler eller for et hav af andre ting som PHP tillader, men som er/kan være en virkelig dårlig ide.
Findes der noget lignende til PHP?
Jeg mener ikke "php -l", da den kun tjekker syntaksen af den ene fil men ikke for om man fx. bruger uinitialiserede variabler eller for et hav af andre ting som PHP tillader, men som er/kan være en virkelig dårlig ide.
Kommentarer6
Hvad skal du dog med det?!
Jeg har ikke hørt om sådan et værktøj. Jeg bruger netbeans, som kan tjekke syntaksfejl on the fly, samt i mindre grad kan checke uhensigtsmæssig kode.
Uinitialiserede variabler
Umiddelbart vil jeg tro dit bedste bud er enten at bruge et IDE med et PHP-plugin der kan give dig begrænset kodetjek -- eller simpelthen skrive din egen.
Hvad skal du dog med
Endnu mere end JavaScript, ja. Men JavaScript har et glimrende værktøj til at holde de værste af den slags væk.
#2
Kender godt til den warning, jeg vil bare kunne tjekke det uden at afvikle scriptet og det er langt fra den eneste fejl som man burde tjekke for. Der er også "skønheder" som variables variable fx.:
$varName = "^hhjgds£½436@";
$$varName = "Hugo";
Hvis man havde et script som jslint bare til PHP, så kunne man have det som commit-hook og nægte dårlig kode i ens repository.
Jeg bruger Komodo IDE
Jeg bruger Komodo IDE som er fint til at syntaxtjekke php. Det findes også i en gratisversion, Komodo Edit. Der findes endda Open Komodo, men jeg har ikke kigget efter hvad det dækker over.
Mht. dit sidste eksempel er det jo fuldt tilladt og i sjældne tilfælde nyttigt.
$varName = "test";
$$varName = "Hugo";
echo $test; // Hugo
Jeg ved ikke om php kan fange dette da jo er tillladt.
Mht. dit sidste eksempel
Præcis, det er tilladt og det er helt utrolig dårlig kode at bruge det feature.
Jeg kan virkelig ikke komme på et eksempel, hvor det er en god ide at bruge det.
Hvis man vil have en global variable med sådan et navn, så brug $GLOBALS, hvis man vil have en get, post, cookie variable, så brug $_GET, $_POST, $_COOKIE eller $_REQUEST. (Og i øvrigt slår register_globals fra).
Jeg fandt en tråd på
http://stackoverflow.com/questions/3601031/is-there-a-good-robust-php-l…