PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide (3rd Edition)

Welcome to the companion Web site for the third edition of the book PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide, written by Larry Ullman and published by Peachpit Press. This page is specifically for the book’s third edition, published in September 2012 (ISBN 978-0321832184). The second edition was published in March 2007 (ISBN 0-321-37601-3). If you are using the first edition of the book, you should go to that page. The first edition was published in December 2001 (ISBN 0-201-77597-2). If you are using the first edition of the book, you should go to that page.

You can download the code for the book using the link below. If you have any questions or problems, I’d recommend using the book’s corresponding support forum, where you’ll get the fastest answer.


Every script in the text is available here to be downloaded. Some things you should know:

  • Although these scripts are named or numbered as they are in the book, they do include any updates and changes as warranted by errors that were found after publication. Thus, if you are having problems with a particular script, download the most current version here or check the errata section.
  • These are the scripts for the THIRD EDITION of the book. If you are using a different edition, click the appropriate link above to find the correct page.
  • These scripts have been formatted with line breaks that will work on most systems running most text editors. If you have difficulty opening a script, try:
    • adjusting the way your text editor treats text files
    • using a different text editor, if possible
    • posting a message to the online forum, asking for help

Complete Set of Scripts and SQL Commands (261 KB, last modified 09/12/2012)

