Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: batman, dodany: 09.11.2011 08:00, tagi: php

W każdym zawodzie niezwykle ważnym elementem wykonywanej pracy jest warsztat. Warsztat w rozumieniu narzędzi oraz metodyki. Naturalnym jest, iż nie ma uniwersalnego rozwiązania, zadowalającego wszystkich programistów. Każdy z nas ma inne przyzwyczajenia, doświadczenie a nawet tok myślowy prowadzący do rozwiązania problemu. Niemniej kilka powtarzających się obszarów można wyodrębnić i stworzyć z nich warsztat programisty PHP. Powinien on składać się z:

  • IDE – współczesne IDE posiadają szereg narzędzi przyspieszających prace nad projektem. Te niewielkie oszczędności czasu w perspektywie całego dnia potrafią znacząco zwiększyć wydajność programisty. Wystarczy wspomnieć o generowaniu szablonów klas, automatycznym deploy’u na serwer, wbudowanej konsoli, wbudowanych narzędziach systemów kontroli wersji, integracji z systemem zadaniowym czy podpowiadaniu składni.
  • testy – każdy duży projekt potrzebuje testów. Wiem, zajmują dużo czasu, wymagają samodyscypliny i są nudne. Jednak bez nich późniejsze utrzymanie projektu to koszmar, a każda zmiana w kodzie może spowodować nieprzewidziane konsekwencje.
  • debuger – debugowanie aplikacji jest integralną częścią życia zawodowego programisty. Od sposobu debugowania uzależniony jest czas potrzebny na wykrycie “wąskich gardeł” oraz sprawdzenie przepływu aplikacji. Debugować można na dwa sposoby – var_dump (bardzo popularny i dający mierne efekty) lub Xdebug (albo coś podobnego) dostarczający pełni informacji o badanym projekcie. Co więcej, debuger pozwala wykonywać kod wiersz po wierszu i na każdym kroku sprawdzić aktualny stan aplikacji.
  • framework – nie ma projektu, który nie rósłby z czasem. Im większy projekt, tym więcej jest potrzebnych ludzi do jego utrzymywania. Jeśli od początku będzie stosowany popularny framework, czas wdrożenia nowej osoby znacząco się skróci. Ponadto korzystanie z frameworka wymusza stosowanie przyjętych zasad programowania co z kolei przekłada się na wyższą jakość kodu.
  • system kontroli wersji – czasy, w których programista przechowywał na dysku “historię” projektu, minęły bezpowrotnie. Wersjonowanie pozwala w błyskawiczny sposób przywrócić projekt do dowolnego stanu oraz prześledzić wprowadzane zmiany. Niezaprzeczalną zaletą systemu kontroli wersji jest możliwość podzielenia dużego projektu na podprojekty i utrzymywanie ich jako osobne repozytoria.
  • system zadaniowy – miejsce do spisywania zadań do wykonania. Jeśli nad projektem pracuje więcej osób, jest to doskonały sposób na śledzenie zmian w projekcie oraz informowanie innych członków zespołu o postępie prac.
  • wiki – często zapomniany element układanki, mimo iż tak samo ważny jak poprzednie. Centralne miejsce do dokumentowania projektu, będące jednocześnie obowiązkową lekturą nowoprzybyłych członków zespołu.

Do powyższych punktów należy dodać jeszcze jeden, należący do tzw. umiejętności miękkich – brak klapek na oczach lub bardziej profesjonalnie – otwarty umysł. Świat się nie kończy na PHP i jeśli można zrobić coś szybciej/lepiej/taniej w innej technologii, to nie ma powodu, aby tego nie zrobić.

Autor wpisu: Kamil, dodany: 09.11.2011 05:50, tagi: php

Klienci nie znają litości – często proszą o drobne zmiany, których wprowadzenie może nie być tak „drobną” sprawą. „Proszę dane generować do XLSX zamiast do CSV”, „proszę o możliwość eksportu do DOC zamiast RTF” i temu podobne prośby – choć docelowe pliki niewiele się różnią to sama budowa plików różni się znacząco. Główna różnica to [...]

Autor wpisu: Michal Wachowski, dodany: 08.11.2011 22:18, tagi: php

