Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu php Kanał ATOM (tag: php)

Autor wpisu: Zyx, dodany: 01.05.2011 14:29, tagi: php

Z każdą kolejną wersją programistom PHP przybywa kolejnych zabawek, których można użyć do zbudowania swojej aplikacji. Z jednej strony to dobrze, a z drugiej nawet najlepsza rzecz może zostać zabita przez nieumiejętne korzystanie z niej. Taką nierozumianą rzeczą jest mechanizm wyjątków wprowadzony w roku 2004, który niebawem został dopełniony przez podstawowy zestaw wyjątków bazowych. Po prawie siedmiu latach dla programistów wciąż jest to czarna magia, za co poniekąd należy "podziękować" nieogarnięciu autorów dokumentacji. W tym wpisie chciałbym to odkręcić i pokazać, jak budować porządną hierarchię wyjątków.

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

Nie wiem już ile razy zachwycałem się na moim blogu możliwościami języków skryptowych, a najbardziej tymi, które możemy znaleźć w PHP. Dawno, dawno temu, kiedy jeszcze moja wiedza na temat tego języka była "cokolwiek nikła" zauważyłem w czytanym kodzie pewne ciekawe rozwiązanie. O ile na pierwszy rzut oka było ono zrozumiałe, o tyle wychodząc z [...]

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

Nie jest łatwo, dostarczyć klientowi szybki oraz dobry mechanizm wyszukiwania mając do dyspozycji jedynie bazę danych. Na szczęście istnieje wiele rozwiązań opartych o “Open Source” które możemy użyć w PHP aby efektywnie wyszukiwać. Osobiście szukałem platformy którą będzie można użyć wraz z frameworkiem “symfony” oraz ORMem “doctrine”.

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:

Phing support in PHPStorm

Wsparcie dla Phinga w PHPStorm

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.

Autor wpisu: Tomasz Kowalczyk, dodany: 22.04.2011 17:11, tagi: php

Rozwój języka PHP był, a właściwie cały czas jest, dosyć ciekawym "procesem technologicznym", w trakcie którego powstało wiele funkcjonalności, o których statystyczny programista tego języka praktycznie nie wie. Nie są to aż tak kluczowe dla naszej pracy rzeczy, aczkolwiek czasem mogą pomóc w zaprojektowaniu bardzo interesujących rozwiązań, niemożliwych do realizacji w innych językach programowania. W [...]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.