65 responses to PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide (3rd Edition)

  1. Just got the book today, looking forward to the read! You are an excellent writer!

  2. I bought most of your books including this and its earlier version. Your approach is the best for learning. “Modern Javascript. Develop and Design” is the only one I found difficult to follow. I bought the third edition of this book (PHP Advanced and Object-Oriented Programming) because I read earlier in your forum that it was going to have a whole chapter on Zend framework. I have not seen any and I am just wondering if I got it wrong, and If so are you planning anything on the Zend framework?

    • Thanks for the interest in my books and for the nice words. Sorry for the confusion regarding the Zend Framework. I was originally thinking of including a chapter on it but that didn’t end up happening. For what it’s worth, I wasn’t really planning on showing how to use the Zend Framework to create a complete site, if that’s what you were looking for. I don’t particularly care for the Zend Framework as the entire basis, but I do use pieces of it as needed. That’s how I was going to write about it. I’ve written a bit about ZF in this manner in this blog.

  3. just bought your book ! wanted to thank you for all the great effort you put to make your books unique from all the other books. your books helped me a lot . keep up the good work larry !

  4. I bought this book here at Serbia. It’s really great. Keep up Larry!

  5. I am a lecturer at Green Village College , Israel. My course on WAMP uses your books.
    I will appreciate your permission to put some of your scripts on my WEB site.
    Baruch Ben Yakov

    • Thanks for using my books and asking about permission. I would like to say “yes” without restriction, but it depends upon what you mean by “put”. The book is copyrighted material and reprinting material could be a violation of copyright law (more of an issue for my publisher than for me). Please email me directly about this and provide more specifics. Thanks!

  6. I’m a bit confused what are the main differences between this book and your other book
    PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide (4th Edition).

    My main interest now is that I have an idea of developing a PHP and MYSQL Web application.
    I was thinking about using yii as a framework for that.
    But I’m not that experienced yet in writing PHP, and look for a decent base how to start planning and developing a web app and designing the right MYSQL table structures.


    • Thanks for the interest and for the question. The “PHP & MySQL…” book is for beginning to intermediate level Web developers. It assumes only some previously programming experience or an ability to learn pretty well at a fast pace. By the time you’re done reading it, you’ll be an intermediate+ Web developer. The “PHP Advanced and Object-Oriented Programming” book is for intermediate+ programmers and explains advanced topics/techniques plus OOP in great detail. It sounds like the PHP & MySQL book would be most appropriate for you.

  7. Hey Larry, I m having trouble spotting the style.css file that this book uses in its examples – it does not seem to be in the zip file

    Should I be looking elsewhere?

    • Sorry about that! I just re-uploaded the scripts and put the CSS file in the root folder. Thanks for bringing that to my attention.

      • Larry, Having similar problems. I downloaded the zip file and when I look at it on a Windows box using Cam UnZip I see two sets of files. The first set is in a folder named __MACOSX and these files appear to be binary or compressed. I viewed/extracted some of them and they don’t seem usable. The second set of files is stored in the folder phpvqp3_swcripts which I assume is the correct folder. To make long story short the style.css still does not appear to be in the zip file in a usable format. Might have something to do with me using Windows or maybe I need to use a different zip program.

        • Sorry for the problems. Just to confirm, what version of Windows are you using? And the “style.css” script is not in the phpvqp3_scripts directory (in that directory, with the README, not in a subdirectory)? Do you get different results if you don’t use Cam UnZip to expand the file?

  8. Keith Stebleton December 1, 2012 at 4:43 pm

    Larry, not seeing your image files on the zip file? Am I looking in the wrong spot?

  9. Hi Larry,
    I’m confused what is the different between this book and PHP 5 Advanced: Visual QuickPro Guide?

    • Sorry for the confusion and thanks for the interest. “PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide (3rd Edition)” is the third (and at the time of this writing, most recent) edition of my “PHP Advanced” book. The “PHP 5 Advanced” is the second (i.e., older) edition.

  10. Thanks a lot! Very useful.

  11. Hi Larry,
    I am new to PHP but quite familiar with python/java. I also built a website on Django. Now I would like to learn PHP/Yii since it is more popular. I browsed several books on your website and also on Amazon. It is amazing that all your books got 4 star above evaluation. But there are quite a lot of them. Could you give me an reading order of your books? I may need an order of 2-3 books so that I could have a good view and some hands-on experience of PHP/Yii in about 1-3 months. Thanks a lot.

    Hui Qi

  12. Larry nice book, worth buying. I’m learning PHP since a few months and finally I’ve found that is between the basic and the extremely advanced stuff. One thing I would add to a next edition is a chapter on the model-view-controller and a step by step guide on how to implement it.

  13. Larry, using Netbeans, Xampp and cannot get the style sheet to work with ch 02 example. Any idea why it won’t work?

    • Larry, I think problem is the stylesheet included in the zip file. It doesn’t appear to be properly formatted. I went to the site of the template designer and downloaded the template and stylesheet and they worked fine.

  14. sorry. my english language is not good.
    i am from asia and my country is Boycot Because politicians and I do not have access to your books.
    I knew your book is excellent so i search in google and download you book as PDF.
    I sent this message to inform you of my situation and Forgive me.

    • Thanks for your honest and for the nice words. It is appreciated. I’d prefer people not steal my books, but I can understand the situation you are in. Best wishes.

  15. I can’t seem to find the zip_codes.txt file in this download. Am I missing it?

    • As I say in the book, I cannot provide that file legally. You’ll need to find a source (pay or free) of the zip codes database for you to use.

  16. Hi Larry,

    I want a french version of this book, is it available?

    Thanks :)

    • Thanks for your interest. Unfortunately the answer is “I don’t know.” I would contact your local bookstore or localized version of Amazon to see if it’s available. Sorry I couldn’t be more helpful!

  17. Lary you are my favorite author when it comes to PHP. I am going to buy this book too..

  18. Hi Larry,
    Is the printed version of this book include digital version, or must I buy deparately?

    • Thanks for your interest. I don’t have much to do with the sales of the published books, but I do know that if you buy them from the publisher’s Web site, you can get the print and digit versions together. Here’s a direct link:

      You can use the promo code “ULLMAN” to save 35%.

  19. Hello Larry,

    I am also interested in the digital version of this book. Is it pdf?


  20. Thanks for excellent, I read your php quick visual.After reading your book i got job in php.

  21. I did buy yours yii ebook and php advance .you are my favorite writer too.yours book easy to understand thats different from others.thank you very much sir.

  22. Hi Larry. Thanks for the awesome book! You have moved my web programming to a completely new level. Keep up the good work!

  23. Working through the book and noticed in Chapter 9, in the code you have require(‘HTML/QuickForm2.php’) on line 15 in add_page.php However, there isn’t a HTML folder or any form files. I’m a visual person so was trying to reference the code to see how the forms were being built.

    • Sorry about the confusion. It requires that you install HTML QuickForm2 first, which will create those files and folders wherever your PEAR files are.

  24. Hi, I have the 4th edition of the book. Do you have a different file set for that version?

    • Hello Karen. Thanks for the interest in my books. The PHP Advanced book only has three editions. Perhaps you’re looking for the PHP and MySQL book?

  25. Hello, I am formerly a C-variants programmer who has written quite a bit of object oriented code. I started with this book and will most likely purchase your “PHP & MySQL for Dynamic Web Sites” book as I am having a bit of difficulty with the handling of arrays (objects). I am a person who needs to understand why something happens.
    In particular, line 27 of Script 1.3 which reads ‘foreach ($parent as $task_id => $todo) {‘. My failure to understand here is how php knows to throw the string value of this parent item to the $todo variable.
    In fact, while debugging line by line, I find that the variable $task_id is in fact the string value. I would have thought that $task_id would have been one of the sub-arrays of the $parent. Why is this not the case?
    I suppose my issues like in the syntax being rather different and the fact that php value types are loosely based. Therefore, will “PHP & MySQL for Dynamic Web Sites” or can you point me in a direction that I might gain some insight.
    My reasoning behind the question is that tables in a project I wish to pursue will contain a self-referential basis such as parent_id but will likely contain several fields of string values.

  26. it is the best book ever i read, but after chepter 9, it is quite hard to understand :/

    • Thanks for the nice words. I really appreciate it. If you have any problems understanding the content, just post a question in the supporting forums.

  27. I have a number of your books in various editions. I recently went back to college to get my associates degree in programming, graduating in 2008, my first programming class was in 1979 in Basic. Procedural Programming has always been easy for me to learn. I have taken classes in HTML C++, Java and Visual Basic among others. I did very well in the C++ class but we did not do OOP in that class. I learned enough about OOP to be able to do very well in Java without really understanding what I was doing (I knew what to do but did not really understand why). The first book of yours I bought was PHP for the Web 2nd Edition, I quickly got PHP and MYSQL second edition (that copy is very dog eared). I even bought the MYSQL book. I got the 3rd edition of the PHP and the PHP and MYSQL books. I also got the 4th editions of both those books for my Kindle within the last year. The chapter in the PHP and MYSQL book on OOP just made sense to me. The I recently started a project on my own time (which is what all of my PHP programming has been) that got complicated when I tried to do it in a procedural way. So I bought this book deciding that maybe I could understand OOP now. I finally get it after taking my first OOP class in 2007 7 years later it now makes sense. Thank you so much, now on to JavaScript (Of course I’ll get your book) which I hope my new found understanding of OOP will make it easier to learn than the last time I tried to learn it.

  28. Heyaa ! I wanna ask one thing Where from i can download such book I really need to get news from your side to get this book. I didn’t find any download links to this book, can you provide me some links.

  29. I can’t find the css file for the chapter two example. Where can I download it? (great book by the way)

  30. how i download the book??

  31. Hi Larry I am a Web designer and i have 1year of experience in HTML, CSS and JAVASCRIPT. Now i want to move as a php developer and also i got an call letter for PHP developer Position that is to be held on 5/01/2015. Can you suggest me which books will help me to crack my interview.

  32. Hi Larry, just love your books. Thorough without bogging the reader down. I am currently learning/reading “6 & 5 For Dynamic Websites” and am a little confused on how to proceed in a logical fashion. Which *current* book would be next in the progression? Thanks, again!!

  33. Just got the book, but it looks like a winner. Thanks for the scripts – sparing me a lot of eyestrain not to mention typing!

  34. thanks sir, i love your book, am reading 4th edition now, its very helpful

  35. Hi, I have downloaded ‘’, but unable to extract. Any ideas? I am running Windows 7.

    Great books Larry!!


Leave a Reply


Text formatting is available via select HTML. <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>