Welcome to www.myphpbook.com, the official support site for Practical Web 2.0 Applications with PHP by Quentin Zervaas. If you are considering buying this book, you can find a comprehensive description below, as well as a link to buy from Amazon.com in the right-hand column. If you have already purchased this book, you can find various support materials on this site, including downloads of all the source code in the book; bonus code and articles; and answers to frequently asked support questions.
Book Description
In Practical Web 2.0 Applications with PHP, PHP, MySQL, CSS, XHTML, and JavaScript/Ajax development techniques are brought together to show you how to create the hottest PHP web applications, from planning and design up to final implementation, without going over unnecessary basics that will hold you back. This book includes must-have application features such as search functionality, maps, blogs, dynamic image galleries, and personalized user areas. The Zend Framework is used extensively to build the application, allowing you to focus on developing the application rather than on reinventing the wheel.
Chapter Summary
Select a chapter below for a description.
- Chapter 1, Application Planning and Design
We begin the book by looking at what defines Web 2.0, as well as looking briefly at the features that will be implemented in the application. Additionally, this chapter covers various aspects of the web development life cycle that should be considered when planning and implementing web applications.
- Chapter 2, Setting Up the Application Framework
In this chapter, we begin to implement the web application. This process begins by correctly setting up the environment (that is, installing the correct web server software) and then by creating the initial file structure of the site. In addition to connecting to the database with PHP, we will handle user requests with the Zend Framework and manage HTML code using the Smarty Template Engine.
- Chapter 3, User Authentication, Authorization, and Management
This chapter gives the first look at using a database. We look at how to easily manage database data when we implement the user system. Additionally, we look at how a role-based permissions system works and then implement it into the application.
- Chapter 4, User Registration, Login, and Logout
Continuing from Chapter 3, this chapter shows how to implement a user registration system. Since this is the first time the book deals with user-submitted data, this chapter looks at how to correctly deal with such data when we create the registration and login forms.
- Chapter 5, Introduction to Prototype and Scriptaculous
Since we make heavy use of JavaScript and Ajax in later chapters, we move away from the main application in this chapter while we explore two of the most useful JavaScript libraries available. Prototype helps programmers develop easily maintainable cross-platform JavaScript code, while Scriptaculous simplifies the process of adding appealing visual effects to web pages.
- Chapter 6, Styling the Web Application
In this chapter, we step back slightly from the web application in that we focus more on the user experience rather than on the main application features. We first look at implementing various navigational items (which also gives us a first taste of developing custom Smarty plug-ins), and we then complete the chapter by implementing a simple and clean web design into the application.
- Chapter 7, Building the Blogging System
This chapter moves on to beginning the implementation of the blogging system. In this chapter, we give users the ability to add, edit, and delete their blog posts. One of the key concepts covered is how to correctly allow user-submitted HTML while keeping the site safe and secure for visitors.
- Chapter 8, Extending the Blog Manager
This chapter largely builds on what was implemented in Chapter 7. A comprehensive Ajax example is included in this chapter that we will use to help users manage their blogs. We also integrate an open source What You See Is What You Get (WYSIWYG) editor into a blog post creation form.
- Chapter 9, Personalized User Areas
At this point in the book, users can create a new account as well as manage their very own blogs. In this chapter, we make their blogs public in the application. We give each user a public home page within our application web site in which all of their blog posts are shown. This chapter shows how to implement more advanced URL schemes, as well as shows you how to enable users to customize their own experience by managing their own profiles and settings.
- Chapter 10, Implementing Web 2.0 Features
Although several of the features we define as Web 2.0 (such as standards compliancy and Ajax) apply throughout web applications, a few concrete features are often defined as being part of the Web 2.0 movement. In this chapter, we will look at some of these, including microformats, web feeds (RSS and Atom), and tagging.
- Chapter 11, A Dynamic Image Gallery
In this chapter, we expand the capabilities of the blogging system by allowing users to upload photos for each of their blog posts. This allows us to see how to correctly handle not only file uploads but also imagespecific issues, such as dynamically generating thumbnails.
- Chapter 12, Implementing Site Search
This chapter is essentially split into two parts: creating search indexes based on user blog posts and then allowing site visitors to search for posts. Indexing data can be a complicated topic, but by using the tools provided by the Zend Framework, the task is made simpler. After implementing the basic search functionality, we extend it to use an intuitive Ajax-based autocompleter, similar to that of Google Suggest.
- Chapter 13, Integrating Google Maps
You as a developer can use many freely available web services on the Internet to improve your own web site. In this chapter, we extend the blog capabilities further to allow users to add locations to their blog posts using Google Maps. We create an advanced sample implementation of Google Maps that combines the Google Maps API with our database using Ajax, as well as learn how to manage map data in real-time.
- Chapter 14, Deployment and Maintenance
In this, the final chapter, we cover a number of miscellaneous topics related to developing a polished application. This is partly an extension of some functionality implemented in Chapter 2 but also introduces several new ideas (such as application deployment).