Friday, October 22, 2010

books 4 php

11 Must Read Books to Become a PHP Ninja

Every language has it own practice. PHP is no exception. Mastering PHP isn’t easy unless you study hard.

Learning OOP is hard if you don’t have an experience with enterprise languages like Java or C++. Most of the popular books on OOP are targeted for Java users. PHP is a script language, but it is objective-oriented. I’d like to list several books that I find useful for PHP users who are eager to learn OOP and some other intermediate and advanced concepts.

This book is immensely useful even if you have partial knowledge about OOP. As this book is fully updated for PHP 5.3, you can learn about new features like closures and namespaces. Discussion on design patterns is easy to understand.

Not only that, this book mentions development practices such as version control, package management and continuous integration. The version control can be a different matter, but discussion on continuous integration is hard to find elsewhere.

Larry Ullman, the author of the book, already has published many books on PHP and MySQL. What’s notable about this book is, this book claims the support of PHP 6. PHP 6 hasn’t actually been shipped. And many features in PHP 6 are backported into PHP 5.3.2. This book comes as a few sample applications where you can feel the “real” issues. The author clearly introduces every basic, but important concepts in PHP.

This cookbook discusses many problems and its solutions you encounter everyday. Database connection, XML parsing/building, SOAP, REST, and OOP. As this is a recipe-style book, it doesn’t talk about the problem at full length. But this introduce each problem and solution just enough. If you need to explore each topic such as OOP, you need a different resource for that.

The book is rather advanced. If you already know PHP to some extent, this is a must-have. The author talk about advanced concepts in OOP, design patterns, documentation in details. If you are developing a large scale PHP web applications, this book is helpful for your team. One of the rare books that talk about such advanced concepts in a easy-to-follow manner. As an MVC framework, Zend Framework is briefly discussed.

Most applications need JavaScript. And these days most apps use libraries. Among them, jQuery is one of the most popular libraries. It is used in WordPress, Drupal, Digg, NBC, DELL and many others. PHP programmers need to work with frontend developers to bring the best user experience. This book serves as a good introduction to OOP in PHP and jQuery.

This is not exactly about PHP, but Apache is dead. Learn to use Nginx. Nginx is the future. If I’m correct, this book is the only book dedicated for Nginx. If you are already used to Nginx, this book may be too easy. But for newbies, the author explains basic settings in details. Some chapters are written for switchers from Apache.

If you need thorough and advanced understanding of object oriented design, this is a great book. This book also discusses agile development techniques such as unit testing, refactoring and MVC architecture. It’s hard to find a book like this in the PHP world, so this 552-page book from Manning is worth.

Websites can’t live with web APIs. Neither can PHP developers. Experience with some popular APIs is not a bonus, but one of the core skills you need to have. The book introduces major API’s basic usage. Be warned API specifications may have changed since the publication of the book.

Learning each API doesn’t make you build a successful web application. Rather you need to integrate the API to offer functionalities for users. If you need Web 2.0 type websites with API integration, this book comes handy.

REST, Representational State Transfer, is an architectural pattern for HTTP methods and resource handling. REST provides a simple, yet powerful solution. The author discusses the concepts in REST in theory, and also shows various real examples using WS02, RESTClient and Zend Framework.

Got a kid? If you are already a PHP ninja and have a kid, let your your kid learn programming! Your kids don’t need to know PHP at all to enjoy the book.

Lastly, I didn’t talk about frameworks in details. Learning frameworks is a must-have skill. If you are new to any framework, pick Zend Framework or Symfony. They are popular and have an incredible strong community