Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzanie poprawności kodu PHP, Automatyczne sprawdzanie całych plików
pakonet
post 18.12.2005, 11:24:55
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.05.2005

Ostrzeżenie: (0%)
-----


php przy uruchamianiu skryptu parsuje tylko składnię. Sprawdzanie poprawności odwołań do funkcji, klas, metod, itd. następuje dopiero przy wykonywaniu danego fragmentu kodu. A da się jakoś zmusić parser php żeby od razu sprawdzał cały skrypt?

Próbowałem wykorzystać do sprawdzania moich skryptów plugin TruStudio Foundation do Eclipse'a, ale tamten parser kodu nie działa najlepiej. Przykładowo dla takiego kodu:

Kod
if($DB->next_record()) {
  ...
} else {
  ...
}


zwraca mi warning że mam niepotrzebnego else'a sad.gif.


--------------------
Nauka angielskiego - www.english.hb.pl
Go to the top of the page
+Quote Post
hwao
post 18.12.2005, 12:38:11
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Kod
D:\wamp\php>php -h
Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...
       php [options] -- [args...]
       php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse <file>.
  -h               This help
  -i               php information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run php <code> without using script tags <?..?>
  -B <begin_code>  Run php <begin_code> before processing input lines
  -R <code>        Run php <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run php <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin


Poproboj z tym, nie wiem czy Ci pomoze ale warto sprobowac...
Go to the top of the page
+Quote Post
dr_bonzo
post 18.12.2005, 13:24:43
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


@pakonet: php to jeszyk interpretowany, nie kompilowany -- wiec nie sprawdzisz w czasie kompilacji czy prawidlowo odwolujesz sie do metod, itd.
Jedyna metoda na to to dobre IDE i podpowiadanie skladni.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
pakonet
post 18.12.2005, 15:15:58
Post #4





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.05.2005

Ostrzeżenie: (0%)
-----


@hwao: Jedyna interesująca opcja to -f, ale ona sprawdza tylko poprawność składniową.

@dr_bonzo: No ale w dobrych IDE jakoś to parsowanie jest zrobione - sprawdzają np. czy funkcje/metody do których się odwołujemy istnieją. Zainteresowałbym się Zendem 5, ale wersja Professional kosztuje $299 (a studencka licencja za $99 zapewne nie pozwala na wykorzystanie do celów komercyjnych).


--------------------
Nauka angielskiego - www.english.hb.pl
Go to the top of the page
+Quote Post
Bora
post 18.12.2005, 16:00:19
Post #5





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

Ostrzeżenie: (0%)
-----


Eclipse + phpeclipse
Go to the top of the page
+Quote Post
dr_bonzo
post 18.12.2005, 16:01:59
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


"a studencka licencja za $99 zapewne nie pozwala na wykorzystanie do celów komercyjnych)."

pozwalaja, nawet po skonczonych sudiach -- PMadej gdzies o tym pisal, na forum lub w swoim blogu,
** EDIT
A dokladniej tu:
http://nysander.quanteam.info/?sectionid=7

Ten post edytował dr_bonzo 3.01.2006, 21:51:48


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Fipaj
post 18.12.2005, 16:51:11
Post #7





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Eclipse + phpeclipse
= xored::TruStudio


--------------------
Go to the top of the page
+Quote Post
sekcja2
post 3.01.2006, 19:16:08
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.01.2006

Ostrzeżenie: (0%)
-----


Bawilem sie Eclipsem, jest swietny ale.... ma jeden maly mankament - nie posiada mozliwosci dostania sie zdalnie do pliku. Jest tam jakis plugin do ftpa (ftp/webdav) ale to jest niewypal (czesto sie wiesza i wogole dziala bez sensu).

Aktualnie siedze na pajaczku i szukam IDE ktore pozwala zdalnie pracowac nad plikiem - czasem szybko musze cos zmienic i nie mam czasu tworzyc nowego projektu zgrywac go i wogole bawic sie.

ps. jesli zna ktos jakis plugin do eclipsa ktory obsluguje dobrze ftp to plisss napiszcie mi jego nazwe
Go to the top of the page
+Quote Post
pakonet
post 3.01.2006, 21:28:29
Post #9





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.05.2005

Ostrzeżenie: (0%)
-----


@dr_bonzo: Hmm... $99 to już brzmi lepiej, będę się musiał zastanowić smile.gif

@sekcja2: To prawda, obsługa FTP w tym pluginie WebDAV pozostawia wiele do życzenia. Swoją drogą samo xored::TruStudio też nie przypadło mi do gustu - sypało się dziwnie po zaimportowaniu mojego projektu.


--------------------
Nauka angielskiego - www.english.hb.pl
Go to the top of the page
+Quote Post
bela
post 3.01.2006, 21:44:32
Post #10


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


sekcja: Zend Studio


--------------------
Go to the top of the page
+Quote Post
pakonet
post 4.01.2006, 17:59:09
Post #11





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 27.05.2005

Ostrzeżenie: (0%)
-----


A propo Zend Studio - ściągnąłem wersję trial, narazie całkiem przyjemnie się prezentuje. Doszedłem już, że mogę dodać serwer FTP jako wirtualny "dysk" i edytować zdalne pliki. Ale w takim przypadku nie mam lokalnej kopii serwisu. W edytorach takich jak Macromedia Dreamweaver jest taka opcja jak "Upload on save" - edytuje sobie lokalną kopię, a po naciśnięciu zapisz jest ona wysyłana na serwer FTP. Jest również możliwość synchronizacji lokalnej kopii z serwerem FTP. Czy Zend Studio oferuje podobne możliwości?


--------------------
Nauka angielskiego - www.english.hb.pl
Go to the top of the page
+Quote Post
NuLL
post 4.01.2006, 18:54:51
Post #12





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


[OT]Pytanie dot edytorow tutaj -> http://forum.php.pl/index.php?showtopic=10324[/OT]


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
sekcja2
post 27.01.2006, 15:09:20
Post #13





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 3.01.2006

Ostrzeżenie: (0%)
-----


Znam Zenda ale nie robie tak wielkich i dorgich projektow zeby zaa niego tyle placic, jak juz napisalem wyzej - Eclipse jest swietny i wrecz idealny gdyby nie ten maly szczegolik...

trudno sie mowi, szuka sie dalej
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 3.07.2025 - 22:05