2010-11-27

Recension: PHP in Action

TitelPHP in Action - Objects, Design, Agility
FörfattareDagfinn Reiersøl, Marcus Baker och Chris Shiflett
FörlagManning Publications Co
ISBN1-932394-75-3
Publiceringsår2007
Antal sidor552
Vikt920 g
Dimensioner187 x 234 x 35 mm
Pris239 kr (Bokus)



PHP in Action spänner över ett brett område. Detta är både på gott och på ont. Boken vänder sig främst till programmerare som utvecklar webbapplikationer i PHP 5 och vill lära sig objektorienterade principer och tekniker. Den har inte som ambition att lära ut PHP, och det gör den inte heller. Men för det mesta är koden enkel och lätt att följa, så även om man inte kan PHP är inga problem att förstå.

Boken är indelad i fyra delar. Del 1 börjar de första kapitlen med att ta upp grundläggande objektorienterad programmering. Därefter ägnas ett kapitel åt Robert C. Martins objektorienterade principer och ett kapitel åt designmönster (Design Patterns). Principerna och designmönsterna återkommer sedan här och var i boken.

I del 2 handlar det om testning, både testdriven utveckling (Test Driven Development, TDD) och acceptans testning (Acceptance Testing), vilket är bra. Tyvärr får TDD bara en nöjaktigt behandling. Refaktorering får välförtjänt uppmärksamhet i av ett kapitlen. På det hela fungerar del 2 som en bra introduktion till enhetstestning (Unit Testing) och acceptans testning med SimpleTest.

Del 3 handlar om webbpresentation och de speciella utmaningar som webbens tillståndslöshet orsakar. Olika sätt att generera HTML, både för hand och med hjälp av mallar (Templates) såsom Smarty och PHPTAL, demonstreras. Därefter byggs det ut genom att visa hur man kan kombinera mallarna till en komplett sajt. Användarinteraktion hanteras med MVC (Model View Controller) och inmatningsvalidering. Oavsett hur enkel sajt man själv bygger finns det mycket nyttig information att hämta här.

Det är snarare regel än undantag att det finns en (MySQL) databas bakom sajten. Den avslutande delen tar upp databashantering och olika sätt som man kan binda relationsdata till objekt. Del 4 ska mest ses som en sammanfattning och jämförelse av olika tekniker.

Avslutningsvis finns det två appendix. Det första är en bra introduktion och referens till SimpleTest. Det andra är en kortfattad och givande genomgång av säkerhet i PHP.




Bredden i PHP in Action är bra för de PHP programmerare som inte tidigare kommit i kontakt med koncepten och teknikerna som introduceras i boken. Vissa saker är viktigare än andra tycker jag, men allt som tas upp är bra att känna till. Och om det är något av det som man inte känner till, så är de refererade böckerna bra läsning.

Boken är gammal i den bemärkelse att PHP fortfarande utvecklas och förbättras. Vissa saker behandlas inte i detalj med motivering att det är nytt och tillämpligheten och nyttan än så länge är okänd, vilket är bättre än att spekulera om eventuell nytta.

Bredden är samtidigt svaghet med PHP in Action. Den går aldrig riktigt på djupet och förklarar varför man ska göra på ett visst sätt. Utan den förståelsen är det svårt att tillämpa det boken försöker lära ut. Av allt som tas upp skulle jag påstå att testdriven utveckling det enskilt mest betydelsefulla och skulle haft betydligt större plats i boken. Gärna genom att mer av koden TDD:ades fram.

Även om det hade blivit mycket kod så hade jag föredragit att en komplett sajt byggdes upp genom boken. Det hade bidragit till kontinuitet. Som det är nu så känns boken stundtals lite upphackad.

Om du redan är bevandrad med det som PHP in Action tar upp så har du kanske inte lika mycket att hämta. Det som kan vara intressant är att se det i PHP-tappning och webbkontext (med de utmaningar det medför).

Inga kommentarer: