Autor wpisu: batman, dodany: 01.05.2011 14:00, tagi: php
Co pewien czas na różnych forach pojawia się tytułowe pytanie. Najczęściej jest ono połączone z kolejnym – “W jakim języku najwięcej zarobię?”. Jeśli należysz do osób zadających te lub podobne pytania, zapisz się na kursy zawodowe, przekwalifikuj się, wyjedź na zmywak. Praca programisty polega na ciągłym obserwowaniu rynku i dostosowywaniu się do jego potrzeb. Ktoś, kto tego nie potrafi, zostanie tylko klepaczem, zarabiającym poniżej średniej w zawodzie programisty i język nie ma tutaj żadnego znaczenia.
Nadal czytasz ten tekst? To dobrze. Przynajmniej wiesz czego chcesz – albo zwymyślać mnie w komentarzach, albo rzeczywiście chcesz się dowiedzieć co dalej.
Zacznijmy od samego PHP. Jesteś pewien, że znasz ten język? Wiesz, że w PHP są semafory oraz wielowątkowość? Wiesz, że w PHP możesz operować na archiwach ZIP oraz RAR, tworzyć aplikacje konsolowe oraz korzystać z prawie każdej bazy danych? Poza samym językiem istnieje jeszcze cały ekosystem dodatków i rozszerzeń do języka. Zacznijmy od frameworków. W chwili obecnej mamy na rynku pięć znanych i lubianych frameworków oraz kilkanaście (jeśli nie kilkadziesiąt) mniej znanych. Jeśli jesteś programistą PHP, powinieneś dobrze znać jeden framework. To przy jego pomocy zaoszczędzisz czas i znajdziesz lepiej płatną pracę. Oprócz frameworków mamy do dyspozycji szereg narzędzi – PHPUnit, Xdebug, narzędzia CI, Phing, dbdeploy i inne.
Jeśli z jakiegoś powodu nadal upierasz się na “co dalej”, zainteresuj się niestandardowymi zastosowaniami PHP. Czasami jest to droga donikąd, czasami okaże się, że odpowiedź na pytanie pojawi się sama. PHP zawitał na Androidzie (dzięki PHP for Android), jest również na desktopach (PHP GTK). Ludzie z Facebooka “skompilowali” go do C++. PHP zawitał również do chmur obliczeniowych. Możemy z niego korzystać w Windows Azure jak i w AWS. Co więcej, PHP ma swoją własną chmurę – PHP Fog.
Nadal nie przekonany? Niech Ci będzie. Idziemy dalej. Jeśli nadal chcesz tworzyć szeroko rozumiane strony internetowe, możesz skierować swoją uwagę w kierunku Ruby lub Pythona. Oba języki oferują podobne funkcjonalności (pewnie mnie za to zlinczujecie), a społeczność dostarcza frameworki oraz wsparcie techniczne. Poza tym programując w Ruby lub Pythonie, będziesz mógł się śmiać z ludzi od PHP.
Kolejną technologią webową, która zdaje się zdobywać popularność jest ASP.NET MVC. Jeśli na frameworkach PHP zjadłeś zęby, wówczas poznanie tej technologii to dla Ciebie bułka z masłem. Wzorzec jaki jest, każdy widzi, a język to kwestia wtórna. Poza tym poznając dowolną technologię .NET masz możliwość praktycznie bezproblemowego przejścia na zupełnie nieznane wcześniej obszary – Silverlight, czyli aplikacje na urządzenia mobilne, WPF – aplikacje desktopowe (oraz Silverlight), WCF – usługi sieciowe, Windows Azure – cloud computing oraz wiele innych.
Może się zdarzyć, że na brzmienie słowa Microsoft, ziemniaki gniją Ci w piwnicy. Zdarza się. Na szczęście i na to jest rada – Java. Tutaj też możesz tworzyć aplikacje internetowe, oprogramowanie na desktopy oraz aplikacje mobilne (Android).
A może masz już dosyć grzebania w backendzie i chciałbyś się sprawdzić jako frontendowiec? Ci lepsi też nieźle zarabiają. Na początek poznaj Photoshopa i naucz się wycinać layouty. Nie obejdzie się również bez znajomości standardów HTML/XHTML. Do tego CSS oraz JavaScript. Nie zapomnij o co najmniej jednej bibliotece w stylu jQuery. Oprócz czysto technicznych umiejętności, na pewno przyda się wiedza z zakresu UX oraz SEO.
Jak widzisz wybór jest ogromny i to tylko od Ciebie zależy, w którą stronę pójdziesz. Pamiętaj tylko o jednym. Nie kieruj się średnią wysokością pensji. Jeśli okaże się, iż dana technologia Ci nie odpowiada może być za późno na jej zmianę i będziesz tkwił w pracy, której nie cierpisz.
Autor wpisu: Tomasz Kowalczyk, dodany: 29.04.2011 22:57, tagi: php
Autor wpisu: sokzzuka, dodany: 27.04.2011 10:19, tagi: php
Nie od dziś wiadomo, że systemy z rodziny Windows zupełnie ignorują wielkość znaków w nazwie pliku. Wszystko jest ok, dopóki nie przyjdzie przenosić na produkcyjny Unix-owy serwer kodu, w którym ze swobodą traktowaliśmy kwestię wielkości liter w nazwach plików. Co gorsza jeżeli nasze pliki wersjonowane są przez jakiś system kontroli wersji, wtedy naprawdę ciężko będzie dojść do ładu by wyprostować nazewnictwo – np. na Windowsie GIT nie zauważy zmiany wielkości liter w nazwie pliku. Jeżeli korzystamy właśnie z tego VCS-a to z pomocą przychodzi nam polecenie:
git mv -f foo.php Foo.php
Dzięki niemu będziemy mogli zmienić nazwę pliku i zostanie ona zauważona przez GIT-a. Oczywiście polecenie należy wpisać w konsoli GIT-a standardowo instalowanej z dystrybucją Msysgit.
Autor wpisu: l3l0, dodany: 26.04.2011 20:49, tagi: symfony, php
Autor wpisu: singles, dodany: 22.04.2011 21:20, tagi: php
Nie raz mówiłem, że uważam PHPStorm za najlepsze IDE do PHP. Jednym z powodów takiego śmiałego – wg niektórych – twierdzenia jest fakt, że twórcy tego środowiska cały czas rozwijają swój produkt, dodając do niego coraz to nowsze funkcjonalości. W najnowszej wersji zostaliśmy uraczeni supportem dla Phinga. O tym, czym jest Phing przeczytacie na stronie projektu albo u Zyxa.
Integracja polega na tym, że z poziomu IDE dodajemy możliwość uruchamiania wybranych zadań (z listy zdefiniowanych plików konfiguracyjnych). Dodatkowo, kiedy PHPStorm rozpozna plik z definicją zadań Phinga – najczęściej jest to build.xml
automatycznie podpowiada nazwy odpowiednich elementów oraz przypisanych do niego atrybutów. W przypadku, kiedy nie podamy odpowiedniego atrybutu, podświetla nam definicję elementu jako błędną. Podobna sytuacja występuje, kiedy odwołamy się do zadania, które nie istnieje.
Jak wygląda PHPStorm + Phing zobaczyć możecie na poniższym screenie:
Po prawej widać okno Phinga – tam dodajemy pliki konfiguracyjne – na obecną chwilę nie są one przypisane do projektu, tylko wybierane z całego filesystemu. Możemy podejrzeć zadania zdefiniowane w ramach pliku i odpalać je pojedynczo bądź całościowo. Niżej widać wyjście wygenerowane przez działające narzędzie. Tak wyglądało, zanim popsułem kilka definicji aby pokazać wykrywanie błędów. Na środku oczywiście sam plik build.xml
z definicjami, gdzie widać wcześniej wspomniane zaznaczanie błędów.
Na obecną chwilę brakuje mi kilku rzeczy:
- po wyświetleniu menu kontekstowego na błędnej definicji IDE nie podpowiada, co jest źle – trzeba samemu domyślać się, którego parametru brakuje.
- pliki buildujące wybierane są z całego filestystemu, a nie w ramach projektu – co wydaje mi się rozwiązaniem nie do końca przemyślanym.
- czasami błędnie podświetlane są brakujące zmienne
- template do nowego pliku Phinga też by się przydał, ale to można sobie samemu zaimplementować w kilkadziesiąt sekund, tak więc tutaj już się czepiam ;)
Nie mniej, należy mieć na uwadze, że jest to „initial release” i do czasu wypuszczenia kolejnej stabilnej wersji środowiska ww. rzeczy mogą zostać naprawione. A tych, którzy używają Phinga na co dzień, zachęcam do wypróbowania – najnowszą wersję znajdziecie na stronach Early Access Program.
BTW. W tej wersji dodano także Zend coding standard jako jeden z predefiniowanych, oraz „initial release” wsparcia dla systemu szablonów Twig.