zend7Programując w PHP od wielu lat, odczuwam potrzebę posiadania edytora, który rzeczywiście ułatwi mi pracę wykonywaną na co dzień. Od środowiska programistycznego można oczekiwać naprawdę dużo, ale ja wiele nie wymagam. Podstawowe funkcje jakie powinien zapewnić mi edytor:
- szybkość
- praca na zdalnym FTP
- kolorowanie kodu
- jakiekolwiek skróty klawiaturowe ułatwiające obsługę programu.

Wszystkie te funkcje od ponad 10 lat zawiera program EditPlus którego używam na co dzień.

Prócz PHP programuje w kilku innych językach, gdzie używam często środowiska opartego o Eclipse, bądź innych rozbudowanych IDE. Dlatego też, raz na jakiś czas wpadam na genialny pomysł żeby odstawić EditPlus’a i poszukać godnego następcy. Wybór zazwyczaj pada na najnowsze wersje najpopularniejszych IDE (np: PDT, Zend Studio i inne).
Dzisiaj pobrałem Zend Studio 7.0. Pierwsze co zrobiłem po zainstalowaniu to testy funkcji na zakładce „Remote Systems„. Zapowiada się bardzo ciekawie, bo wśród zdalnych systemów znajdziemy FTP, SSH, telnet, coś o magicznej nazwie Linux, Unix, Windows.

Po skonfigurowaniu konta FTP, wchodzę sobie do katalogu zawierającego średniej wielkości projekt (z dużą ilością obrazków z systemu newsowego) i eksportuje go do projektu w Zend Studio. Eksport taki trwa około 30 minut. Zend biega po całym FTP i zapisuje sobie jego strukturę. Dodam tylko, że z powodzeniem wykluczyć mogę problemy z serwerem czy łączem.

Po wyeksportowaniu projektu (poprzez opcje „Create remote Project„) okazuje się, że Zend nie potrafi uzupełniać najprostszych funkcji (np: mysql_*). Pomyślałem, że może musi sobie całość przeparsować i to może trochę potrwać. Oczywiście to było bardzo naiwne z mojej strony. Z jednoplikowym projektem sytuacja wygląda tak samo.

Stwierdziłem, że skasuje mój „Remote project” i zrobię go od nowa – może czegoś nie zaznaczyłem itd. Podczas kasowania projektu (PPM na nazwie w oknie „PHP Explorer” > Delete) widzimy tradycyjne okienko z Eclipse z informacją „Delete project contents on disk (cannot be undone)„, a pod tym między innymi przycisk „Preview„. Kliknąłem „Preview” żeby zobaczyć co zostanie skasowane (bez zaznaczonego ww. checkboxa) i czekam, czekam, czekam … czekam. Widzę, że Zend znowu biega po całym ftpie, i jak już skończył (kilkanaście minut) to pokazało się „No preview available”. Myśląc, że to już koniec niespodzianek z Zend’em klikam „Ok” (nadal ww. checkbox nie zaznaczony), a Zend zaczyna kasować całą zawartość na serwerze – po prostu genialnie. Pozwoliłem mu dokończyć dzieła (15 minut). Ciekawe co by zrobił gdybym jednak kazał mu skasować ten projekt lokalny.

Kolejną ciekawostką, którą zaobserwowałem pisząc ten tekst jest fakt, iż Zend bardzo lubi sobie ciągle rozmawiać z naszym FTP. Dodałem do lokalnego projektu jeden plik zdalny. Plik ten ma już poprawne uzupełnianie kodu, a więc rozwiązało to mój poprzednie problem z projektami zdalnymi. Podczas pisania w tym pliku wyrazu „mysql” Zend wydał serwerowi ponad 40 komend. Co chwila wysyła NOOP, CWD na katalog w którym niezmiennie się znajduje i LIST -a. Nie ma to jak optymalizacja …

Podsumowując, nie chciał bym tutaj zrażać do tego typu oprogramowania. Sam doceniam bardzo porządne uzupełnianie składni, debugging i profiling i inne opcje Zend Studio. Niestety Zend od dawien dawna nie potrafi opracować dobrego modelu pracy zdalnej – modelu w którym nie trzeba mieć na własnym komputerze serwera http, bazy danych i innych dodatków.

