Delphi-PRAXiS
Seite 7 von 14   « Erste     567 89     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   PHP Inspection Unit (https://www.delphipraxis.net/33102-php-inspection-unit.html)

Pr0g 5. Dez 2004 16:01

Re: PHP Inspection Unit
 
Super, funktioniert ;)

mirage228 5. Dez 2004 16:03

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Super, funktioniert ;)

Hi,

ersetze zusätzlich die Zeilen um Nr. 1586 durch dies:
Delphi-Quellcode:
FIncludes.Add(TPHPIncludeFile.Create(Self,
  MatchColl2.Items[i].Value, MatchColl2.Items[i].Index +
  Index + 1)); // + 1 !
, damit der Index der Includes wieder richtig ist ... oder du lädst das neue Archiv runter :)

mfG
mirage228

DSeven 5. Dez 2004 22:52

Re: PHP Inspection Unit
 
Guten Tag,

mir gefält die neue Version eigentlich ganz gut.
Aber wollte noch anmerken das es konstanten ohne Klassenbezug gibt die ja momentan nicht erkannt werden.

mfg,
DSeven

DSeven 5. Dez 2004 23:10

Re: PHP Inspection Unit
 
Guten Tag,

Also bei mir gibt er wenn ich folgendes aufrufe:

Delphi-Quellcode:
phpParser.FindEntityAt(ActiveEdit.Editor.SelStart).Occurence;
Immer die Klasse zurück. Naja ok bei der ersten Klasse gibt er mir wenn ich in einer funktion bin die Funktion zurück aber aber der zweiten klasse gibt er mir die klasse zurück. Warum?

Ahja und bei mir funktionieren die konstanten nicht habe sie wie folgt deklariert:
Code:
class Foo {
     const konstante = "Konstante";
}
Aber die Konstante wird nicht erkannt.
Edit: Habe Fehler gefunden, " wird nicht erkannt :D wenn man ' benutzt geht es. muss behoben werden.

mfg,
DSeven

mirage228 6. Dez 2004 06:29

Re: PHP Inspection Unit
 
Hi,

Zitat:

Zitat von DSeven
mir gefält die neue Version eigentlich ganz gut.

Danke :) - Aber jetzt kommt wohl das "aber" *g*

Zitat:

Zitat von DSeven
Aber wollte noch anmerken das es konstanten ohne Klassenbezug gibt die ja momentan nicht erkannt werden.

Hm... Also im PHP Manual steht:
Zitat:

Zitat von PHP Manual
It is possible to define constant values on a per-class basis [...]

Also gibt es Konstanten imho nur innerhalb einer Klasse - nicht global. :gruebel:

Zitat:

Zitat von DSeven
Ahja und bei mir funktionieren die konstanten nicht habe sie wie folgt deklariert:

Delphi-Quellcode:
class Foo { 
     const konstante = "Konstante";
}
Aber die Konstante wird nicht erkannt.
Edit: Habe Fehler gefunden, " wird nicht erkannt wenn man ' benutzt geht es. muss behoben werden.

Ups :oops:, da haste aber recht. Habe die Deklaration im PHP Manual gelesen und dachte es würden nur normale Hochkommata angenommen. Naja, aber das zu beheben, sollte kein großes Problem sein :)

Zitat:

Zitat von DSeven
Also bei mir gibt er wenn ich folgendes aufrufe:

Delphi-Quellcode:
phpParser.FindEntityAt(ActiveEdit.Editor.SelStart).Occurence;
Immer die Klasse zurück. Naja ok bei der ersten Klasse gibt er mir wenn ich in einer funktion bin die Funktion zurück aber aber der zweiten klasse gibt er mir die klasse zurück. Warum?

Also da scheint es ein Problem mit dem FindEntityCode zu geben. Es wird nur die Klasse selbst zurückgegeben, falls der Cursor in der Klasse, aber bei keiner Konstante, Variable oder Funktion ist. :gruebel:
Ich werde mir das ganze nochmal zu Gemüte führen müssen ...

mfG
mirage228

