it-swarm.com.de

Ist da ein PHP Syntaxprüfung für Notepad ++?

Gibt es ein PHP -Syntax-Checker-Plugin für Notepad ++?

Bitte antworten Sie nicht "Verwenden Sie stattdessen einen anderen Editor"

30
edt

Probieren Sie NppExec plugin für Notepad ++ aus. Erstellen Sie mit diesem Befehl einen Befehl wie folgt:

cmd.exe /K c:\your\path\to\php.exe -l "YOUR_FULL_FILE_NAME"

Anstelle von YOUR_FULL_FILE_NAME sollten Sie das entsprechende Notepadd ++ -Makro verwenden. Ich denke, es ist $(FULL_CURRENT_PATH), aber überprüfen Sie es anhand des NppExec-Handbuchs (installiert zusammen mit dem Plugin).

P.S. Aber jede IDE wird sicher besser sein (ich verwende PhpStorm). Wenn IDE für Ihren PC zu schwer ist, suchen Sie nach PHP-orientierten Editoren wie Blumentals RapidPHP usw. (es ist leichter als volles IDE, kann jedoch alle wichtigen Funktionen aufweisen).

10
LazyOne

Wie bereits von LazyOne erwähnt, können Sie NppExec verwenden, das Sie mit dem Plugin-Manager (Plugins>Plugin Manager>Show Plugin Manager) installieren können. Außerdem müssen Sie PHP installieren. Der Befehl, den ich für die Syntaxprüfung von PHP mit NppExec verwende, ist 

"C:\Program Files (x86)\PHP\php.exe" -l $(FULL_CURRENT_PATH)
8

Ich empfehle Ihnen, ein wahres IDE (kein Texteditor) zu finden. Ich habe Notepad ++ seit Jahren verwendet, aber es kann nicht viel über die Syntaxhervorhebung hinausgehen.

Ich persönlich benutze PHPStorm (aber es ist nicht kostenlos, aber es ist sehr gut: D). Sie können auch NetBeans oder Eclipse verwenden.

6
Halcyon

Hinzufügen zu @ LazyOnes Antwort: Ich mag NetBeans nicht, es ist zu streng, hat eine schwierige Zeit, es zu finden, und es ist langsam. Ich nehme N ++ für seine Geschwindigkeit und Einfachheit. Ich habe PHP auf meinem PC installiert, nur um die Validierung auszuführen. Wenn Sie N ++ (oder einen anderen Texteditor) verwenden, können Sie das folgende Powershell-Skript verwenden, um alle Dateien, die Sie heruntergeladen haben und in denen gearbeitet wird, stapelweise zu überprüfen. Starten Sie einfach Powershell ISE, geben Sie den korrekten Pfad ein, um den PHP.exe-Pfad für Ihre Umgebung zu überprüfen, und die Ergebnisse werden an die ISE-Konsole ausgegeben.

cls
$pathToCheck = "C:\Users\BigDaddy\AppData\Local\Temp\fz3temp-1"
$phpExePath = "C:\PHP\php.exe"

Get-ChildItem $pathToCheck -Filter "*.php" | foreach {
$pinfo = New-Object System.Diagnostics.ProcessStartInfo
$pinfo.FileName = $phpExePath
$pinfo.Arguments = "-l", $_.FullName
$pinfo.RedirectStandardError = $true
$pinfo.RedirectStandardOutput = $true
$pinfo.UseShellExecute = $false
$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo
$p.Start() | Out-Null
$p.WaitForExit()
$output = $p.StandardOutput.ReadToEnd()
$output += $p.StandardError.ReadToEnd()
$output
}

Ich hoffe, jemand anderes findet das genauso nützlich wie ich.

Prost!

2
naphier

Ich verwende Komodo Edit 7 (kostenlose Version), das über eine integrierte PHP-Syntaxprüfung verfügt. Ich weiß nicht, wie robust es ist, aber es funktioniert gut für mich. Ich bin kein professioneller Webdesigner, aber ich mag es besser als Eclipse und Bluefish. Komodo ist kleiner als Eclipse und stabiler als Bluefish (in meiner Win XP - Umgebung). 

1
Bhante-S

PHP kann Ihre Datei mit der Option -l lint auf Syntax überprüfen. Installieren Sie PHP (falls noch nicht geschehen) auf Ihrem Computer und verwenden Sie die Funktion Run in Notepad ++, und führen Sie einen Befehl wie folgt aus:

cmd.exe /K "C:\Program Files\php-5.6.38-Win32-VC11-x64\php.exe" -l $(FULL_CURRENT_PATH)

Ändern Sie den Pfad zu Ihrem Installationsverzeichnis. Nachdem Sie es über Run ausgeführt haben, können Sie es speichern, einen Namen vergeben und eine benutzerdefinierte Tastenkombination zuweisen.

Aufschlüsselung des Befehls:

  • cmd.exe /K öffnet eine neue Command Shell, die nach der Ausführung geöffnet bleibt
  • "C:\Program Files\php-5.6.38-Win32-VC11-x64\php.exe" starte php.exe
  • -l-Option von php.exe, um ihren Flusendienst zu verwenden, anstatt ihn auszuführen
  • $(FULL_CURRENT_PATH) Notepad ++ - spezifisch, das den vollständigen Pfad zum aktuell geöffneten Dokument angibt
0