20 odpowiedzi na “Zend Studio 7.0 – praca zdalna”
  1. Qwerty256 pisze:

    No niestety, najnowszy zend (tak jak i poprzedni ‘for eclipse’) to totalna porażka jeśli chodzi o zakładkę ‘Remote Systems’, nie wiem dlaczego ale jest 10000 razy gorsza niż w Zendzie z numerkiem 5… zresztą tak szczerze mowiąc jedyna poważną różnicą jaką udało mi się zauważyc w zmianach z wersji od 5.5 do 7.0 to:
    -gorsze uzupełnianie kodu, często trzeba mu pomagac ctrl+space, a jak dopełniam htmlowe <td col… to odrazu mi dopełnia 'colspan="1"' i cholera go wie czemu akurat 1 a nie 5 :)
    -Dużo wolniejsze działanie całego Zenda (musiałem do kompa dołożyć RAMu)
    -Ładna obsługa ZendFramework
    -mapowanie klawisza alt+c którego albo nie da się albo bardzo trudno wyłączyć :)
    -Remote systems to porażka :)

    Nie wiem także dlaczego w takim TOPowym (i drogim) IDE php nie ma obsługi jakże popularnego smarty :)

    A co do remote systems to naprawde dużo komend wywłouje na serverze i mam czasem wrażenie, że sciąga mi także zdjęcia z servera (nie wiadomo po co ;P), więc nie używam :)

  2. cmike pisze:

    No tak – ja zostałem przy starym 5.5.1….

  3. Najki pisze:

    Ja również od kilku lat używam wersji 5. Testowałem bety i finalne wersje szóstki (for eclipse) oraz betę i finalną wersję siódemki. Niestety od czasu jak Zend zaczął opierać swój soft na środowisku Eclipse to zszedł na psy. Szczerze mówiąc czekałem na siódemkę z nadzieją, że zrezygnują z Eclipse’a lub chociaż udoskonalą jakoś program względem wersji 6, a tu taki zawód… Ja pozostaję przy wersji 5 – była świetna, nowe omijam szerokim łukiem.

  4. Mariusz Dalewski pisze:

    A czy 5.* ma możliwość pracy zdalnej na koncie FTP?

  5. A myślałem, że tylko ja jestem hardkorem, bo pozostałem przy ZS 5.5.1 :D
    Spróbowałem 6 i odpadła już w przedbiegach… ZF 7 nie zamierzam nawet sprawdzać…

  6. matipl pisze:

    Ja tam już dawno przestałem używać Zend Studio. Wg mnie oparcie głównego IDE języka na otwartym produkcie jakim jest Eclipse było porażką. Osobiście korzystam z NetBeans…

    Twoja uwaga, że nie można programować bez posiadania lokalnego serwera WWW itp jest dość dziwna. Zend po wypuszczeniu Zend Server bardzo ułatwił pracę, nie mówiąc o tym, że zamiast z FTP raczej korzystałbym z kontroli wersji.

  7. Ja bardzo długo nie przesiadałem się na 6 – z 5.5.1… ale jak ściągnąłem 7, to się przemogłem i powiem szczerze, jest mi conajmniej równie dobrze. Co prawda nie korzytam z wielu ficzerów, ale mimo wszystko wolę 7 (choć trochę wolniejsza, to na moim komputerze nie na tyle, żeby narzekać). Z serwerów zdalnych nie korzystam, wieć na to też nie mogę narzekać :-) Na zdalne wrzucam wszystko swoim skryptem do upgred’ów, wygodniejsze i pewniejsze to…

  8. Mariusz Dalewski pisze:

    @matipl: nie mówię, że nie da się programować bez lokalnego środowiska http/php/db. Oczywiście jest to możliwe. Ja osobiście, jeżeli używam svn’a, git’a etc, ale często też pracuję bezpośrednie na kontach FTP. Podchodziłem do Zend’a już kilka razy (od pierwszych wersji aż po ostatnia) i nigdy poziom pracy na FTP’ie nie był satysfakcjonujący, o czym starałem się opowiedzieć w moim tekście.

  9. matipl pisze:

    @Mariusz: tylko jaki Pro pracuje via FTP :) ?

  10. Mariusz Dalewski pisze:

    @matipl: nie wiem jak Ty to rozwiązujesz, ale ja w przypadku stron internetowych w których tylko wprowadzam jakieś poprawki (i nie zajmuje się nimi na stale), nie używam SVN’a.

  11. matipl pisze:

    @Mariusz: u mnie każdy projekt ma własne repozytorium. najpierw zmiana w repo, aktualizacja na developerce, jesli poprawka gra, export na produkcję

  12. Mariusz Dalewski pisze:

    @matipl: nawet jednolinijkowy syntax fix na stronie www, której autorem nie jesteś i pewnie już nigdy w niej nic zmieniać nie będziesz?

    A cała synchronizacja pomiędzy środowiskiem dev, prod, svn, local jak rozwiązujesz?

  13. matipl pisze:

    @Mariusz: widzę, że na co dzień chyba nie jesteś za pan brat z systemami kontroli wersji. Cały projekt od początku leży w SVN, i najłatwiej mówiąc wszędzie indziej są lokalne kopie, które za pomocą SVN możesz synchronizować,modyfikować etc.

  14. Mariusz Dalewski pisze:

    @matipl ciekawe wniosku wysnuwasz :)

    Ja pytałem o sytuację w której dostajesz dostęp do strony żeby poprawić w niej jednoznakowy syntax error. Wtedy też zakładasz dla niej repo? Mi osobiście nigdy nie chce się tego robić :)

    Repo SVN mam dla tworzonych od postaw/rozbudowywanych projektów. Dla projektów typu „kernel development” z oczywistych względów GIT.

  15. matipl pisze:

    @Mariusz: nie mam doczynienia z sytuacją, że mam poprawić zewn. kod, i poprawka polega na poprawie syntax error.
    Przy syntax error nie chciałoby mi się nawet IDE odpalać.

  16. Najki pisze:

    @Mariusz: Jak najbardziej można pracować na zdalnych FTP w Zendzie 5. Możesz również stworzyć sobie np. projekt „X” i do niego dodać sobie kilka katalogów z dysku oraz kilka katalogów z różnych serwerów FTP i będziesz wszystko miał w jednej zakładce.

    Niestety obsługa SVN w „starym” Zendzie trochę kuleje. Trzeba się bawić w podmianę niektórych plików itd, aby to ruszyło. Osobiście do SVN’a używam jednak Tortoise’a.

    No i w Zendach 5 starszych od 5.5.1 wygładzanie tekstu można włączyć jedynie poprzez edycję pliku konfiguracyjnego 8).

  17. marlic pisze:

    Ja używam już od ponad roku Eclipse + PDT i jestem z tego IDE bardzo zadowolony,
    nie uważam również żeby pomysł Zend-a na integrację swojego IDE z Eclipse był złym pomysłem, jeżeli nie odpowiada wam Remote systems to instalujecie inny plugin np jcraft i macie synchronizację z FTP/SFTP + plugin subclipse i jest dodatkowa synchronizacja z repo SVN

    i masz odpowiedź na pytanie:
    Mariusz Dalewski@ A cała synchronizacja pomiędzy środowiskiem dev, prod, svn, local jak rozwiązujesz?

  18. giver pisze:

    Kolejna wersja Zend Studio i znów większe wymagania. Niby normalne, ale jak dla mnie wzrost wymagań nie idzie w parze ze wzrostem funkcjonalności. Ot popularne ostatnio olewanie optymalizacji kodu…

  19. Mariusz Dalewski pisze:

    Testowałem kilka dni inne edytory i chyba mam już dosyć…

    Dla mnie najważniejsze jest żeby program pracował bezpośrednio na koncie FTP z SVN’em po stronie serwera (tutaj całość mam już obcykaną) albo żeby program miał kopie lokalną na bazie której działa wbudowany SVN (nie Tortoise SVN) i automatyczna synchronizacja via FTP.

    Nie lubię używać lokalnego serwera http do testowania tworzonych aplikacji.
    Możecie polecić jakieś rozwiązanie?

  20. Qwerty256 pisze:

    EditPlusa :P

  21.