I find Zend Framework to be very great for php developments. Its api doc is of high quality and its ref manual is not bad. Once you’re used to it, it speeds up your developments a lot, but above all makes them easier to maintain.
Another great point of using this framework is that it helps you benefit from industry standards you may not know.
For instance I wanted to translate my website (www.qc4web.com) both in English and Spanish. At first I thought defining PHP constants and include correct file depending on which language is active. I’m pretty sure it would work well, but I gave a look at Zend_Translate, and it made me discover how translation professional works.
Learning curve in this area, especially if you use open-source tool Pootle, is very high (pootle documentation is so bad!), but I am pretty sure It will benefit on the long run.
=> I used Zend_Translate_Adapter_Xliff (I chose xliff format because it’s xml based and pretty forthcoming), and I tried to use Pootle as translation interface.
Implementing pootle generated files, I found some bugs / limitation to Zend_Translate_Adapter_Xliff, v.1.3 and raised bug reports for each:
- http://framework.zend.com/issues/browse/ZF-4084
- http://framework.zend.com/issues/browse/ZF-4085
- http://framework.zend.com/issues/browse/ZF-4087
Basically, what you must keep in mind is that Zend_Translate_Adapter_Xliff except your xliff file to have a target-language attribute in its <file> node. According to Oasis specification, this attribute is optional, and for now I did not find how to make it appear in pootle generated document (=> I add them manually), but you definitely must add it or implement sthg like the solution I proposed in bug reports (but each time you update your zend framework, you will need to make the changes again).