Tak na prawdę, to ten wpis pierwotnie miał być odpowiedzią na blogu Tomasza Kowalczyka, ale rozrósł się na tyle, by stać się samodzielnym wpisem.

Autor wpisu: singles, dodany: 07.11.2011 18:38, tagi: internet, php

Od prawie dwóch lat chodził mi po głowie pomysł meetupa poświeconego typowo PHP. Gdzie spotkać mogliby się programiści doświadczeni, jak i Ci dopiero zaczynający swoją przygodę z językiem. Spotkania, które zwracałyby uwage na dobrę praktyki, a nie pisanie kodu PHPa na zasadzie „byle tylko działało”. Spotkania, które pokaże, że dowcip „programista PHP” nie zawsze jest prawdziwy.

Poźniej poznałem ludzi nastawionych pozytywnie to tego pomysłu (głównie za sprawą wszelkiego typu konferencji). W międzyczasie wystartowało meet.js (zbieżność nazw wcale nie jest przypadkowa;), które udowadnia, że da się realizować darmowe meetupy z powododzeniem. Tak więc, zachęcony sukcesem meet.js, z przyjemnością prezentuję inicjatywę meet.php.

Informacje

Nie będę podawał szczegółów tutaj, tylko odeślę na stronę meet.php. Tam znajdziecie informacje na temat pierwszego spotkania – datę, miejsce spotkania, listę prelegentów. Jesteśmy także na Twitterze i Facebooku. Feedback jak najbardziej wskazany i porządany:) Zapraszam do odwiedzin!

Prośba

Tutaj prośba do „braci” ze środowiska PHPowego (i nie tylko) o rozpropagowanie informacji o evencie. Jakakolwiek forma będzie dobra – krótki wpis na blogu, retweet, „lajk” czy też „plus jedynka” ;) Z góry dziękuję za okazaną pomoc :)

Podziękowania

Mimo tego, że projekt tej jest wspólnym dziełem moim oraz Daniela Mendalka (@daniula), ogromne podziękowania należą się także członkom Akademickiego Koła Aplikacji Internetowych oraz ekipie Coworking ZOO.

Autor wpisu: batman, dodany: 07.11.2011 08:00, tagi: php

Dwa tygodnie temu uzyskałem dostęp do nowej chmury przeznaczonej dla PHP, stworzonej przez firmę Zend. Zend Developer Cloud, bo o niej mowa, jest już trzecią chmurą dedykowaną PHP i podobnie jak PHPFog znacząco upraszcza proces tworzenia aplikacji, zdejmując z barków programisty kwestie administracyjne. W przeciwieństwie do PHPFog, Zend Developer Cloud jest darmowa.

Jak zacząć?

Proces tworzenia aplikacji na Zend Developer Cloud rozpoczyna się od utworzenia pojemnika (container). Jest to przestrzeń dla naszych aplikacji, coś w rodzaju serwera, na którym będą uruchamiane aplikacje.

image

Kilka minut po utworzeniu pojemnika, będziemy mogli wejść na wskazany przez nas adres. W efekcie ujrzymy poniższą stronę. Ważne jest aby zapisać hasło do pojemnika, ponieważ hasło to będzie używane w bazie MySQL oraz w większości innych miejsc, wymagających potwierdzenia naszej tożsamości.

image

I to wszystko co musimy zrobić, aby rozpocząć pracę w chmurze Zenda. Kolejny krok, to instalacja aplikacji.

Tworzymy aplikację

Stworzenie aplikacji jest równie banalne jak stworzenie pojemnika ją przechowującą. W chwili obecnej nie mamy zbyt dużego wyboru, który zamyka się w obrębie następujących rozwiązań:

  • pusta aplikacja PHP – standardowa aplikacja oparta o PHP
  • pusta aplikacja Zend Framework – szkielet aplikacji ZF
  • pusta aplikacja Zend Framework 2 – szkielet aplikacji ZF2
  • Drupal 7.8 – znany i lubiany CMS
  • Joomla 1.7 – j.w.
  • Magento 1.5.1 – system eCommerce zbudowany w oparciu o Zend Framework
  • WordPress 3.2.1 – znany i lubiany system blogowy
  • phpBB 3.0.9 – znane i lubiane forum

