Finalmente un libro su cakephp avanzato

Ecco uno di quei momenti “oh, si!” che raramente capitano, ma capitano.
L’ho scoperto per caso, mentre verificavo altre cose:

CakePHP 1.3 Application Development Cookbook (RAW)

L’ennesimo libro su cakephp? Si (beh, non che ce ne siano poi olti in giro), però finalmente si tratta di un manuale “di ricette” avanzato – che va al di la dei concetti di base, del book, del blog tutorial. Il manuale parte infatti dal presupposto che il lettore abbia già un minimo di familiarità con i farmework mvc ed un minimo di esperienza con cakephp, ed affronta in dettaglio vari aspetti dello sviluppo di applicazioni – dai meccanismi dell’Auth component, alle query complesse, all’uso avanzato di containable per manipolare le relazioni tra modelli e tante altre cose utili e spesso non sufficientemente documentate.
Soprattutto, a differnza di almeno un esempio simile, è scritto da uno che se ne intende – un nome certamente già noto per chi ha utilizzato cake almeno una volta:
Mariano Iglesias, già contributor del core di cakephp e autore di vari plugin. Il manuale sembra non una mera operazione commerciale, ma frutto di esperienze reali e di lavoro quotidiano con il framework.

Il libro è già disponibile nella versione RAW (una specie di beta.. vengono aggiunti i nuovi capitoli quando disponibili), in formato pdf (seguiranno epub e mobi). Pre-acquistando anche la versione cartacea, questa verrà spedita una volta pronta.

Segnalo, dalla prefazione, i contenuti del libro:

Chapter 1, Authentication, explains how to set up authentication on a CakePHP application.
We will setup a basic authentication system; create different modes of authentication by
modifying the Auth component. Learn to limit access to certain actions by role using routing
prefixes and setup ACL on your application. We will also add support for OpenID logins in a
transparent way, while still working with a valid Auth implementation.

Chapter 2, Model Bindings, deals with one of the most important aspects of a CakePHP
application: model bindings. In this chapter, we will go through a series of recipes that will
show us how to change the way bindings are fetched, what bindings and what information
from a binding is returned, how to create new bindings, and how to build hierarchical data
structures.

Chapter 3, Pushing the search, we have several recipes to make the most out of available
find options—first, all, count—and to resort to manual SQL based queries when the need
arises. The last recipes in this chapter show us how to create our own find type, with
pagination support.

Chapter 4, Validation and Behaviors, deals with two aspects of CakePHP models that are
fundamental to most applications: validation and behaviors. With the recipes in this chapter
you will be able to ensure that data follows a certain format by using the validation rules.
We also look at CakePHP’s behaviors that allow us to extend the functionality provided by a
model, using callbacks to manipulate the data before it’s saved, or after it’s fetched

Chapter 5, Datasources, we will see how we can manipulate data using CakePHP applications
without knowing the specifics of how its stored, or fetched. In this chapter we will learn to get
information from existing datasources, use pre-built datasources to deal with non-relational
data, and also to create a full-featured twitter datasource.

Chapter 6, Routing magic, guides you to optimize URLs that access different parts of your
application for search engines using CakePHP routes. Optimize routes to leverage our search
engine placement by configuring route parameters. Finally, you will see how to create highly
optimized URLs for our user profiles, and how to build custom Route classes to obtain even
more flexibility.

Chapter 7, The web is a service exposes application functionality to third party applications and
integrates foreign services into your own applications using Web services. This chapter covers
recipes to consume web services, and to expose parts of our application as web services.

Chapter 8, Shells, introduces you to one of the most powerful feature of CakePHP. This
chapter starts with the process of building basic shells, and then moves on to more advanced
features. This chapter will guide you to build command line tools to perform intensive tasks
such as sending emails, and running controller actions from shells.

Chapter 9, Internationalization, will show you how to internationalize all elements of your
CakePHP applications, including static content (such as those available in views), and
dynamic content (such as database records.) This chapter will help you run CakePHP’s
built in tools to extract all content that needs translation, and then translate that content
to different languages.

Chapter 10, Testing, covers one of the most interesting areas of application programming: unit
testing through CakePHP’s built in tools. In this chapter we will explore the different built-in
tools, which offer a complete and powerful unit testing framework.

Chapter 11, Utility classes and tools, introduces a set of utility classes and helpful techniques
that improve the architecture of a CakePHP application. In this chapter, you will learn to send
emails, detect file type, and create application exceptions.

L’ho acquistato subito, ed ora campeggia sul mio nuovo gioiellino. Appena iniziato, attendo con impazienza la versione epub, la prima impressione è comunque ottima.

Sviluppi con cakephp? Buy it now!
Ancora non usi cake ma è una possibilità? Compralo comunque, e leggilo di seguito a questo o questo.

  • stefano_ma

    Avevo dubbi su eventuali question di copyright nel pubblicare un estratto della prefazione del libro.

    Ho chiesto direttamente a Mariano Iglesias, che, cordialissimo, ha risposto che non ci sono problemi e, soprattutto, sono in arrivo nuovi capitoli con “ricette” non ancora disponibili nella versione RAW.

    Un motivo in più per acquistarlo!

  • Sergio Ferrari

    A proposito dei libri su CakePHP:
    per chi si approccia al framework quale consiglieresti fra questi:
    1) Beginning CakePHP: From Novice to Professional
    di David Golding
    2) CakePHP Application Development…
    di Ahsanul Bari e Anupom Syam
    3) Practical CakePHP Projects…
    di Kai Chan, John Omokore e Richard K. Miller
    oltre al libro di M. Iglesias che hai recensito?
    Grazie.
    Sergio

  • stefano_ma

    Direi che l’elenco è già nel mio ordine di preferenza come manuale introduttivo.

    Sicuramente consiglierei quello di David Golding per primo. Anche CakePHP Application Development può andare bene come primo approccio.

    practical cakephp projects mostra esempi più o meno classici ma che talvolta, nella sostanza, si allontanano un po’ da cakephp.

    In tutti e tre si possono trovare spunti interessanti, ma direi che la mia “classifica” personale è questa.
    Da tenere presente che sono tutti, se non ricordo male, relativi a cakephp 1.2 – In cake 1.3 ci sono cambiamenti significativi.. alcune cose come la parte ajax sono cambiate completamente, per alte bastano piccoli aggiustamenti.

    Quindi, oggi come oggi, consiglierei CakePHP: From Novice to Professional + il book.cakephp.org alla versione 1.3. E soprattutto il tutorial ufficiale (ed eventuali altri che si trovano in giro)
    Eventualmente, se c’è tempo, anche CakePHP Application Development