marca 22
Synchronizacja plików PHP w Eclipse część 1 – FTP
Synchronizacja jest niezwykle ważnym elementem w powstawaniu projektu programistycznego, szczególnie w tworzeniu aplikacji internetowych. Jest ona niezbędna przy pracy nad kodem w kilka osób, gdy każdy z programistów musi posiadać aktualne wersje aplikacji tworzone przez współpracowników, a także podczas pracy nad kodem na lokalnym stanowisku pracy, będąc jednocześnie zmuszonym do wgrywania plików na serwer poprzez FTP.
Do pracy nad kodem w grupie programistycznej znakomicie nadają się systemy kontroli wersji takie jak CVS, czy jego następca SVN. Dzięki nim zachowamy spójność w kodzie pomiędzy każdą osobą pracującą nad projektem i jednocześnie będziemy mieli podgląd wszystkich zmian zachodzących w kodzie, mając możliwość przywrócenia wersji pliku z jakiegokolwiek momentu byśmy chcieli. O systemach kontroli wersji więcej przyjdzie dowiedzieć się z następnej części artykułu.
FTP też może stanowić rodzaj synchronizacji wykorzystywanej w pracy grupowej, chociaż bardzo ubogiej. Niemniej jednak głównym celem FTP jest utrzymywanie najnowszej działającej wersji aplikacji na serwerze i wysyłanie nań jedynie zmienionych plików. Zwykle korzystamy z odrębnego klienta FTP jak np. FileZilla, Total Commander etc. jednak o wiele wygodniej jest, gdy możemy wysyłać pliki bezpośrednio z edytora. O tym traktować będzie ten artykuł.
Będąc zamiłowanym użytkownikiem kombajnu programistycznego, jakim jest Eclipse, przedstawię te zagadnienia właśnie w tym edytorze, jednocześnie pragnąc rozpropagować go, ukazując jak wszechstronne jest to narzędzie. Eclipse bowiem potęgę swą pokłada we wtyczkach – pierwotnie jest to edytor Javy, jednak dzięki plug-inom możliwa jest z nim praca nad wieloma technologiami programistycznymi. O Eclipse i PHP możemy przeczytać w moich poprzednich wpisach.
Do obsługi FTP w Eclipse istnieje wiele wtyczek. Ja wybrałem spośród nich moduł dostępny w Aptana, o której można by w zasadzie poświęcić całą serię wpisów. Aptana Studio to potężne IDE do tworzenia witryn internetowych, w technologiach głównie od strony klienta, takich jak Javascript, Ajax, HTML czy CSS, choć istnieją i moduły do PHP czy Ruby.
Instalacja Aptana Studio
Aby zainstalować Aptana Studio z menu Eclipse wybieramy Help > Software Updates > Find and install, następnie zaznaczamy Search for new features to install.. i klikamy Next. Naszym oczom ukazuje się lista stron na których znajdujemy aktualizacje i nowe wtyczki.
Dodajemy nową stronę klikając New Remote Site, nadajemy jej dowolną nazwę a w pole adresu wpisujemy http://update.aptana.com/install/studio/3.2/ . Następnie zatwierdzamy, zaznaczamy nowo dodaną witrynę i klikamy Finish. Eclipse kilkakrotnie wyświetli nam okna z potwierdzeniami, we wszystkich przechodzimy dalej, aż Aptana nam się zainstaluje.
Dodajemy połączenie i synchronizację
Aby dodać połączenie FTP musimy przejść do perspektywy Aptana z menu Window > Open Perspective, bądź za pomocą przycisku pokazanego na screenie.
Na zakładce File klikamy prawym przyciskiem myszy na FTP i z menu kontekstowego wybieramy Add New FTP Site.
Otwarte okno wypełniamy poprawnymi danymi o naszym serwerze FTP. Często na serwerach nasza witryna jest wyświetlana nie z głównego katalogu , lecz np. httpdocs czy public_html, dlatego by pliki były poprawnie synchronizowane powinniśmy ścieżkę katalogu, który będzie odpowiadał zawartości naszego projektu, zawrzeć w polu Remote Site. Aby wykluczyć możliwość różnicy czasu (która jest decydująca w procesie synchronizacji) możemy zaznaczyć Calculate server/client time offset automatically.
Po zatwierdzeniu na liście pokazuje nam się stworzone właśnie połączenie.
Aby teraz połączyć nasz projekt z tym połączeniem wchodzimy na zakładkę Sync Manager, klikamy na
Dodaj Połączenie z Witryną. Nadajemy nazwę, z listy Local wybieramy Project oraz nasz projekt, z listy Remote stworzone przez nas właśnie połączenie. Zatwierdzamy, synchronizacja została stworzona.
Synchronizacja
Wracamy na perspektywę PHP. W Navigatorze klikamy PPM na nasz projekt z menu kontekstowego wybieramy Synchronize > Synchronize…. Pokazuje się nam plansza, na której możemy wybrać tryb działania z kilku opcji:
- Wysyłanie - program porówna daty modyfikacji (i sumy CRC po zaznaczeniu pola na dole) plików i wyśle na serwer tylko te, które zostały zmienione
- Pobierz – analogicznie do wysyłania, jedynie kierunek odwrotny
- W obie strony – program porówna wszystkie pliki i wymieni je między komputerem a serwerem, tak by wszędzie były najnowsze wersje plików (przydatne w przypadku gdy wiele osób edytuje projekt)
Po kliknięciu na pogląd program szybko porównuje pliki i wyświetla te do zmiany.
Możemy niektóre wykluczyć, klikając Ignoruj. Po kliknięciu na przycisk Synchronizuj pliki zostają zsynchronizowane. Nie musimy więc mozolnie wybierać plików do update, przełączać się pomiędzy programami i tak dalej.
Wysyłanie pojedynczych plików
Oczywiście można obejść się bez pracy porównawczej programu, gdy edytowaliśmy niewiele plików i wiemy które to. Wtedy zaznaczamy te pliki, klikamy PPM, z menu wybieramy Synchronize > Upload lub Download w zależności czy chcemy wysłać czy pobrać plik. Pliki zostają wysłane/pobrane.
Wykluczanie plików z synchronizacji
Istnieją takie pliki, których nie chcemy wysyłać na serwer. mogą to być na przykład katalogi cache, pliki ustawień projektu, czy tworzone przez SVN (które zostanie omówione w kolejnej części) katalogi .svn. Żaden kłopot – Aptana umie je wykluczyć z kolejki.
W menu Eclipse wybieramy Window > Preferences. Z listy przechodzimy do Aptana > Synchronization. Widzimy listę nazw plików wykluczonych z synchronizacji. Możemy dodawać całe nazwy plików/folderów, bądź też wyrażenia regularne, które wykluczą nam dane foldery lub pliki. Już więcej te pliki nie zostaną wysłane na serwer.
Na koniec
Jak widzimy, korzystając z Eclipse w odstawkę możemy odłożyć między innymi klienta FTP – dzięki takim narzędziom bez problemu wyślemy pliki na serwer, a także zsynchronizujemy ich wersje. W kolejnej części przedstawię system kontroli wersji SVN, dzięki któremu ułatwimy sobie pracę w grupie, bądź po prostu stworzymy łatwy mechanizm kopii zapasowych.
Jako, że okres świąteczny obowiązuje, życzę wesołych, spokojnych świat spędzonych z rodziną i przyjaciółmi w miłej atmosferze



