AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte PHP Inspection Unit
Thema durchsuchen
Ansicht
Themen-Optionen

PHP Inspection Unit

Ein Thema von mirage228 · begonnen am 1. Nov 2004 · letzter Beitrag vom 19. Aug 2007
Antwort Antwort
Seite 4 von 14   « Erste     234 56     Letzte »    
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Re: PHP Inspection Unit

  Alt 21. Nov 2004, 20:24
Abend,

so die neue Version (1.6) ist nun fertig.

Hier ist der Changelog:
  • Wie gewünscht habe ich eine Klasse TPHPIncludeFile für Includes genommen
  • TPHPClass ist nun Nachfahre von TPHEntity
  • Nur Code in PHP-Tags (<? ... ?>) wird geparsed
  • Bei Interfaces wird nun auchgeprüft, ob diese auskommentiert sind, bevor alles eingelesen wird
  • AnsiCompareStr() Aufrufe durch direkte Stringvergleiche ersetzt (schneller)
  • Neue Eigenschaften Head und Body in TPHPMethod
  • Eigenschaften BeginBracket und EndBracket für TPHPMethod, TPHPClass und TPHPInterface
  • Der Methodenkörper mit dem Code wird nun auch geparsed, um den Anfang und Ende der Methode bestimmen zu können. Diese Option kann bei Bedarf über den Compilerschalter $PARSEMETHODBODY deaktiviert werden.
  • Jeder TPHPEntity Nachfahre hat nun die Eigenschaft Parent vom Typ TPHPClass. Dadurch kann man einfach herausfinden, wozu z.B. eine Methode gehört. Methoden ohne Klassenbezug haben die TPHPSource Instanz als Parent, da dieser auch von TPHPClass abgeleitet ist, sowie die Klassen und Interfaces selbst.
  • Einige Code- und Geschwindigkeitsoptimierungen

In der/den nächsten Version(en) wird es noch PHPDoc Support geben (mal schaun, wie sich das machen lässt) und ich werde versuchen Variablen im Source erkennen zu lassen.

Downloads gibts, wie gehabt, im ersten Beitrag

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
DSeven

Registriert seit: 13. Aug 2003
114 Beiträge
 
#2

Re: PHP Inspection Unit

  Alt 22. Nov 2004, 15:31
Guten Tag,

Danke für den neuen Release.
Aber wie es aussieht hast du ihn vorher nicht getestet?

Ich bekomme wenn ich den Namen einer funktion abrufe nicht den Namen sondern alles samt body.
Außerdem wenn ich über den Schalter das mit dem Body einlesen abschalte bekomme ich ein paar fehler das variablen fehlen und so.

Solltest einen Bug Fix machen. ah und noch was bei meinen Interfaces liest er jetzt nicht mal die funktionen ein.

mfg,
DSeven
Die Freie Entwicklungsumgebung für PHP
Symtec Development Studio
auf http://www.nostalb.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: PHP Inspection Unit

  Alt 22. Nov 2004, 15:59
Zitat von DSeven:
Guten Tag,

Danke für den neuen Release.
Aber wie es aussieht hast du ihn vorher nicht getestet?

Ich bekomme wenn ich den Namen einer funktion abrufe nicht den Namen sondern alles samt body.
Außerdem wenn ich über den Schalter das mit dem Body einlesen abschalte bekomme ich ein paar fehler das variablen fehlen und so.

Solltest einen Bug Fix machen. ah und noch was bei meinen Interfaces liest er jetzt nicht mal die funktionen ein.

mfg,
DSeven
Hi,

oh, sorry, das sind mir wohl ein paar Fehler unterlaufen

Einmal hatte ich den Schalter falsch herum gemacht und einmal hatte ich in einem Konstruktor (bei deaktiviertem Schalter) den ersten Parameter vergessen.
Das mit den Interfaces war ein kleiner Folgefehler, der zu Folge hatte, dass der Text bereits in einem übergeordnetem Konstruktor gesetzt wurde, ohne dabei jedoch zu parsen. Und beim Setzen über die property hat das dann nicht funktioniert, weil die Texte ja "gleich" waren. Ich hab das mal gelöst, indem beim Konstruktor von TPHPClass auf jeden fall ParseEntity aufgerufen wird.
Das mit dem Abrufen des Funktionsnamen konnte ich nicht nachvollziehen. Bei mir gibt TPHPMethod.Name immer einen korrekten Wert zurück

Auf jeden Fall sind die Fehler behoben - Downloads gibts gleich ab sofort im ersten Beitrag

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
DSeven

Registriert seit: 13. Aug 2003
114 Beiträge
 
#4

Re: PHP Inspection Unit

  Alt 22. Nov 2004, 21:43
Zitat von mirage228:
Das mit dem Abrufen des Funktionsnamen konnte ich nicht nachvollziehen. Bei mir gibt TPHPMethod.Name immer einen korrekten Wert zurück