Tworząc nowy projekt warto wiedzieć, że wszystkie aplikacje zostaną utworzone w domenie pojemnika w podkatalogu o nazwie jaką dla aplikacji wybierzemy.

Z racji zainteresowań, do testów wybrałem Zend Frameworka w wersji pierwszej. Po kliknięciu w przycisk Deploy application, zostałem poproszony o podanie nazwy aplikacji i katalogu, w którym będzie się ona znajdować.

image

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Kamil Adryjanek, dodany: 07.11.2011 00:14, tagi: symfony2, php

Od jakiegoś czasu starałem się znaleźć odpowiedni moment / trochę wolnego czasu na zapoznanie się z najnowszą wersją frameworka Symfony. Jako, że wiele osób zastanawia się / rozważa migrację swoich dotychczasowych projektów, bądź też rozpoczęcie nowych na Symfony2 postanowiłem przedstawić moje subiektywne obiektywne zdanie na temat możliwości Symfony2.

Ogromną zaletą Symfony2 jest w pełni przepisany silnik frameworka, który w pełni wykorzystuje możliwości PHP 5.3. Przestrzenie nazw nie tylko rozwiązuje problem konfliktów i długich nazw ale także sprawiają, że ładowanie potrzebnych klas jest teraz znacznie prostsze.

Instalacja

Do ściągnięcia dostępna jest gotowa paczka zawierająca wszystkie biblioteki niezbędne do rozpoczęcia pracy. Osobiście polecam instalację framewokra z Gita (najwygodniej pod Linuxem, chociaż jest też ciekawa wersja pod Windowsa dla zainteresowanych). Dzięki temu wszelkie aktualizacje zewnętrznych bibliotek, czy tez bibliotek frameworka sprowadzają się do aktualizacji plików deps i deps.lock, a następnie wywołania z wiersza poleceń komendy:

</p>
<p>php bin/vendors update</p>
<p>

Bundles

Symfony2 to przede wszystkim ogromne zmiany w architekturze i organizacji kodu aplikacji. Każda aplikacja składa się teraz z pakietów: bundles – coś na wzór modułu z symfony 1.X, z tym że każdy bundle jest teraz dużo bardziej niezależny: posiada odrębną logikę, konfigurację, klasy Entity czy usługi. Dzięki temu nowy mechanizm rozszerzeń Symfony2 jest w całości oparty o bundles – w sieci można znaleźć wiele ciekawie napisanych rozszerzeń: rozbudowany panel administracyjny wzorowany na Django (SonataAdmin) + szereg rozszerzeń, biblioteka do manipulacji/modyfikacji obrazków inspirowana Pythonowym PILem (Imagine), Goutte, biblioteka do budowania scenariuszy, które są następnie wykorzystywane do testowania funkcjonalności (Behat + Mink).

Formularze

Początkowo bardzo toporne – brakuje dobrej dokumentacji. Stworzenie formularza rejestracji, dodanie walidacji (dodanie zależności między polami) stanowi nie lada wyzwanie. Nie podoba mi się przeniesienie walidacji do klasy yml/xml – tak jakbyśmy wracali do symfony 1.0. Na szczęście są annotacje, które można wykorzystać zarówno w klasach Entity, jak i Models. UWAGA na problem z eAcceleratorem – straciłem kilka dobrych godzin przez problem z obcinaniem komentarzy na serwerze produkcyjnym. eAccelerator nie współpracuje poprawnie z nowymi bibliotekami: Symfony2, Doctrine2, Zend Framework, PHP Unit, … . Niestety po kilku godzinach pracy z formularzami miałem odczucie jakby cały mechanizm był teraz znacznie bardziej skomplikowany i trudny do opanowania.

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: Tomasz Kowalczyk, dodany: 06.11.2011 15:07, tagi: css, php

Co tu dużo pisać - przed Wami kolejny Linkdump związany z PHP, zapraszam do lektury!       Fotografia: Alexandr Mitriuc @ Fotolia. Linkdump: PHP. I like PHP. I like it too. :) Warto przeczytać, dlaczego można lubić ten język. CSS Crush: PHP-Based CSS Pre-Processor. "Przetwarzacz" CSS w PHP. Open Source PHP Search Engine – [...]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.