Rails for PHP Developers (Pragmatic Programmers) by Derek DeVries and Mike Naberezny
As a PHP developer, you have some great tools for developing web applications. Ruby on Rails is another key tool to add to your web development toolbox. Rails is a high-level web development framework that emphasizes high productivity and clean code. However, the Ruby language and Rails framework take a different approach from the way many PHP developers write applications. Ruby lies at the foundation of Rails, and we'll teach you the Ruby language from the beginning by building on your existing foundation of PHP. We'll explore Ruby through parallel code examples that illustrate the differences between the languages, and help you understand the Ruby idioms and how they differ from popular PHP code and style. You'll then learn the Rails framework by iteratively building a complete application, starting from the home page through to a finished product. Along the way, you'll build your skills as a Rails developer by learning the Rails fundamentals such as MVC structure, domain modeling, and testing.