Auf jeden Fall sind die Fehler behoben - Downloads gibts gleich ab sofort im ersten Beitrag

mfG
mirage228
Guten Tag,

Danke für den schnellen Fix.
Ja und das mit den Funktionen hast du recht Ich habe statt Name immer Occurence benutzt Also mein fehler.

mfg,
DSeven
Die Freie Entwicklungsumgebung für PHP
Symtec Development Studio
auf http://www.nostalb.de
  Mit Zitat antworten Zitat
DSeven

Registriert seit: 13. Aug 2003
114 Beiträge
 
#5

Re: PHP Inspection Unit

  Alt 22. Nov 2004, 21:50
Guten Tag,

Also wenn der {$DEFINE PARSEMETHODBODY} Flag gesetzt ist zeigt er mir die Interface funktionen nicht an, wenn er nicht gesetzt ist werden sie angezeigt.

mfg,
DSeven
Die Freie Entwicklungsumgebung für PHP
Symtec Development Studio
auf http://www.nostalb.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: PHP Inspection Unit

  Alt 23. Nov 2004, 09:03
Zitat von DSeven:
Guten Tag,

Also wenn der {$DEFINE PARSEMETHODBODY} Flag gesetzt ist zeigt er mir die Interface funktionen nicht an, wenn er nicht gesetzt ist werden sie angezeigt.

mfg,
DSeven
Hi,

bei mir werden Interface Funktionen in jedem Fall erkannt. Wie sieht denn Deine Deklaration aus?
Ah, hab den Fehler! Der sucht versehentlich nun auch bei Interface nach den {} !

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: PHP Inspection Unit

  Alt 23. Nov 2004, 09:54
Hi,

so das ist nun auch behoben.
Ich habe mal ein paar Beispiele aus der PHP Doku ausprobiert und es scheint wirkich alles zu gehen

Die aktualisierten Downloads befinden sich im ersten Beitrag

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
DSeven

Registriert seit: 13. Aug 2003
114 Beiträge
 
#8

Re: PHP Inspection Unit

  Alt 23. Nov 2004, 12:14
Guten Tag,

Ja jetzt geht es wirklich.
Habe aber nebenher was neues gefunden was zu bemengeln ist.

Undzwar parst dein Parser nur Code der zwischen <? ?> steht aber es gibt durchaus programmierer die nur einen anfangs Tags <? setzen und denn ende Tag nicht und mich würde es freuen wenn er alles nach <? parst auch wenn der Tag nicht geschlossen wurde.

mfg,
DSeven
Die Freie Entwicklungsumgebung für PHP
Symtec Development Studio
auf http://www.nostalb.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#9

Re: PHP Inspection Unit

  Alt 23. Nov 2004, 12:20
Zitat von DSeven:
Habe aber nebenher was neues gefunden was zu bemengeln ist.

Undzwar parst dein Parser nur Code der zwischen <? ?> steht aber es gibt durchaus programmierer die nur einen anfangs Tags <? setzen und denn ende Tag nicht und mich würde es freuen wenn er alles nach <? parst auch wenn der Tag nicht geschlossen wurde.
Hm, ist eigentlich syntaktisch nicht korrekt, aber selbst PHP.exe scheint es so zu akzeptieren
Na, dann werde ich das noch einbauen - in Form eines Parameters, wie "StrictPHPTagCheck" oder so.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#10

Re: PHP Inspection Unit

  Alt 23. Nov 2004, 21:00
Abend,

so ich habe in der neuen Version 1.7 noch ein paar Dinge ergänzt - neben Deinem Vorschlag, DSeven

Was sich geändert hat:
  • Über die Eigenschaft StrictPHPTagCheck von TPHPSource kann das Verhalten beim Verarbeiten von nicht geschlossenen PHP-Tags beeinflusst. Ist der Parameter = FALSE werden auch nicht geschlossene Tags akzeptiert, was bei gemischten (HTML/PHP) Dokumenten möglicherweise zu falschen Ergebnissen führt. Ist der Parameter = TRUE werden nur syntaktisch korrekte Dokumente akzeptiert.
  • Die Eigenschaft VarName von TPHPVariable war fehlerhaft, falls die Variable mit einem Wert initialisert wurde.
  • Methoden in Klassen werden nun mit TPHPClassMethod dargestellt. TPHPMethod ist vorwiegend für Methoden ohne Klassenbezug, da diese keine Abstrakten und Finalen oder Statischen Funktionen erlauben und somit einen einfacheren RegEx benötigen. Das wirkt sich positiv auf die Parsing Zeit aus
  • Methoden in Interfaces werden durch die Klasse TPHPInterfaceMethod dargestellt.
  • Eigenschaft IsStatic für TPHPClassMethod und TPHPVariable.

Ich habe diesmal etwas ausführlicher getestet, um Fehler zu vermeiden. Falls ich doch noch Fehler gemacht haben sollte -> Immer her damit

Downloads gibts, wie immer , im ersten Beitrag.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 14   « Erste     234 56     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz