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 3 von 14     123 4513     Letzte »    
DSeven

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

Re: PHP Inspection Unit

  Alt 16. Nov 2004, 15:06
Guten Tag,

So habe bei mir das ganze auf VirtualTree umgestellt hier die Speed Ergebnisse:
400~ KB Datei:
VirtualTree: 50~ ms
TreeView: 1400~ ms

Also ist deutlich.
Also dein Parser ist schon gut, aber wenn du noch mehr optimieren könntest würde ich mich freuen. Aber für den normalen gebrauch ist es natürlich schon mehr als geeignet.

PS: Und das mit dem genauso schnell wie PHPEdit nehme ich zurück.
Dein Parser ist viel schneller. Habe es mit der 400 KB Datei getestet.
PHPEdit: 1 Minute und 40 Sekunden
Deiner: 900~ ms

Also PHPEdit kan einpacken. Obwohl PHPEdit weniger parst. Zum Beispiel parst es keine Interaces. Und public, private und so weiter interessiert den auch nicht. Ich glaube aber eher das liegt dadran das er noch variablen parst und das brauch zeit.
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
 
#2

Re: PHP Inspection Unit

  Alt 16. Nov 2004, 21:30
Guten Tag,

Habe zwei Fehler im Parser gefunden. Währe nett wenn du sie beseitigen könntest:

1. Wenn ich folgenden Text in einer Datei stehen habe:
remember to include detailed reproduction steps and a stack trace if you have one. You can also submit other feedback;

Dan parst er ihn und fügt einen eintrag ins Treeview ein das er eine include gefunden hat die dann bis zum ; Symbol geht.

2. Es währe nett wenn dein Parser nur PHP Code parsen würde.
Also erstmal prüft ob das was er parst in den Tags <? ?> drin ist.

Ah und noch ein kleiner Verbesserungsvorschlag:
Ich fände es ziemlich geil wenn du bei klassen, funktionen und interfaces noch zwei Variablen machst.
StartBracket und endBracket oder so. Die mir die Position von den Klammern sagen.

Hoffe ich nerve dich nicht alzusehr.

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 17. Nov 2004, 05:59
Hi,

erstmal Danke für das positive Feedback bzgl. der Geschwindigkeit

Nun zu deinen Fragen / Wünschen :

Zitat:
währe es eigentlich möglich ohne viel Zeit zu verlieren auch Variablen zu parsen die keinen klassen bezug haben wie in PHPEdit? Währe das letzte Feature was ich vermisse.
Hi,
ich kann versuchen das einzubauen. Wie sich das aber auf die Geschwindigkeit auswirken wird, kann ich dir im vorraus nicht sagen...

Zitat:
PHPDoc support währe auch klasse.
In welcher Weise sollte der sich äußern?

Zitat:
1. Wenn ich folgenden Text in einer Datei stehen habe:
remember to include detailed reproduction steps and a stack trace if you have one. You can also submit other feedback;

