[PHP] Functie om PHP syntax te checken?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedendag,

Ik zoek een functie (of gewoon een manier) om bij voorhand te checken of een php bestand geen syntax fouten bevat. En om nou zelf een PHP functie te schrijven om dat 100% te checken is nogal veel werk.

Dit omdat ik voor een CMS nette fouten wil hebben voor de gebruikers die het gaan gebruiken.

Ik hoop dat jullie me verder kunnen helpen. :)

Groeten,
ZKtaS - Jim

Acties:
  • 0 Henk 'm!

  • flashin
  • Registratie: Augustus 2002
  • Laatst online: 17-12-2023
php syntax check je gewoon met je favoriete editor?

daarnaast waarom zou je willen php'en in een cms :S?

Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 17:55
Je kunt vanaf de commandline 'php -l script.php' runnen om te controleren op syntaxfouten.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nee dit bedoel ik niet. Het kan altijd zo zijn dat opeens een script een fout geeft. (bijv PHP versie update van host)

Maar dan wil ik geen standaart PHP fout, die zijn namelijk zo user-friendly als.. Daarom wil ik zelf me fouten kunnen maken, zodat de gebruiker iets normaals te zien krijgt.

@Mjax,
Dat zou toch wel te doen zijn met exec()?

Acties:
  • 0 Henk 'm!

Verwijderd

De runkit (PECL) extensie bevat de functies [url="http://http://www.php.net/manual/en/function.runkit-lint-file.php"]runkit_lint_file[/url] en runkit_lint deze doen een syntax check op respectivelijk een file of een string met PHP code.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Je wilt voordat de pagina geparsed wordt op de server eerst zelf nog even parsen? Lijkt me een beetje onmogelijk. Je zult je oplossing in een andere richting moeten zoeken. Gelukkig is die er wel. Je kunt namelijk eigen error handlers maken. Hiermee kun je waarschijnlijk de parse fouten niet afvangen, maar dat zijn geen fouten die ineens opduiken doordat er een nieuwe php versie uit is.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@Donkey, dat is een hele mooie functie, echter heb ik geen PECL op mijn host lokatie.

@Janoz, dat ziet er ook heel netjes uit! Ik denk dat dit alles zal doen wat nodig zal zijn! :)

Bedankt voor de hulp iedereen! :)

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Hij wil gewoon een custom error handler; http://nl2.php.net/manual/nl/function.set-error-handler.php

Bij een fout wordt je eigen functie aangeroepen en het type fout, regelnummer endergelijke informatie doorgegeven. Wat je met die gegevens doet, en of en hoe je deze presenteert, heb je vervolgens zelf in de hand.

//Edit
spuit11 :z
Werkt inderdaad niet voor parse-errors, omdat je functie dan niet geparsed wordt, en dus niet bestaad. Maar dergelijke errors zie je direct als je het script een keer uitvoert.

[ Voor 24% gewijzigd door frickY op 03-05-2007 10:43 ]


Acties:
  • 0 Henk 'm!

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Als je een modulair systeem hebt kan syntax checking wel handig zijn op verschillende modules. Vooral als je een nieuwe module zou toevoegen.

[ Voor 20% gewijzigd door eghie op 03-05-2007 12:21 ]


Acties:
  • 0 Henk 'm!

  • mistercash
  • Registratie: Juli 2004
  • Laatst online: 30-10-2024
mss PHPEDIT

Acties:
  • 0 Henk 'm!

Verwijderd

Zet zoiet sboven in je PHP en je kunt ook je parse errors mooi opmaken...of bedoel je dit niet.

PHP:
1
2
3
ini_set('html_errors',false);
ini_set('error_prepend_string',"<div style=\"margin: 2px; padding: 5px; background-color: #F1F1F1; border: 1px solid #FF0000; font-family: arial; font-size: 11px;\"><b>My PHP fatal error</b><hr>\n");
ini_set('error_append_string',"</div>");
Pagina: 1