[PHP, Design patterns] Pro PHP Patterns, Frameworks,Testing and More

Započeo holodoc, 24.08.2008, 15:24

prethodna tema - sledeća tema

holodoc

Hteo bih da predstavim još jednu izvanrednu knjigu kojoj je namena da upozna buduće potencijalne PHP profesionalce sa materijom koja se smatra veoma naprednim PHP razvojem.

Odmah na početku da se razumemo da je ovo knjiga namenjena isključivo dobro priučenim i naprednijim PHP programerima i da pre svega bez nekog osnovnog poznavanja objektno orijentisanog programiranje ne treba ni da pomišljate da se upuštate u avanturu zvanu čitanje ove knjige. Ukoliko ne vladate dobro PHP-om i materijom koja ide uz učenje istog preporučujem da pročitate knjigu koju sam prethodno opisao a za koju opis možete naći na sledećem linku (http://csl.tfc.kg.ac.yu/forum/index.php?topic=62.0). Autor knjige je Kevin McArthur, reklo bi se samopriučeni PHP developer, koji danas vodi izuzetno poznatu firmu orijentisanu na PHP razvoj (http://www.stormtide.ca/) i koji je  saradnik na projektu ZendFramework.

U suštini knjiga je tematski podeljena u nekoliko delova pri čemu je uvod rezervisan za objašnjavanje nekih izuzetno važnih pojmova koji će biti izuzetno često korišćeni u dajem izlaganju. To su pre svega objašnjenja termina kao što su apstraktne klase, interfejsi i "programiranje po ugovoru" (programming by contract) kao i veoma konciznan pristup približavanju konceptu korišćenja statičkih promenjljivih i metoda. Jedan dobar deo uvodog dela knjige posvećen je upoznavanju sa dva najpoznatija design patterna koji se intenzivno koriste u PHP razvoju a to su singleton i factory design patterni.

Nakon toga slede poglavlja o izuzecima (exceptions) kao veoma važnom delu bilo kog objektno orijentisanog jezka. Veoma veliki deo "sredine" knjige posvećen je generalnom ukazivanju na novine koje donosi nova PHP verzija 6 pri čemu ipak treba uzeti u obzir da su u pitanju podaci koje zbog prirode samog projekta (PHP 6 još uvek nije objavljen) treba uzeti sa određenom rezervom. Nakon ovog izuzetno interesantnog uvoda u mogućnosti onoga što dolazi autor nas upoznaje sa načinima primene alata za dokumentovanje projekta gde obraća posebnu pažnju na već nekoliko puta ovde spomenuti phpDoc poznat i kao phpDocumentor. Tu ćete naći veoma iscrpno objašnjenje o načinima na koji se može napraviti tzv. "on the fly" dokumentacija i sl.

Jedno posebno poglavlje u knjizi je posvećeno tzv. Reflection API-ju. Iskreno da me pitate sada šta je to ne bih baš mogao preterano da vam pomognem jer ni sam baš nisam shvatio o čemu se ovde radi osim da je pomenuti API izuzetno koristan sastavni deo kod razvoja različitih "plugin based" sistema. Sledi poglavlje o korišćenju phpUnita za automatsko testiranje aplikacija i nekoliko poglavlja koja se koncentrišu SPL tj. standardnu PHP biblioteku koja donosi veliki broj izuzetno korisnih koncepata kao što su iteratori, overload nizova, observer design pattern, serijalizaciju itd. Stvarno, SPL-u su posvećena čak 5 poglavlja što samo znači da je u pitanju izuzetno važan deo PHP-a.

A onda poslastica :D Četiri cela poglavlja su posvećena MVC arhitekturi i Zend Frameworku kao najpoznatijem frameworku za razvoj PHP aplikacija. Ono što je izuzetno dobro odrađeno u knjizi jeste to da je u poglavlju o MVC-u propraćen primer vezan za kreiranje jednog potpuno samostalnog MVC projekta kroz koji su objašnjeni osnovni principi korišćena te arhitekture. Priča se nastavlja i u nekoliko poglavlja koji slede a koja su vezana za Zend Framework gde ćete u stvari shvatiti zbog čega ste čitali sve ono što je izloženo u prethodnim poglavljima.

Kraj knjige zaključuje rasprava o Web 2.0 tehnologijama gde autor daje bliže objašnjenje o korišćenju AJAX-a odnosno primeni JSON tipa podataka kao posredniku između PHP-a i Javascripta. Slede dva poglavlja web servisima kao i izuzetno interesantno poglavlje o instalaciji i korišćenju SSL-a (čik pogodite da li ovo ima veze sa aktiviranjem SSL-a na CSL-u).

Ukratko... Radi se o izuzetno kvalitetnoj knjizi čiji sadžaj se zasniva na suvim praktičnim iskustvima čoveka koji već veoma dugo koristi PHP kao osnovnu razojnu tehnologiju. Sva poglavlja su veoma dobro propraćena primerima koji su fantastično međusobno integrisana. Poglavlja o MVC-u i Zend Frameworku su izuzetno dobro objašnjena zbog čega slobodno mogu da kažem da knjiga sadrži sve što je potrebno bilo kome ko ima nameru da se bavi Zend Frameworkom da veoma dobro savlada osnovne i neke napredne principe korišćenja. Ono što je interesantno u ovoj knjizi je da taman kada se zapitate a kako se ovo radi autor kao da vam čita misli i onda usledi par veoma konciznih i jasnih rečenica kako to da izvedete.

Apsolutno sve preporuke.

Naziv knjige: Pro PHP Patterns, Frameworks,Testing and More
Autor: Kevin McArthur
Objavljeno: Mart, 2008.
Izdavač: Apress (http://www.apress.com/)
<?php
abstract class Ignorance extends Stupidity implements Unavoidable 
    private function 
__construct(){
        
parent::__destruct();
    }; 

// EOF -> life.php

Marko Аcović

Uspeo sam da dodjem do knjige. Mogu da kazem da se PHP svojim mogucnostima opasno priblizio pravim objektno orjentisanim jezicima, poput jave ili C#.
Pridruzujem se stavu kolege Brezanca. Sve preporuke za knjigu.