Dan parst er ihn und fügt einen eintrag ins Treeview ein das er eine include gefunden hat die dann bis zum ; Symbol geht.
Wenn das nicht in einem Kommentar steht, ist das ja auch kein Wunder da der RegEx nach "inlclude <egal welche zeichen>;" sucht.
Das war für mich am einfachsten, da ich sonst alle Fälle hätte durchlaufen müssen (mal mit Klammer, mal ohne, mal mit Anführungszeichen, mal ohne. Dann werde ich mir diesbezüglich was einfallen lassen...

Zitat:
2. Es währe nett wenn dein Parser nur PHP Code parsen würde.
Also erstmal prüft ob das was er parst in den Tags <? ?> drin ist.
Oh, wo Du das gerade sagst Das wäre ne gute Idee!
(Ließe sich damit evtl. auch Problem 1 lösen?)

Zitat:
Ich fände es ziemlich geil wenn du bei klassen, funktionen und interfaces noch zwei Variablen machst.
StartBracket und endBracket oder so. Die mir die Position von den Klammern sagen.
Bei Klassen ist das kein Problem, weil sowieso der gesamte Body ({ ... }) geparsed wird. Bei Funktionen müsste ich das dann noch nachholen, weil in diesen bisher nur der Kopf ("function x()") geparsed wird.

Dann muss ich halt schauen, wie sich das ganze auf die Geschwindigkeit auswirkt - aber extreme Verluste wird es wohl nicht geben.

Zitat:
Hoffe ich nerve dich nicht alzusehr.
Keineswegs

mfG
mirage228

P.S.:
Zitat von Pr0g:
Ich werde mich mal umschauen, ob ich eine passenden Lib finden kann.
Ok, Danke - Wenn Du was Gutes (und Schnelles? ) gefunden hast, melde Dich einfach
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 17. Nov 2004, 07:58
Zitat von mirage228:
Zitat:
währe es eigentlich möglich ohne viel Zeit zu verlieren auch Variablen zu parsen die keinen klassen bezug haben wie in PHPEdit? Währe das letzte Feature was ich vermisse.
Hi,
ich kann versuchen das einzubauen. Wie sich das aber auf die Geschwindigkeit auswirken wird, kann ich dir im vorraus nicht sagen...
Sollte aber auschaltbar sein falls es zu langsam ist.

Zitat von mirage228:
Zitat:
PHPDoc support währe auch klasse.
In welcher Weise sollte der sich äußern?
Also er soll die PHPDocs Tags parsen und dann der Funktion klasse hinzufügen oder so.
Man kann ja mit PHPDoc zum Beispiel beschreibungen für Funktionen erstellen. Und der parser sollte der funktion dann diese Beschreibung hinzufügen.


Zitat von mirage228:
Zitat:
2. Es währe nett wenn dein Parser nur PHP Code parsen würde.
Also erstmal prüft ob das was er parst in den Tags <? ?> drin ist.
Oh, wo Du das gerade sagst Das wäre ne gute Idee!
(Ließe sich damit evtl. auch Problem 1 lösen?)
Glaube schon

Also das wichtigste für mich ist erstmal eigentlich das er nur ziwschen den Tags <? ?> parst. Das ist mir sehr wichtig, das andere ist nicht so wichtig.

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

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#5

Re: PHP Inspection Unit

  Alt 17. Nov 2004, 13:14
Ich kenne mich mit regulären Ausdrücken nicht so gut aus, hier mal ein Link: Link. Es ist eine Komponente, die reguläre Ausdrücke nach Perl 5 unterstützt.

Vielleicht kannst du dir den Link mal angucken und mir sagen, ob deine Unit damit funktionieren könnte. Falls ja, du aber bei deiner Dll Variante bleiben willst, kann ich versuchen deinen Code auf die Komponente umzuschreiben?
  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 17. Nov 2004, 13:19
Zitat von Pr0g:
Ich kenne mich mit regulären Ausdrücken nicht so gut aus, hier mal ein Link: Link. Es ist eine Komponente, die reguläre Ausdrücke nach Perl 5 unterstützt.

Vielleicht kannst du dir den Link mal angucken und mir sagen, ob deine Unit damit funktionieren könnte. Falls ja, du aber bei deiner Dll Variante bleiben willst, kann ich versuchen deinen Code auf die Komponente umzuschreiben?
Hi,

Danke für Deinen Mühen. Leider ist die Komponente kommerziell und selbst die "Freeware" Version hat eine sehr nervige Einschränkung:
Zitat:
A small reminder pops up only when you run your application outside the Delphi IDE.
Daher kommt eine Verwendung für mich zumindest nicht in Frage...
[edit]Wenn Du diese, oder eine andere, Komponente benutzen möchtest, kannst Du die Unit ruhig umbauen [/edit]

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 Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#7

Re: PHP Inspection Unit

  Alt 17. Nov 2004, 13:26
Oh, dass sie kommerziell, bzw. mit Popup ist habe ich nicht gesehen, in diesem Fall kommt sie für mich auch nicht in Frage.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: PHP Inspection Unit

  Alt 18. Nov 2004, 15:11
Hi,

also ich wollte euch heute mal über den "Zwischenstatus" informieren. Also ich habe mal testweise implementiert, dass der Body der Funktionen auch geparsed wird, sodass man schauen kann, wo die Brackets anfangen und aufhören. Leider hat das bei diesem Versuch die Parsing Zeit meiner "Massendatei" (760 KB) von ~3500 ms auf ~6500 ms hochgejagt. Da werde ich mir noch etwas überlegen müssen. Ich baue daher in eigenen Klassen einen privaten Konstruktor ein, dem ich bereits fertige IMatch Ergebnisse übermitteln kann, sodass das nicht erneut in der DetermineEntityName() erledigt werden muss.
Derzeit bin ich auch noch dabei die Unterscheidung für <? ?> zu machen, damit man auch HTML Dokumente mit eingebettetem PHP richtig parsen kann.

Also am Wochende sollte das ganze das fertig sein (hoffe ich )

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
 
#9

Re: PHP Inspection Unit

  Alt 19. Nov 2004, 11:47
Guten Tag,

Das hört sich ja gut an, hoffe das du es schafst.
Freue mich schon auf den neuen release. Vor allem wegen <? ?>

mfg,
Nexis
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
 
#10

Re: PHP Inspection Unit

  Alt 20. Nov 2004, 22:48
Guten Tag,

Ich hätte noch einen Verbesserungsvorschlag für deinen Parser:

Erstelle eine Klasse für die Includes die du von TPHPEntity ableitest.
Die klasse muss eigentlich nichts enthalten ich will nur überprüfen können ob es sich um ein Include handelt
zurzeit geht das ja nicht. Ich meine wenn ich auf ein Node im CodeBrowser zugreife.
Währe ganz nett wenn du das einbauen könntest. Ich wollte das eigentlich selber machen aber dann müsst ich bei allen
deinen neuen Version immer wieder dieses Feature selber einbauen. Deshalb ist es besser wenn du es selber zum Standart machst.

Es geht hier nur um die Bequemlichkeit, Zeit kostet das ja nicht.

mfg,
DSeven
Die Freie Entwicklungsumgebung für PHP
Symtec Development Studio
auf http://www.nostalb.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 14     123 4513     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 16:05 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