Most Helpful Customer Reviews
|
|
38 of 39 people found the following review helpful:
4.0 out of 5 stars
Nice strategic overview, October 30, 2005
"Core Web Application Development with PHP and MySQL" is an intermediate to advanced-level guide for programmers and developers. It bills itself as "everything one needs to know about building robust database applications". That is a bit of puffery but this is a comprehensive practical guide for designing and building production-quality, database-enabled applications.
The author is an open-source platform expert and software developer. He comes from a background of working with standard desktop Windows-based applications and made the transition to building dynamic web applications. His experience in making the transition informs this book as a comprehensive explanation of how to use the various technologies that go into writing web applications. For those making similar transitions, this is a very fine presentation done by a thoughtful, systematic designer. For those already busy in the PHP/MySQL area, the advanced level of instruction is likely to be valuable.
The emphasis is on open-source applications, particularly PHP5 and MySQL in an XHTML/Javascript environment. But, beyond technologies, the author's focus is on the strategies and systematic approach one needs to design and implement successful web applications. He writes for an advanced audience which is already basically familiar with programming and XHTML. Those writing or planning dynamic web applications will benefit most from the book.
There are 33 chapters in five parts - basics of PHP, database basics, planning web applications, implementation, and sample projects. There are three appendices covering installation and configuration of PHP, MySQL, and other related open-source applications like Apache, a set of charts of database function equivalents among the leading database types - MySQL, Oracle, PostgreSQL, Microsoft SQL Server, and a short list of recommended reading.
This is a large format book of 912 pages, including index. My reviewer's copy is a prepublication version containing grayscale graphics and much white space, especially around the code snippets, making reading easy and comfortable. Although the material is high-level and technical, the writing seems light and casual. Wandschneider's writing style flows easily, never bogs down even with technical details, and the book reads much faster than one might expect.
Although the best part of the book contains the three start-to-finish sample projects at the end - a calendar system, weblog engine, and e-commerce store, the lead-in chapters are nicely done, too. Chapters 1 and 2 are about getting started in PHP. There is a brief comparison to perl and C++, but the bulk is about PHP terminology and programming concepts. Much is made of PHP5's new object-oriented features, but the discussions of that here (and in Chapter 4) was about the only parts which I feel needed more clarity - the rest of the chapters are very clearly stated and contain plenty of good examples.
Chapters 3 - 7 continue with scripting concepts like functions, classes, arrays, strings and characters. The discussion is not designed to instruct comprehensively about PHP itself but works on a higher level of showing how PHP interacts with MySQL and other technologies on an overall basis. You can get detailed PHP coding instructions elsewhere. Chapter 6 contains an unusually good discussion of character sets, usable for global applications, and provides instructions on configuring Unicode and multi-byte support for high-level applications.
Part 2, Chapters 8 - 12, take the same approach to MySQL and databases in general. They include discussion of basic terminology and concepts, designing and creating databases, storing and retrieving data, PHP-to-database connectivity, and advanced topics, like use of "transactions" and advanced querying.
Part 3, Chapters 13 - 17, deal with the server-side matters. Again, the level of presentation is not on comprehensive details of PHP, MySQL, and web services, but present a comprehensive overview to guide planning, design, and implementation. Here the author states overall design considerations of a website noting how to incorporate CSS, HTML, code libraries, user interfaces, and web services into a working dynamic website.
User management and security concerns are noted throughout the book and Chapters 14 - 17 deal specifically with validation, and software and hardware security, including tips on how to secure your server. These passages on security are some of the better and clearest written I've experienced in this area.
Part IV continues the systematic approach to website construction discussing error handling, debugging, cookies, and sessions (again some of the clearest explanations I've read), authorization, and data validation with regular expressions. Chapter 21 is entirely about globalization and localization that is, dealing with the fact that the Internet is global and that there is a need to deal with foreign language sets. There are tips on how to determine users' locations and how to script to account for different language sets, including Unicode.
Chapters 23 and 27 are about XML and are especially useful now that XML and XHTML are becoming the reigning protocols of dynamic web activity. There is an extensive sample of using XML to work with the Google API. Using XML with PHP is an advanced topic and it is only generally covered here, together with XML web services and SOAP. Other chapters cover the use of extensions to PHP, like PEAR, developing a coding "style", creating test suites, configuring PHP.ini, and more. The three working examples are extensively commented and contain complete code examples.
The book comes with a comparison CD-ROM containing all of the sample code, and versions of PHP5, MySQL, and Apache HTTP server.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
19 of 19 people found the following review helpful:
5.0 out of 5 stars
Developing applications instead of standalone pages..., November 11, 2005
I had a blog reader email me today and ask if I knew of any good books on PHP and MySQL. Being that I'd like to learn more about both of those subjects myself, I recently had requested (and had sitting in my review pile) a copy of Core Web Application Development With PHP And MySQL by Mark Wandschneider. If you're focused on *application development* (rather than just learning how to create a dynamic page), then this book works pretty well...
Contents:
Part 1 - The Basics of PHP: Getting Started with PHP; The PHP Language; Code Organization and Reuse; Object-Oriented Programming; Working with Arrays; Strings and Characters of the World; Interacting with the Server - Forms
Part 2 - Database Basics: Introduction to Databases; Designing and Creating Your Database; Using Databases - Storing and Retrieving Data; Using Databases - Advanced Data Access; PHP and Data Access
Part 3 - Planning Web Applications: Web Applications and the Internet; Implementing a User Interface; User Management; Securing Your Web Applications - Planning and Code Security; Securing Your Web Applications - Software and Hardware Security
Part 4 - Implementing Your Web Applications: Error Handling and Debugging; Cookies and Sessions; User Authentication; Advanced Output and Output Buffering; Data Validation with Regular Expressions; XML and XHTML; Files and Directories; File Uploading; Working with Dates and Times; XML Web Services and SOAP; Using PEAR; Development and Deployment
Part 5 - Sample Projects and Further Ideas: Strategies for Successful Web Applications; An Appointment Manager; A Blogging Engine; An Ecommerce Application
Appendixes: Installation/Configuration; Database Function Equivalents; Recommended Reading
Index
I differentiated the type of learning at the start of this review on purpose. It's pretty easy to go into learning a new language focusing solely on the nuts and bolts of the syntax. That's really not the pattern that's followed with this book. You don't just learn how to add some PHP code to your page in order to display the time of day to the user. The goal here is to learn how to build an *application* instead of just a single dynamic page. The layout and flow of the book supports that goal well. You start with basic PHP concepts and syntax. Then you move on to basic database concepts that are used in MySQL (and in fact *any* relational database system). Once those two basic skill sets are covered, then the blending occurs. You start learning how to use PHP to read and store data in MySQL, and those concepts are then used to build an end-to-end application. Throw in the essentials of securing your application and making it bulletproof for users, and you have a pretty encompassing guide for a development professional to use.
If PHP and MySQL were going to be something I used on a regular basis, I'd follow up this book with two specific titles for PHP and MySQL. Even though this Core title is large, there's no way it can cover all the details on either subject. And in reality, I don't think you'd want that if this is your first exposure. A practical volume such as this one will get you thinking correctly as far as design and techniques go, and then you can decide if this is where you want to commit your time and resources.
Nicely done book, and one I'd recommend for your first PHP/MySQL experience. I'll be revisiting this book myself in 2006 in order to pick up a few more skills...
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
15 of 15 people found the following review helpful:
5.0 out of 5 stars
I bought this one as my first choice, November 3, 2005
As a beginner seeking to develop as much beginning-to-intermediate knowledge and information about PHP and MySQL as possible in the coming two months, I went to local book stores to see all the titles offered on these two topics -- and to select the best.
"Core Web Application Development with PHP and MySQL" by Marc Wandschneider was the book I bought. -- [Jump down to later portions of this review if you don't want to read about how terrific the page layouts are.]
This newly published title offers the perfect blend of depth, high readability, quality writing, and outstandingly handsome and clean page design and layout -- a significant attribute in the face of so many computer books on store shelves with layouts that are so cramped, ugly, cluttered and dense.
Many computer books offer wasted galaxies of white space wrapped around text which itself has been reduced to microscopically small unreadability. In contrast, this book utilizes white space in perfect elegance and moderation. The typeface is never too tiny, and it changes frequently in helpful and readable ways. The author owes the editor and designer a high debt of gratitude for the rare and incredible job of page design.
OK, Yes, the Contents: As a motivated beginner I cannot fully address the technical content itself (since I have yet to master it), but I recognize good books -- and well-written books -- when I see them. This is one. -- [Another review located here provides a detailed breakdown of the contents, chapter-by-chapter.]
In my estimation, this book is targeted to the motivated beginner through high intermediate user, and I only say high intermediate because this generous book of 787 pages does not strive to be the super overly-complete master compendium bible on PHP and MySQL, but only a highly accessible and informative one, while still offering the reader a very nice learning curve for growth, challenge and involvement.
The essence of this book is captured in this phrase: "Challenging content; invitingly written; easily digested."
The author is to be thanked for the wonderfully clear and straightforward foundational explanations he provides in the text before bringing readers into the heart of each chapter. Those central parts of each chapter are momentarily beyond my capacity, but the outstanding introductory material at the start of almost every chapter is an immensely useful service to the motivated beginner.
Soon as I give myself a brush-up on X/HTML tags and some generic programming/coding concepts like functions and variables and calls and loops and conditionals and arrays, this beginner will be nicely prepared to dig most productively into this terrific new offering of a book.
PS -- If the beginner is not striving to be "super system administrator supreme," then by adding the above book to these several others below, he/she will have a great beginning collection by which to get a confident handle on MySQL and PHP programming concepts and skills:
-- Learning PHP 5 by David Sklar (O'Reilly)
-- PHP 5 in easy steps by Mike McGrath (Barnes & Noble!)
-- MySQL Essential Skills by John Horn/Michael Grey (McGraw Hill/Osborne)
-- MySQL Complete Reference -- Vikram Vaswani (McGraw Hill/Osborne)
Yes, I do know what the super-comprehensive "bibles" on MySQL/PHP are, and some are very successful and I may use some of them in future, but I find that I usually NEVER read "the big bibles" all the way through.
In contrast, you (if a beginner) will definitely enjoy reading the above five volumes ALL the way through, especially this delicious title at hand: "Core Web Application Development with PHP and MySQL" by Marc Wandschneider.
Help other customers find the most helpful reviews
Was this review helpful to you?
|
|
|
|
|
|
Most Recent Customer Reviews
|