<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Musings of a code slave &#187; PHP</title>
	<atom:link href="http://foundationphp.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://foundationphp.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 03 May 2010 18:24:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>DW CS5 with PHP book on Rough Cuts</title>
		<link>http://foundationphp.com/blog/2010/05/03/dw-cs5-with-php-book-on-rough-cuts/</link>
		<comments>http://foundationphp.com/blog/2010/05/03/dw-cs5-with-php-book-on-rough-cuts/#comments</comments>
		<pubDate>Mon, 03 May 2010 15:01:23 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=138</guid>
		<description><![CDATA[If you would like to get early access to my next book &#8220;Adobe Dreamweaver CS5 with PHP: Training from the Source&#8221;, the first six chapters (of 12) are now available as Rough Cuts in Creative Edge and Safari Books Online. &#8230; <a href="http://foundationphp.com/blog/2010/05/03/dw-cs5-with-php-book-on-rough-cuts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you would like to get early access to my next book <a title="See a detailed description of the book" href="/phpcs5/">&#8220;Adobe Dreamweaver CS5 with PHP:  Training from the Source&#8221;</a>, the first six chapters (of 12) are now  available as Rough Cuts in <a href="http://www.creativeedge.com/9780132117906">Creative Edge</a> and <a href="http://my.safaribooksonline.com/9780132117906">Safari  Books Online</a>.</p>
<p>If you have a Safari Library subscription, you can  view the chapters free of charge, and see new ones as they&#8217;re added.  Without a subscription, you can get access to the book in PDF format for  $34.99, including the finished ebook version when the book is complete.  You can also opt for the Rough Cuts PDF and Print bundle for $67.48.  The print version is expected to be released in early August.</p>
<p>The chapters currently available are Lessons 1-3 and 4-7, covering the following subjects:</p>
<ul>
<li>An in-depth look at all the PHP features in Dreamweaver CS5</li>
<li>Instructions for setting up a local PHP development environment</li>
<li>A quick PHP crash course (or refresher)</li>
<li>Creating your own database in MySQL</li>
<li>Using Dreamweaver server behaviors for automatic code generation</li>
<li>Building a robust user registration system with Zend_Validate and Zend_Db</li>
</ul>
<p>Chapters still to come concentrate heavily on using selected modules of the Zend Framework for sending email, uploading files, and building a content management system. (To avoid any misunderstanding, the book does not use the MVC design pattern—it follows what the ZF documentation calls &#8220;use at will&#8221; design, making use of individual components.)</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2010/05/03/dw-cs5-with-php-book-on-rough-cuts/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Dreamweaver CS5 is good news for PHP devs</title>
		<link>http://foundationphp.com/blog/2010/04/12/dreamweaver-cs5-is-good-news-for-php-devs/</link>
		<comments>http://foundationphp.com/blog/2010/04/12/dreamweaver-cs5-is-good-news-for-php-devs/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 09:10:32 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=122</guid>
		<description><![CDATA[So, Adobe has finally released details of Creative Suite 5, and you’ll be able to get your hands on it at the end of this month. As the author of a forthcoming book on Dreamweaver (Adobe Dreamweaver CS5 with PHP: &#8230; <a href="http://foundationphp.com/blog/2010/04/12/dreamweaver-cs5-is-good-news-for-php-devs/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Book cover" src="/images/blog/DWPHP.jpg" alt="Book cover" width="108" height="132" />So, Adobe has finally released details of <a href="http://www.adobe.com/products/creativesuite/">Creative Suite 5</a>, and you’ll be able to get your hands on it at the end of this month. As the author of a forthcoming book on Dreamweaver (<a title="See a detailed description of the book" href="/phpcs5/"><em>Adobe Dreamweaver CS5 with PHP: Training from the Source</em></a>), I’ve had the opportunity to explore the <a href="http://www.adobe.com/products/dreamweaver/">new features of Dreamweaver CS5</a> for some time. Here are my thoughts.</p>
<p>When CS4 was released 18 months ago, I described it as the “most significant release of Dreamweaver since Dreamweaver MX ”. To my mind, Dreamweaver CS5 just blows CS4 out of the water. Before I explain why, let me address the negatives. At least three groups of people are going to be disappointed by this new release:</p>
<ul>
<li>Early adopters of HTML5 and CSS3—support is close to zero.</li>
<li>Developers of dynamic sites hoping for new server behaviors—there aren’t any.</li>
<li>Former users of GoLive—Dreamweaver CS5 hasn’t incorporated any features from GL.</li>
</ul>
<p>With the debate that has been raging over Apple’s decision to ban Flash from the iPad and iPhone in the name of HTML5 and “web standards”, many will be stunned to learn that the only concession to HTML5 in Dreamweaver CS5 is the option to use an HTML5 <code>DOCTYPE</code>. There’s also no support for CSS3. Has Adobe missed the boat on this? In publicity terms, maybe. In reality, I don’t think so.<span id="more-122"></span></p>
<p>HTML5 and CSS3 are still evolving. The current web standards are still HTML 4.01, XHTML 1.0, and CSS2.1. Moreover, Dreamweaver is extensible. Rick Curran has already created <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&amp;extid=1986525">an extension for CSS3 code hints</a>. You can also add HTML5 tags to Dreamweaver through the Tag Library. No doubt someone will come up with an extension for that, too. In my view, it would have been a mistake for Adobe to release a half-baked implementation of incomplete standards that are still not supported on all browsers in widespread use.</p>
<p>The other decision that’s likely to cause controversy is the lack of new server behaviors. In fact, some have been removed: CS5 has continued the process of weeding out support for less popular (at least among Dreamweaver users) server-side technologies. JSP and ASP.NET were dropped in CS4. Now, ASP JavaScript has gone, too, although ASP VBScript still survives. There are a few minor security improvements and bug fixes to the PHP server behaviors, but nothing new.</p>
<p>The basic design of the server behaviors is now eight years old, so many people had been asking for new, improved ones, particularly after the decision to drop Adobe Dreamweaver Developer Toolbox (ADDT) last year. Few people realized the significance of that move. This is only my personal opinion, but I think Adobe was sending a clear signal that it’s not in the business of creating server behaviors to automate the generation of server-side code. It’s leaving that market to extension developers like <a href="http://www.webassist.com/">WebAssist</a>, <a href="http://www.cartweaver.com/">CartWeaver</a>, <a href="http://www.dmxzone.com/">DMXZone</a>, and others.</p>
<p>So, what is it about Dreamweaver CS5 that I like so much? Lots!</p>
<p>One of the biggest improvements is that Live View now works like a browser. “What’s new about that?” you might think. The difference is that in CS5, the links work. Hold down Ctrl/Cmd while clicking a link, and the target page loads into the Dreamweaver Document window—even if it’s a live page on the internet (assuming, of course, that you’re connected). The Related Files toolbar gives you direct access to the code of all pages linked to the new page. If the target page is on a remote site, the code is read-only; but on a local site, you can edit the code, and press F5 to see the results in Live View. If you want to keep the changes, there’s a new option on the File menu to Save All Related Files.</p>
<p>If you’re still wondering why this is an improvement, just try it with a content management system (CMS) like <a href="http://wordpress.org/">WordPress</a>, <a href="http://drupal.org/">Drupal</a>, or <a href="http://www.joomla.org/">Joomla!</a> As long as you have set up a testing server, you can now view a CMS in Live View. Not only that, Dreamweaver CS5 lets you interact directly with a database. You can test online forms in Live View, inserting database records, updating, and deleting them. Dreamweaver CS5 eliminates the need to make constant round trips to a browser for testing, because the browser is right there in the Document window.</p>
<p><img class="alignleft" title="Working with a database in Dreamweaver Live View" src="/images/blog/db_liveview.jpg" alt="User registration form in DW Live View" width="686" height="527" /></p>
<p>Of course, you still need to test pages in a variety of browsers, but you can launch <a href="https://browserlab.adobe.com/">BrowserLab </a>directly from Dreamweaver to test your pages in Adobe’s online service. Up to now, BrowserLab has been free, but it’s being turned into a paid-for service. Your purchase of Dreamweaver CS5 or one of the suites gives you continued free access to BrowserLab and InContext Editing for another year. <ins datetime="2010-04-12T17:08:03+00:00">[Update] Adobe announced today that development of InContext Editing is being terminated. You will be able to maintain existing sites, but the service will cease to exist as a standalone service in 2011. For more details, <a href="http://www.adobe.com/products/incontextediting/faq/">see the InContext Editing FAQ</a>.</ins></p>
<p>The related files feature now searches for dynamically related files, in addition to those directly linked to the current page. This gives users of WordPress and other CMSs access to the style sheets, which you can edit in Split view or through the CSS Styles panel, seeing the results immediately right inside Dreamweaver. You can even navigate to inside pages of a CMS to style them. And to make it easier to work with CSS, Live View has a CSS Inspect button that highlights block-level elements, padding, and margins in the same way as Firebug—all within the Document window. Another Firebug-like feature is the ability to disable a style rule temporarily by clicking next to the property name in the CSS Styles panel.</p>
<p style="text-align: center;"><img class="alignleft" title="Editing WordPress in Live View" src="/images/blog/wp_in_live_view.jpg" alt="WordPress in Dreamweaver CS5" width="600" height="293" /></p>
<p>As a PHP developer, it’s the changes in Code view that really excite me. When you start typing a PHP script in Dreamweaver CS5, you’ll immediately notice a red marker in the line numbers column and an alert about a syntax error.</p>
<p><img class="aligncenter" title="PHP syntax checking in Dreamweaver" src="/images/blog/syntax_check.jpg" alt="Syntax error alert" width="438" height="54" /></p>
<p>Complete the line without errors, and the marker and warning disappear. Dreamweaver constantly checks your syntax on the fly. It doesn’t tell you what the errors are, but it highlights all lines with errors, making the debugging process much quicker. PHP code hints have also been improved dramatically. There’s full support for all core functions, constants, and classes (as of PHP 5.2).</p>
<p><img class="aligncenter" title="Code hints for PHP DateTime class" src="/images/blog/class_hint.jpg" alt="PHP class code hinting" width="423" height="325" /></p>
<p>Code hinting is also much smarter. Instead of needing to search through code hints alphabetically, Dreamweaver CS5 searches for substrings. This is helpful when you can’t remember the exact name of function or class—just type the part of the name that you remember, and Dreamweaver includes it in the list. You can also work out your own shortcuts. For example, if you press Ctrl+spacebar and type <strong>gesi</strong>, the code hints take you straight to <code>getimagesize()</code> by recognizing the <strong>ge </strong>of “image” and the <strong>si </strong>of “size”. And in case you don’t know how a function or class works, the official manual page—complete with code examples—appears as a tooltip at the bottom of the selected code hint.</p>
<p><img class="aligncenter" title="PHP code hint shortcut and documenation in DW CS5" src="/images/blog/codehints.jpg" alt="Dreamweaver CS5 code hints for PHP" width="525" height="288" /></p>
<p>Incidentally, the smart nature of code hints also applies to style sheets. If, like me, you constantly pick <code>widows</code> instead of <code>width</code>, just type <strong>dt</strong>—it takes you straight to <code>width</code>.</p>
<p>For serious PHP developers, it gets even better. Dreamweaver CS5 is capable of code introspection, so it builds code hints on the fly for your own functions and classes, as well as for third-party libraries, such as the Zend Framework.</p>
<p><img class="alignleft" title="Generating code hints for Zend Framework" src="/images/blog/zend_class.jpg" alt="Zend Framework hints" width="594" height="167" /></p>
<p>The definition files don’t even need to be directly attached to the page you’re working in. With Site-Specific Code Hints, you tell Dreamweaver where your library files are located, and it scans them for you automatically.</p>
<p><img class="aligncenter" title="Setting up site-specific code hints in Dreamweaver CS5" src="/images/blog/zendhints.jpg" alt="Dialog box" width="600" height="412" /></p>
<p>My feeling is that Adobe made the right decisions. HTML5 and CSS3 are not ready for prime time; and server behaviors can offer only a limited number of options if they’re to remain manageable. Site-Specific Code Hints and the improvements to Live View open up a vast new range of opportunities to the beginner and more experienced PHP developer alike. I liked Dreamweaver CS4 a lot, but CS5 is a huge improvement.</p>
<p>Of course, Adobe can’t stop there. CS6 will need to offer solid support for HTML5 and CSS3, but by that time the specification should have settled down and browsers should have caught up.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2010/04/12/dreamweaver-cs5-is-good-news-for-php-devs/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>New tutorials and articles</title>
		<link>http://foundationphp.com/blog/2010/01/23/new-tutorials-and-articles/</link>
		<comments>http://foundationphp.com/blog/2010/01/23/new-tutorials-and-articles/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 18:34:46 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[AJAX/JavaScript]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=118</guid>
		<description><![CDATA[I have just added to my site a tutorial on converting a Spry Menu Bar into a server-side include. I have also been busy adding a bunch of brief articles to the Dreamweaver Cookbook on the Adobe site. I answer &#8230; <a href="http://foundationphp.com/blog/2010/01/23/new-tutorials-and-articles/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just added to my site a tutorial on <a href="/tutorials/sprymenu/ssi.php">converting a Spry Menu Bar into a server-side include</a>. I have also been busy adding a bunch of brief articles to the <a href="http://cookbooks.adobe.com/dreamweaver">Dreamweaver Cookbook on the Adobe site</a>.</p>
<p>I answer a lot of questions in the Dreamweaver forums, and realized that a lot of the solutions I was coming up with for people weren&#8217;t easy to find after a couple of days. So, rather than letting them disappear into cyberoblivion, I decided to add any of general interest to the cookbook when I had a few spare moments. The Dreamweaver Cookbook is intended for code samples, and doesn&#8217;t have the capability of including screenshots, so I&#8217;ll continue posting longer tutorials on my own site. But I hope you&#8217;ll find my contributions to the cookbook useful.</p>
<p>Here are direct links to some of the articles I have added to the Dreamweaver Cookbook:</p>
<ul>
<li><a href="http://cookbooks.adobe.com/post_Create_nested_lists_from_a_recordset__PHP_-16720.html">Create nested lists from a recordset</a></li>
<li><a href="http://cookbooks.adobe.com/post_Set_a_time_limit_on_a_login_session__PHP_-16701.html">Set a time limit on a login session</a></li>
<li><a href="http://cookbooks.adobe.com/post_Registration_system_that_requires_the_user_to_vali-16646.html">Registration system that requires the user to validate the email address</a> (in two parts)</li>
<li><a href="http://cookbooks.adobe.com/post_Alternate_colors_for_table_rows-16650.html">Alternate colours for table rows</a> (using PHP, Spry, or jQuery)</li>
<li><a href="http://cookbooks.adobe.com/post_Upload_image_to_website__PHP_-16389.html">Upload image to website</a></li>
<li><a href="http://cookbooks.adobe.com/post_Format_dates_for_entry_into_MySQL_using_PHP-16644.html">Format date for insertion into MySQL</a></li>
<li><a href="http://cookbooks.adobe.com/post_Format_dates_stored_in_MySQL-16641.html">Formatting dates stored in MySQL</a></li>
</ul>
<p>The Dreamweaver Cookbook is open to anyone to either request recipes or contribute recipes of their own. It could turn into a very useful resource if people start using it regularly. Check it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2010/01/23/new-tutorials-and-articles/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>PHP Solutions and two other books now on Kindle</title>
		<link>http://foundationphp.com/blog/2009/03/20/php-solutions-and-two-other-books-now-on-kindle/</link>
		<comments>http://foundationphp.com/blog/2009/03/20/php-solutions-and-two-other-books-now-on-kindle/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 20:13:05 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=96</guid>
		<description><![CDATA[If you&#8217;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 &#8230; <a href="http://foundationphp.com/blog/2009/03/20/php-solutions-and-two-other-books-now-on-kindle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re in the United States and own a Kindle, you can now get <a title="Go to the book's description on my site" href="/phpsolutions/"><em>PHP Solutions</em></a>, <a title="Go to the book's description" href="/pos/"><em>PHP Object-Oriented Solutions</em></a>, and <a title="Go to the book's description" href="/dreamweaver8/"><em>Foundation PHP for Dreamweaver 8</em></a> delivered wirelessly to you in just a minute after placing your order on <a href="http://www.amazon.com/b?node=283155&amp;tag=japaninterfac-20">Amazon.com</a>. This means that most of my books are now available on Kindle.</p>
<p>The only recent ones not yet available on Kindle are <a title="Go to the book's description" href="/egdwcs3/"><em>The Essential Guide to Dreamweaver CS3</em></a> and <a title="Go to the book's description" href="/dwcs4/"><em>The Essential Guide to Dreamweaver CS4</em></a>. Both are long and contain a large number of screenshots, so it might take some time to convert them. Once they are, though, I&#8217;m sure Kindle owners will be delighted at no longer needing to lug such heavy books around. <img src='http://foundationphp.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I only wish that Amazon would make Kindle available in Europe (and other parts of the world), too. I&#8217;ve been itching to get my hands on a Kindle.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2009/03/20/php-solutions-and-two-other-books-now-on-kindle/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Essential Guide to DW CS3 in top three programming books</title>
		<link>http://foundationphp.com/blog/2009/02/27/essential-guide-to-dw-cs3-in-top-three-programming-books/</link>
		<comments>http://foundationphp.com/blog/2009/02/27/essential-guide-to-dw-cs3-in-top-three-programming-books/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 19:20:38 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=88</guid>
		<description><![CDATA[O&#8217;Reilly, the leading computer book publisher, has posted the results of a detailed analysis of the state of the computer book market in 2008. What both surprised and delighted me is the revelation that my book, The Essential Guide to &#8230; <a href="http://foundationphp.com/blog/2009/02/27/essential-guide-to-dw-cs3-in-top-three-programming-books/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Go to the O'Reilly home page" href="http://www.oreilly.com/">O&#8217;Reilly</a>, the leading computer book publisher, has posted the results of a detailed analysis of <a title="See the article on O'Reilly Radar" href="http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html">the state of the computer book market in 2008</a>. What both surprised and delighted me is the revelation that my book, <a href="/egdwcs3/"><em>The Essential Guide to Dreamweaver CS3 with CSS, Ajax, and PHP</em></a> is listed by O&#8217;Reilly as the number 3 best seller in what it calls the Large Programming Languages category.</p>
<p>O&#8217;Reilly classifies a programming language as &#8220;large&#8221; if more than 100,000 copies of books dedicated to that language sell during the year. That&#8217;s the total for all titles, not how many copies of each book that sell. <span id="more-88"></span>According to O&#8217;Reilly&#8217;s data (gathered from <a href="http://www.bookscan.com/controller.php?page=109">Nielsen BookScan</a>, which tracks roughly 70% of book sales in the USA), books on PHP were the third most popular category, selling a total of more than 173,000 units. The bad news is that 129 titles were competing for the same PHP book market, making the average sales for each title a meagre 1,340. I haven&#8217;t seen my sales figures for Q4 2008, but I&#8217;m pleased to say that the figures for the first three quarters put my sales well above the average. However, they&#8217;re not all that big, which is why I was surprised to find my book at number 3. O&#8217;Reilly lists the top 5 as follows:</p>
<ol>
<li><a href="http://www.amazon.com/gp/product/1590598849?ie=UTF8&amp;tag=japaninterfac-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590598849">Pro C# 2008 and the .NET 3.5 Platform</a></li>
<li><a href="http://www.amazon.com/gp/product/067232976X?ie=UTF8&amp;tag=japaninterfac-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=067232976X">Sams Teach Yourself PHP, MySQL and Apache All in One</a></li>
<li><a href="/egdwcs3/">The Essential Guide to Dreamweaver CS3 with CSS, Ajax, and PHP</a></li>
<li><a href="http://www.amazon.com/gp/product/0596007124?ie=UTF8&amp;tag=japaninterfac-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596007124">Head First Design Patterns</a></li>
<li><a href="http://www.amazon.com/gp/product/032152599X?ie=UTF8&amp;tag=japaninterfac-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=032152599X">PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide</a></li>
</ol>
<p>It&#8217;s interesting to note that three of the top 5 are about PHP, confirming my belief that PHP is a strong language that&#8217;s here to stay for a long while.</p>
<p>With so many books competing for a relatively small market, you might wonder why authors like me continue to write. Researching, writing, and editing a book takes many months of hard work—and all for the sake of a couple of dollars royalty on each copy sold. Part of the answer lies in the fact that I like writing. I did it for many years in my career as a radio and TV journalist; it&#8217;s what I&#8217;m good at. It&#8217;s also nice to see my work in print. In TV and radio news, I might have been seen or heard by millions, but once the news bulletin was over, that was it. Although computer books have a relatively short shelf life, they certainly last longer than a news bulletin; and I hope my readers get practical value from them.</p>
<p>The other thing that drives many of us to write is the hope that, one day, we&#8217;ll hit the big time. O&#8217;Reilly has also analyzed <a title="See the article on O'Reilly Radar" href="http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-24.html">the top three best-selling writers of computer books</a>: David Pogue, Scott Kelby, and Andy Rathbone. Between them, they account for nearly 6 percent of the computer book market. Andy Rathbone, who comes in at number 3, sells more books each year than I have sold since I started writing about PHP and web design five years ago. David Pogue, the biggest seller, clocked up an impressive 190,000 copies last year. I&#8217;m sure he&#8217;s delighted—and let&#8217;s be honest, he deserves success because he&#8217;s a good writer—but it pales into insignificance alongside JK Rowling, the creator of <a href="http://www.amazon.com/gp/product/0545010225?ie=UTF8&amp;tag=japaninterfac-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0545010225">Harry Potter</a>.</p>
<p>Anyway, thank you to everyone who bought my book and helped me reach number 3 in the Large Programming Languages category. And thank you to O&#8217;Reilly for doing all the number crunching.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2009/02/27/essential-guide-to-dw-cs3-in-top-three-programming-books/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>friends of ED website back online</title>
		<link>http://foundationphp.com/blog/2009/02/22/friends-of-ed-website-back-online/</link>
		<comments>http://foundationphp.com/blog/2009/02/22/friends-of-ed-website-back-online/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 15:11:43 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=84</guid>
		<description><![CDATA[The problem I reported yesterday with the friendsofed.com domain appears to have been resolved, and the main website is now back online. To get the source code for my books, go to the friends of ED downloads page, and select &#8230; <a href="http://foundationphp.com/blog/2009/02/22/friends-of-ed-website-back-online/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The problem I reported yesterday with the <a href="http://friendsofed.com/">friendsofed.com</a> domain appears to have been resolved, and the main website is now back online. To get the source code for my books, go to <a href="http://www.friendsofed.com/downloads.html">the friends of ED downloads page</a>, and select the link for the relevant book. The books are listed alphabetically using the full title, so for example <a title="Go to the downloads page for this book" href="http://www.friendsofed.com/download.html?isbn=1430216107"><em>The Essential Guide to Dreamweaver CS4</em></a> is listed under T, not under E. You can also get the source code from <a href="http://foundationphp.com/">my site</a>, as indicated in <a href="/blog/2009/02/21/source-code-for-my-books/">yesterday&#8217;s post</a>.</p>
<p>If you&#8217;re contemplating buying one of my books, and want a better idea of what they&#8217;re like, sample chapters in PDF format are available for each title. Just go to the list of <a href="http://www.friendsofed.com/catalog.html?books=web">web design books at friends of ED</a>, and click the link for the title you&#8217;re interested in. This brings up a description of the book; you can download the sample chapter from the links on the right.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2009/02/22/friends-of-ed-website-back-online/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Source code for my books</title>
		<link>http://foundationphp.com/blog/2009/02/21/source-code-for-my-books/</link>
		<comments>http://foundationphp.com/blog/2009/02/21/source-code-for-my-books/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 16:26:20 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=79</guid>
		<description><![CDATA[Normally, the source code for my books is available from the downloads page of the friends of ED website. However, there appears to be a problem with the friendsofed.com domain registration, and the site is currently offline. I have no &#8230; <a href="http://foundationphp.com/blog/2009/02/21/source-code-for-my-books/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Normally, the source code for my books is available from the <a href="http://friendsofed.com/downloads.html">downloads page of the friends of ED website</a>. However, there appears to be a problem with the <a href="http://friendsofed.com/">friendsofed.com</a> domain registration, and the site is currently offline. I have no idea how long it will take friends of ED to get back online, so I have uploaded the source files for my Dreamweaver and PHP books to my website (<a href="http://foundationphp.com/">foundationphp.com</a>).</p>
<p>You can find a link to the zip file for each book at the bottom of the following pages <ins datetime="2009-02-22T09:01:37+00:00">(files added for &#8220;Foundation PHP 5 for Flash&#8221;)</ins>:</p>
<ul>
<li><a href="/dwcs4/">Essential Guide to Dreamweaver CS4</a></li>
<li><a href="/egdwcs3/">Essential Guide to Dreamweaver CS3</a></li>
<li><a href="/phpsolutions/">PHP Solutions</a></li>
<li><a href="/pos/">PHP Object-Oriented Solutions</a></li>
<li><a href="/dreamweaver8/">Foundation PHP for Dreamweaver 8</a></li>
<li><a href="/flash/">Foundation PHP 5 for Flash</a></li>
</ul>
<p>The problem with the main friends of ED website does not affect the <a href="http://friendsofed.infopop.net/2/OpenTopic">friends of ED forum</a>, where you can post any questions about the books and any problems you might encounter.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2009/02/21/source-code-for-my-books/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New setup procedure for phpMyAdmin 3.1.x</title>
		<link>http://foundationphp.com/blog/2008/12/07/new-setup-procedure-for-phpmyadmin-31x/</link>
		<comments>http://foundationphp.com/blog/2008/12/07/new-setup-procedure-for-phpmyadmin-31x/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 15:52:07 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpMyAdmin]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=64</guid>
		<description><![CDATA[I seem to be jinxed with the way phpMyAdmin &#8220;celebrates&#8221; the publication of one of my books by changing its setup process. It happened twice with Foundation PHP for Dreamweaver 8. I updated the instructions between the first and second &#8230; <a href="http://foundationphp.com/blog/2008/12/07/new-setup-procedure-for-phpmyadmin-31x/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I seem to be jinxed with the way <a title="Go to the phpMyAdmin site" href="http://phpmyadmin.net/">phpMyAdmin</a> &#8220;celebrates&#8221; the publication of one of my books by changing its setup process. It happened twice with <a title="Go to the book's description on my site" href="/dreamweaver8/"><em>Foundation PHP for Dreamweaver 8</em></a>. I updated the instructions between the first and second printings, but was caught out by a second change. Now it&#8217;s happened with <a title="Go to the book's description on my site" href="/dwcs4/"><em>The Essential Guide to Dreamweaver CS4 with CSS, Ajax, and PHP</em></a>. The book was published on 1 December, and on the very same day phpMyAdmin 3.1.0 was released, changing the setup procedure yet again.</p>
<p>I&#8217;ll create a full tutorial on the revised procedure when I get time, but you can find a summary of the main differences on the <a title="Go to the book's updates page" href="/dwcs4/updates.php">updates page for <em>The Essential Guide to Dreamweaver CS4</em></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2008/12/07/new-setup-procedure-for-phpmyadmin-31x/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Problem with PHP 5.2.7</title>
		<link>http://foundationphp.com/blog/2008/12/07/problem-with-php-527/</link>
		<comments>http://foundationphp.com/blog/2008/12/07/problem-with-php-527/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 15:35:32 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=59</guid>
		<description><![CDATA[PHP 5.2.7, which was released last Thursday (4 December), has a bug that prevents &#8220;magic quotes&#8221; from working. If you rely on magic quotes, do not install PHP 5.2.7. Either revert to PHP 5.2.6 or wait until a fix is &#8230; <a href="http://foundationphp.com/blog/2008/12/07/problem-with-php-527/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>PHP 5.2.7, which was released last Thursday (4 December), has a bug that prevents &#8220;magic quotes&#8221; from working. If you rely on magic quotes, do <strong>not</strong> install PHP 5.2.7. <del datetime="2008-12-16T19:08:12+00:00">Either revert to PHP 5.2.6 or wait until a fix is released.</del> The bug has been fixed in <ins datetime="2008-12-16T19:08:12+00:00">PHP 5.2.8. </ins> <del datetime="2008-12-16T19:08:12+00:00">the &#8220;snapshot&#8221; version of PHP, which can be obtained at <a href="http://snaps.php.net/">http://snaps.php.net/</a></del></p>
<p>If you turn magic quotes off in PHP—which you should—you won&#8217;t be affected by this bug. It serves as a reminder that magic quotes are due to be removed in PHP 6. Magic quotes were originally introduced to make life &#8220;easier&#8221; for inexperienced developers by automatically inserting a backslash in front of single and double quotes in user input to prevent problems with database insertion. However, they have proved more trouble than they&#8217;re worth. Instead of magic quotes, you should use dedicated functions, such as <a title="See description of this function in the PHP online manual" href="http://docs.php.net/manual/en/function.mysql-real-escape-string.php">mysql_real_escape_string()</a>, or prepared statements with <a title="Go to the PHP online documentation" href="http://docs.php.net/manual/en/intro.mysqli.php">MySQLi</a> or <a title="Go to the PHP online documentation" href="http://docs.php.net/manual/en/book.pdo.php">PDO</a> to handle quotes and other special characters and protect your database from SQL injection attacks.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2008/12/07/problem-with-php-527/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Video tutorials: local PHP testing server in Dreamweaver</title>
		<link>http://foundationphp.com/blog/2008/11/21/video-tutorials-local-php-testing-server-in-dreamweaver/</link>
		<comments>http://foundationphp.com/blog/2008/11/21/video-tutorials-local-php-testing-server-in-dreamweaver/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 19:32:28 +0000</pubDate>
		<dc:creator>David Powers</dc:creator>
				<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://foundationphp.com/blog/?p=57</guid>
		<description><![CDATA[Defining a local testing server in Dreamweaver isn&#8217;t difficult, but a surprising number of people get it wrong. So, I have created a couple of video tutorials that describe the options and then take you through the actual process in &#8230; <a href="http://foundationphp.com/blog/2008/11/21/video-tutorials-local-php-testing-server-in-dreamweaver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Defining a local testing server in Dreamweaver isn&#8217;t difficult, but a surprising number of people get it wrong. So, I have created a couple of video tutorials that describe the options and then take you through the actual process in the Site Definition dialog box. Because the options are different for Windows and Mac OS X, I have created separate tutorials. Both are approximately eight minutes long.</p>
<p>The tutorials are hosted on an Adobe site, and the videos start automatically after opening in a new window. A control panel lets you skip to different sections of the tutorial, and most of the text can be read by opening the Notes tab. The videos are resizable, but are best viewed in a 1024 x 768 browser window. The <a title="Launch the video tutorial" href="http://experts.na3.acrobat.com/phplocalsitewin/" target="_blank">Windows tutorial is here</a>, and <a title="Launch the video tutorial" href="http://experts.na3.acrobat.com/phplocalsitemac/" target="_blank">the Mac one is here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://foundationphp.com/blog/2008/11/21/video-tutorials-local-php-testing-server-in-dreamweaver/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