Pr0g 6. Dez 2004 15:32

Re: PHP Inspection Unit
 
Mir ist auch noch was aufgefallen. Wenn man nach einem Includebefehl das Semikolon mehrere Zeilen nach unten schiebt, so werden die Zeilenumbrüche (als schwarze Striche) mit aufgeführt:
Code:
<?php

  //Includetest
  include('test.php')


;
?>
Ist das Semikolon nicht vorhanden, wird einach das des nächsten Befehls genutzt, auch hier stimmt die Ausgabe dann wieder nicht. Vielleicht solltest du das Semikolon nur zur Überprüfung der Vorllständigkeit nutzen, oder so, hier jedenfalls der Code:
Code:
<?php

  //Includetest
  include('aaa')
  include('test2.php');

?>

mirage228 6. Dez 2004 16:11

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Mir ist auch noch was aufgefallen. Wenn man nach einem Includebefehl das Semikolon mehrere Zeilen nach unten schiebt, so werden die Zeilenumbrüche (als schwarze Striche) mit aufgeführt:
Code:
<?php

  //Includetest
  include('test.php')


;
?>
Ist das Semikolon nicht vorhanden, wird einach das des nächsten Befehls genutzt, auch hier stimmt die Ausgabe dann wieder nicht. Vielleicht solltest du das Semikolon nur zur Überprüfung der Vorllständigkeit nutzen, oder so, hier jedenfalls der Code:
Code:
<?php

  //Includetest
  include('aaa')
  include('test2.php');

?>

Hi,

Ok, das erste ist nen Fehler. Den kannst Du fürs erste beheben, indem Du im RegEx-String ein (\s*) vor das Semikolon packst. :)

Das zweite hingegen ist syntaktisch nicht korrekt (wird auch von PHP bemängelt) - da muss ich schauen ob und wie ich das löse :?

Die neue Version kommt, denke ich, heute abend noch, da ich den Fehler im FindEntityAt() Code und bei den Konstanten auch schon behoben habe. :)

mfG
mirage228

Pr0g 6. Dez 2004 16:16

Re: PHP Inspection Unit
 
Zitat:

Zitat von mirage228
Das zweite hingegen ist syntaktisch nicht korrekt (wird auch von PHP bemängelt) - da muss ich schauen ob und wie ich das löse :?

Das Stimmt zwar, aber der User kann ja auch mal eine Fehleingabe machen und dann sollte er trotzdem keine fehlerhafte Ausgabe sehen, so ist das gemeint.

mirage228 6. Dez 2004 18:11

Re: PHP Inspection Unit
 
Zitat:

Zitat von Pr0g
Zitat:

Zitat von mirage228
Das zweite hingegen ist syntaktisch nicht korrekt (wird auch von PHP bemängelt) - da muss ich schauen ob und wie ich das löse :?

Das Stimmt zwar, aber der User kann ja auch mal eine Fehleingabe machen und dann sollte er trotzdem keine fehlerhafte Ausgabe sehen, so ist das gemeint.

Hi,

Ich könnte Dir folgenden "Kompromiss" anbieten:

Ein Include-String wird gemachted, falls die Suchwörter (include etc.) gefunden wurden und für den Rest die folgenden Bedingungen zu treffen.
  • Im darauffolgenden String taucht eine ) auf (Achtung: Falls es mitten im String ist, würde nur bis dahin gematched!)
  • Am Ende snytaktisch korrekt das ; steht. (Diese Variante hätte Vorrang beim Matchen!)

Andernfalls wäre der Match negativ.

Edit: Das Ganze geht natürlich auf Kosten der Zeit. Daher weiss ich nicht, ob es sich lohnt. :gruebel:

mfG
mirage228

Pr0g 6. Dez 2004 18:44

Re: PHP Inspection Unit
 
DSeven scheint ja auch Interesse an dem Projekt zu haben, vielleicht sagt er dazu noch was. Wenns zu sehr auf die Zeit geht, dann lass es erstmal so.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr.
Seite 7 von 14   « Erste     567 89     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz