PHP Solutions and two other books now on Kindle

If you’re in the United States and own a Kindle, you can now get PHP Solutions, PHP Object-Oriented Solutions, and Foundation PHP for Dreamweaver 8 delivered wirelessly to you in just a minute after placing your order on Amazon.com. This means that most of my books are now available on Kindle.

The only recent ones not yet available on Kindle are The Essential Guide to Dreamweaver CS3 and The Essential Guide to Dreamweaver CS4. Both are long and contain a large number of screenshots, so it might take some time to convert them. Once they are, though, I’m sure Kindle owners will be delighted at no longer needing to lug such heavy books around. :)

I only wish that Amazon would make Kindle available in Europe (and other parts of the world), too. I’ve been itching to get my hands on a Kindle.

This entry was posted in Books, Dreamweaver, PHP. Bookmark the permalink.

32 Responses to PHP Solutions and two other books now on Kindle

  1. Spencer says:

    David, this is the only way I could think to contact you. Your Essential Dream Weaver and POOS books have been heaven sent after I spent a lot of personal and AngInv capital on programmers that wasted my time. Anyway, I always have fixed my own problems by searching forums on the web, but I am at a road block with chpt 8 of your POOS book, and I really want to use the iterator approach to data base searches. I made my own custom classes for the first release of the project (web site is listed as the URL) but the code is heavy. The chpt 8 solution will work so much better. I develop on a MacBookPro -10.5 OSX with MySQL 5.1 and Php 5.2.6. Standard mysql connects have worked fine. Using your iterator msqli approach gives me the following error however: “This is a RuntimeException: Cannot access database: Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’ (2)”. I have fixed php.ini to say: /private/tmp/mysql.sock and cannot get my privileges set right to allow me to make the following move: sudo ln -s /private/tmp/mysql.sock /var/mysql/mysql.sock. I don’t understand what is wrong and need to hurry with final development of STARTright 2.0. Any help would be appreciated.

  2. Spencer says:

    Never mind, David. When I got done writing my totally dejected and sad comment, I got to thinking about the difference between mysql connects and the mysqli connects you are using. I went back to the php.ini file to see if there were different settings for each, and low and behold there were. I love how four hours of searching is solved after I bother you with a comment. Anyway, thank you for your books. I am a lawyer who had a great idea to help non-lawyers and cut costs for business start ups. I failed science, math, and computer related classes growing up, but your writing has made OOP development totally understandable. I sound like a sap now, so I am going to say good by. Thanx, spence

  3. newbie says:

    Can you write some tutorial on enabling GD library

    I have powerbook G4 : upgraded to 10.5 from tiger and php 5.2.6

    Thanks a lot

  4. David Powers says:

    Enabling the GD library in the preinstalled version of PHP on a Mac is not a trivial business. My advice would be to turn off the preinstalled version of Apache in your Mac, and install MAMP instead. I have written a tutorial on installing XAMPP for Windows and MAMP for the Mac on the Adobe website.

  5. anan says:

    Hi David,

    I have been trying to learn php using your PHP SOLUTIONS book. I must congratulate you on this book; its a masterpiece. I tried a few others before picking up your book and your technical writing is definitely top notch!

    I love the way you methodologically explain every single step and function. But i have one challenge and maybe you can help.

    I need to convert your nice/simple PHP gallery in chapter 12, into a slideshow but couldnt find any php tutorial online that i could grasp.
    At this point you are my only hope and any assistance you can offer will be greatly appreciated.

  6. Elliot Lewenski says:

    I downloaded the code for this book and also looked at a few pages and the index in Amazon. Does this book not go into Design Patterns? I see no reference to Singleton, Factory, MVC etc. I’m not sure if this book is for me if it is supposed to be OOP but doesn’t cover design patterns. Thanks.

  7. David Powers says:

    Elliot, “PHP Object-Oriented Solutions” is designed as an introduction to writing and using PHP 5 classes and objects. It’s aimed at PHP developers who are competent with procedural code, but who have never ventured into OOP. Although reference is made to some design patterns, it is not a design pattern book.

    If you’re already comfortable with OOP concepts and writing PHP 5 classes, a more suitable book would be PHP Objects, Patterns, and Practice, Second Edition by Matt Zandstra. However, Matt’s book does require a solid knowledge of PHP.

  8. Elliot Lewenski says:

    Thanks for your reply David, TBH I think your book might be a little too easy for me. I am code guru, a code warrior, when I open up my IDE it shakes with absolute fear, knowing that it is about to get hit with the most wonderful and beautiful code any living creature could possibly create.
    I had an accident last week and was taken to hospital, they did a MRI scan on my brain, they were amazed. My brain contains no grey matter whatsoever, they said it was full of static methods, interfaces, booleans – yes it’s true (or is it false), strings – cheese strings and arrays – deadly arrays from Dr Who.
    My femur no longer exists, instead it is a C long, my heart has also disappeared instead they found a JVM running multiple threads. It might sound bizarre but I feel like a lean mean coding machine …. and of course a troll :)

  9. Rina says:

    David,

    Your books convinced me to learn php. Your directions are great, but I’m having a strange issue that I can’t seem to google it down. For whatever reason, when my php code is wrong (intentionally per your instruction), I don’t get any php warning messages. Did I forget to turn on a switch somewhere? I’m using Dreamweaver CS 4. Please help me out.

  10. David Powers says:

    Rina, if error messages are not being displayed, you need to edit php.ini. Find the line that begins with display_errors. Change the value to display_errors = On. Save php.ini and restart Apache.

  11. Rina says:

    Rock n’ roll! Thanks David!

  12. Josh Spillers says:

    Great book!

    I was experimenting with the Pos_Date_test files from chapter 3 when I noticed that when executing addDays, and then addMonths, the day of the month would revert back to the day initially set when the Pos_Date object was created. For example:

    Current date: May 1st, 2009
    Add 7 days: May 8th, 2009
    Add 7 days: May 15th, 2009
    Add 2 years: May 1st, 2011
    Add 2 years: May 1st, 2013

    addMonth, subMonth, addYear, and subYear set the date based on the $_day, $_month, and $_year properites, which are not updated when using addDays, addMonths, etc. I fixed this by adding a method that updates the class’s private properties (the same as they are updated in the constructor and setDate method) after each addDay, subDay, etc. method, . Just thought I would share. I hope I got this right.


    final protected function setValuesToProperties()
    {
    $this->_year = (int)$this->format('Y');
    $this->_month = (int)$this->format('n');
    $this->_day = (int)$this->format('j');
    }

    Added to __construct, setDate, addDays, subDays, addWeeks, subWeeks

  13. Josh Spillers says:

    My comment relates to PHP Object-Oriented Solutions.

  14. Robby says:

    I am not sure what I have in MySQL.
    PHPINFO says:
    : PHP Version = 5.2.4
    : MySQL Support = Client API version 4.1.11
    : MySQLI = Client API library version 4.1.11
    : MySQLI = Client API header version 4.1.11
    : PDO = PDO drivers sqlite, sqlite2
    PHPADMIN 2.8.0.1 says:
    : MySQL – 5.0.51a-log

    So which version of php commands for MySql do I use to communicate with MySQL? The text in the book at the bottom of p.301 and top of p.302 is not clear: I believe that, based upon the above, my remote server runs MySQL 5.x.x.x and php 5.x.x.x.

    Is this consistent with the meaning intended in:
    “If your remote server runs PHP 5 AND MySQL 4.1 or above, use the MySQL improved extension …”?

    rrr

  15. David Powers says:

    There are several things to look at here. The output of phpinfo() says your server is running PHP 5.2.4 – in other words, PHP 5. And phpMyAdmin says your server is running MySQL 5.0. However, look at phpinfo() again. It says the MySQL support is only 4.1.11. So, although you have both PHP 5 and MySQL 5, your PHP configuration will not support any MySQL features that are new to MySQL 5.0.

    However, to answer the last part of your question, you can certainly support PHP 5 and MySQL 4.1, so use MySQL Improved.

  16. Marcelo says:

    Hi David,
    Is it at all possible to set an a:active style in the SpryMenu? I followed your instructions on the CS3 book (which is brilliant!), but I cannot find a way to have my menu indicate the active page. Any suggestions would be much appreciated.
    Thank you for a wonderful book.
    Yours,
    Marcelo

  17. Marcelo says:

    What I am actually trying to do is to have the menu item corresponding to the page being viewed highlighted in some way (bold, or a different colour, etc) – even when the mouse is not over or clicking. Is this possible with the SpryMenu? m

  18. Cutter says:

    Needed to get apache running on os10.5 your directions were the best I have seen on web, went out and bought your Dreamweare CS4 book today even though still in SC3 Thanks for doing such good work.

  19. Steve Knapper says:

    First, I want to let you know, David Powers, that I still use the PHP Foundation for Dreamweaver 8 book, and think it is extremely helpful, and it constitutes a truly unique contribution to web development literature. And I think we all know that to be truly unique, to be original, is rare in the realm of computer & web development how-to books.

    But I am writing in response to your comments about, and your very real support for, the Amazon.com Kindle Reader. Your enthusiasm about the Amazon.com Kindle Reader greatly disturbs me, and worries me.

    More than anything else, the Amazon.com Kindle Reader is a tool for Amazon to monopolize the book trade. Anything else is secondary.

    (Ironically, the high price for the hardware actually helps to conceal its paramount function as an Amazon.com shopping tool. If Amazon was selling the Kindle at or near cost, then I think tech consumers would more quickly see the real purpose and strategy behind the Amazon.com Kindle Reader.)

    In any case, whatever consumers think, it is no exaggeration to say that the Amazon.com Kindle Reader threatens the existence of the remaining independent booksellers and even the public library system in America.

    So please, please rethink your cooperation with Amazon.com regarding the Kindle Reader.

    If the Amazon.com Kindle Reader actually succeeds in securing even a small percentage of the American book-buying market, it will truly kill the remaining independent bookstores in the USA — including even the large, well-established independents like Powell’s Books in Portland Oregon, Tattered Cover Books in Denver Colorado.

    And yes, public libraries too will lose out, and everything libraries offer will be lost with their funding.

    For much more information & analysis by scholarly researchers in this area, by booksellers, and others, please listen to the excellent hour-long OPB/NPR ‘Think Out Loud’ show dedicated to “The Future of the Book” —

    To view info on guests and the topic, browse to:

    To hear the audio file, download:

  20. David Powers says:

    Steve, my support for Kindle is based on the belief that any system that makes books quickly and easily available to a wide audience is to be welcomed. From an author’s point of view, Kindle also has the advantage that electronic versions of the book cannot be redistributed with the same ease as other ebooks. When somebody buys a Kindle version of a book, the author gets a royalty, unlike what happens when someone downloads a pirate copy of an ebook.

    Writing books involves a lot of time and effort. Royalties are what repay us for that effort. I dream of the sort of amounts earned by JK Rowling or Stephen King, but the reality for most authors, including myself, is that a book usually earns less than $20,000. Public libraries are wonderful, but I don’t get a penny when someone borrows one of my books from a library in the United States (although I do get a few cents when my books are borrowed in the UK). Nor do I get anything when my book is sold second-hand.

    I love going into bookstores, but I recognize that more and more people are consuming books in different ways. One of my books, “PHP Solutions”, is available in Safari Online, and other books of mine are in other electronic libraries. I don’t have a Kindle, because the service is not available outside the United States. But I do have a Sony ebook reader, and love the idea of being able to carry more than 100 books in a lightweight device. Amazon has taken an important lead in the electronic book business. I hope others follow suit.

    By the way, I don’t know what happened to the URLs at the end of your post. Anyway, I’m sure interested people should be able to find those resources through Google.

  21. David Powers says:

    Thanks for letting me know, Marcelo. I got tired of waiting for Kindle in the UK, so recently bought a Sony Reader. It comes with 100 free books, most of them classics, such as Jane Austen, Charles Dickens, and Shakespeare. I’m having a great time reading books that I never got round to before, including “Pride and Prejudice”, “Bleak House”, and “The Turn of the Screw”. So, Amazon might have to wait a bit longer for my money, since it has been so slow to launch Kindle on this side of the Atlantic.

  22. Alex says:

    Dear Mr Powers,
    I bought all your books except those of Flash. I have learned a lot from you. I’m truly indebted to you.
    I’m wondering whether you will be witting a book on Zend Framework. I’ve recently bought 2 books and I’m very disappointed. you might as well probably teach those apparently “authors” to write books about computers…
    Thanks again
    Alex

  23. David Powers says:

    Thanks, Alex. I’m not writing a book on the Zend Framework myself; but I acted as the technical reviewer for Beginning Zend Framework by Armando Padilla, which should be available later this month. I haven’t seen the final revisions of the book, but I found it much better than other books that I have read on the Zend Framework. The case study that Armando bases his book on is much simpler than the complex ones I have seen elsewhere. As a result, you get a better feeling for how the Zend Framework works, rather than being distracted by adding lots of bells and whistles.

  24. David, I provide all of your comments in the Dreamweaver forum very useful. Thus, I purchased your DW4 book from Amazon. I have downloaded the code for the DW4 book. However when I try to open or unzip the file, I get an error message “The compress folder in invalid or corrupted”. Have you heard of anyone else experiencing this problem. I have never had issues with unzipping / extracting files before. Thanks.

  25. David Powers says:

    No, I haven’t heard of problems. The download files are available on both my site and the friends of ED site.

  26. Dawn says:

    I’m working on my first CSS site, using Dreamweaver CS4. so far so good, I’ve set up my templates, etc. one page has a Spry tabbed widget, and once you see the item you want a click takes you to another, more detailed page. If you want to return from the detail page to the page with the tabbed widget, it takes you to the panel 0, instead of the panel you need to return to. Searching lead me to your site & I’ve bought the book, as it looks to be what I’ll need for many things. I followed the steps on pgs 336-340 for fixing the problem with the links using SpryURLUtils.js, etc, but now none of my tabs work when I preview in IE. I thought the steps made sense and the code hints show no errors – but very obviously I’ve done something seriously wrong! Any thoughts you have that might help me out will be greatly appreciated! I’m very much a newbie at this and maybe shouldn’t have thought I could use the Spry tabbed widget – although it worked really nicely until the links bit. (sigh) Dawn.

  27. Dawn says:

    Yes! Guess what – I’m such a newbie, I forgot to copy the SpryURLUtils.js to my Spry Assets folder in the site!! Everything worked like a charm once I did that!
    (Dope…!)
    Dawn.
    PS – I am very happy I bought the book – you’re going to make me look brilliant!

  28. Dawn says:

    me again – encountering new phenomena under the Spry Tabbed panels linking. I’m finding a table I’ve set up under one of the contents areas within the tabbed panel is performing oddly. I can link a picture or word to another detail page in the design view. Then save all, then preview in IE. When tested the link will work the first try, then fail on subsequent attempts. Also, things that aren’t linked, appear to be linked (blue underline) but don’t go anywhere when tried. Any suggestions are welcome!

  29. Dawn says:

    once again, I’ve been able to correct this….thanks to the help of that really great book I bought recently! :-)
    Dawn

  30. I am interested in creating blogs on the website mentioned in this comment, so I am desiring to learn more about PHP. You appear to have several great books covering PHP.

    How does one decipher which book is best for them? I do have Dreamweaver CS4 and have a hosting account all set up and want very much to get the wheels turning on learning this programming language.

    Which one of your books would you recommend for me?

  31. David Powers says:

    If you have Dreamweaver CS4, the book that would get you up and running the most quickly and efficiently is “The Essential Guide to Dreamweaver CS4″. It doesn’t teach PHP in a formal way, but there is a full chapter that covers all the basics of PHP. Thereafter, you learn by doing, which is often the best way.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>