<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Wed, 19 Jun 2013 20:22:45 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Konstantin Kudryashov: Autohosts for Symfony projects on Mac]]></title>
      <guid>http://www.phpdeveloper.org/news/18625</guid>
      <link>http://www.phpdeveloper.org/news/18625</link>
      <description><![CDATA[<p>
<i>Konstantin Kudryashov</i> has posted a helpful hint for any web developer out there that knows the pain of constantly setting up VirtualHosts and local hostnames during their development. His suggestion <a href="http://everzet.com/post/33810120695/autohosts-for-symfony-projects-on-mac">makes setting them up simple</a> using Apache2's "autohosts" support.
</p>
<blockquote>
We all know, that web development is not as easy as it sounds and that it involves lot of different and sometimes really complex tools to just run or test stuff. We also know, that bootstrap (setup) of the project could take more time than you want it to. It's not a big deal if you're working on single project full time, but at KnpLabs, i'm bootstraping new sf2 project every 2 weeks. So this manual crafting of virtual host, edition of /etc/hosts and maintaining of those temp hosts everywhere made me really sick. So, at some point i've started to look for an elegant solution. Here is it.
</blockquote>
<p>
He gives you all the commands, file contents and software you'll need to install (he uses <a href="http://mxcl.github.com/homebrew/">Homebrew</a>) to install <a href="http://www.thekelleys.org.uk/dnsmasq/doc.html">dnsmasq</a> and get it configured. The only Symfony-specific part of the process is the last step - getting the latest version of the framework and installing it.
</p>]]></description>
      <pubDate>Thu, 18 Oct 2012 10:39:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Grzegorz Godlewski's Blog: Automating software development and deployment]]></title>
      <guid>http://www.phpdeveloper.org/news/18123</guid>
      <link>http://www.phpdeveloper.org/news/18123</link>
      <description><![CDATA[<p>
<i>Grzegorz Godlewski</i> has <a href="http://blog.twelvecode.com/2012/06/20/automating-software-development-and-deployment/">a new post</a> to his blog that looks at some of the concepts and practices around automated software deployment and development (specifically with <A href="http://phing.info">Phing</a>).
</p> 
<blockquote>
Phing is a tool designed for automated project building based on Apache Ant distributed as a PEAR extension. It provides the user with the possibility of building the project / application in the same manner as make does with its Makefiles, making complex process execution (which is commonly human error prone) much easier.
</blockquote>
<p>
He walks you through the steps for getting Phing set up, the directory structure you'll need for your project and a sample build and property files as well as an example of the output from the build execution. He talks about filters, execution control, extensibility and looks at some of the things that he suggests automating.
</p>]]></description>
      <pubDate>Thu, 21 Jun 2012 11:10:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Automating PHPUnit Tests in Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17351</guid>
      <link>http://www.phpdeveloper.org/news/17351</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has posted another tutorial in a series looking at testing applications on the Azure platform. In <a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/03/automating-phpunit-tests-in-windows-azure.aspx">this latest post</a> he talks about how to automate your <a href="http://phpunit.de">PHPUnit</a> tests as a part of the start up of the instance.
</p>
<blockquote>
In this post, I'll show you how to deploy your PHPUnit tests with your application, have the tests run as a start up task, and have the results written to your storage account for analysis. Attached to this post is a .zip file that contains a skeleton project that you can use to automatically run PHPUnit tests when you deploy a PHP application to Azure. I'll walk you though how to use the skeleton project, then provide a bit more detail as to how it all works (so you can make modifications where necessary).
</blockquote>
<p>He has it broken up into a few easy-to-follow steps:</p>
<ul>
<li>Download <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-25-21-34/AzurePHPWebRole.zip">the AzurePHPWebRole</a> zip archive and unpack it
<li>Copy your application, tests and PHP installation into the resulting file structure
<li>Create a skeleton "ServiceConfiguration.cscfg" file with the "cspack" command and edit it to change the "osfamily" and "osversion" settings
<li>Use "cspack" to package up the application and <a href="http://azurephp.interoperabilitybridges.com/articles/deploying-your-first-php-application-to-windows-azure#new_deploy">deploy the application</a>
</ul>
<p>
He walks you through the "how it works" steps too - the things that happen for you automatically on the server side to do things like set up the file to log to, configure the PHP environment and execute the "runtests" Powershell file as included in the AzurePHPWebRole download.
</p>]]></description>
      <pubDate>Thu, 05 Jan 2012 11:58:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Till Klampaeckel's Blog: Cooking PHPUnit (and a chef-solo example on top)]]></title>
      <guid>http://www.phpdeveloper.org/news/17212</guid>
      <link>http://www.phpdeveloper.org/news/17212</link>
      <description><![CDATA[<p>
<i>Till Klampaeckel</i> has a new post to his blog combining two powerful technologies into <a href="http://till.klampaeckel.de/blog/archives/175-Cooking-PHPUnit-and-a-chef-solo-example-on-top.html">one automated package</a> that uses a Chef recipe to install PHPUnit as a part of the setup.
</p>
<blockquote>
If you follow my blog for a while, you might have noticed that I'm a huge fan of automation. I just moved one of our development servers the other day and had one of these moments where something just paid off. Taking for granted that I can spin up fully operational EC2 instances in minutes, I also had our development stack installed and configured in an instant. My recipe basically follows <a href="http://tech.vg.no/2011/11/29/running-multiple-versions-of-phpunit/">Christer's instructions</a> and because I distribute phpunit's command along with it, editing of the file is no longer required: when the chef run completes, phpunit34 is installed and ready to be used.
</blockquote>
<p>
He includes the configuration needed to create a recipe for PHPUnit installation including how to use chef-solo to automate the install. It uses a "cookbook" from <a href="https://github.com/till/easybib-cookbooks/tree/master/phpunit">Till's collection on github</a> to do some of the work for you. You can find out more about Chef <a href="http://www.opscode.com/chef/">on the OpsCode</a> site.
</p>]]></description>
      <pubDate>Mon, 05 Dec 2011 11:48:48 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Tom Jowitt's Blog: Streamlined PHP Development - Part II]]></title>
      <guid>http://www.phpdeveloper.org/news/16610</guid>
      <link>http://www.phpdeveloper.org/news/16610</link>
      <description><![CDATA[<p>
<i>Tom Jowitt</i> has posted the second part of his series looking at setting up a streamlined PHP development environment in <a href="http://www.tomjowitt.co.uk/2011/07/20/streamlined-php-development-part-ii/">part two</a> covering some of the basics of the build.
</p>
<blockquote>
In the <a href="http://www.tomjowitt.co.uk/2011/07/16/streamlined-php-development-part-i/">first part of this series</a> we looked at setting up our Apache installation to make life easier. Now that the basics are sorted we can start looking at how to structure our development environment and run some basic build tasks using <a href="http://www.phing.info/">Phing</a>.
</blockquote>
<p>
He shows how to use the PEAR installer to get Phing installed (including all of its dependencies) and creating the base directory for it to use in your build. He includes the contents of some of the configuration files (available <a href="https://github.com/tomjowitt/blog-examples/tree/master/streamlined-part-2">on github</a>) to set up some properties and the steps to the build process in the build.xml. He explains each part of the build process and includes <a href="http://www.tomjowitt.co.uk/wp-content/uploads/2011/07/testapp1.jpg">some</a> <a href="http://www.tomjowitt.co.uk/wp-content/uploads/2011/07/zendframework.jpg">screenshots</a> of the end result.
</p>]]></description>
      <pubDate>Wed, 20 Jul 2011 08:21:07 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Wim Godden's Blog: Automated PHP 5.3 compatibility testing for your (old) code]]></title>
      <guid>http://www.phpdeveloper.org/news/15616</guid>
      <link>http://www.phpdeveloper.org/news/15616</link>
      <description><![CDATA[<p>
In <a href="http://techblog.wimgodden.be/2010/06/24/automated-php-5-3-compatibility-testing-for-your-old-code/">this new post</a> to his blog today, <i>Wim Godden</i> looks at how you can use the <a href="http://phpunit.de">PHPUnit</a> unit testing framework to be sure your applications are ready to move to a PHP 5.30-only world.
</p>
<blockquote>
So you or your team has built anywhere between 5 and 500 projects in PHP 4, 5.1 and 5.2 over the past 5 years. And now PHP 5.3 is there, offering a lot of very interesting features, including namespace support,  late static binding (finally !), closures, nested exceptions and a bunch more (see the <a href="http://be2.php.net/manual/en/migration53.new-features.php">new feature list</a>). So naturally, you'd like to upgrade. But doing so might break some old code. 
</blockquote>
<p>
He suggests a few different options - just run your unit tests and hope for the best, test the application's code directly or, his preference, run compatibility tests with the help of <a href="http://pear.php.net/package/PHP_CodeSniffer">PHP_CodeSniffer</a> and <a href="http://github.com/wimg/PHP53Compat_CodeSniffer/downloads">this new sniff</a> he created. The sniff finds things like deprecated functions hanging around from pre-5.3 times as a part of a subset that the code sniffer can easily find.
</p>]]></description>
      <pubDate>Wed, 22 Dec 2010 09:02:10 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Joey Rivera's Blog: Automate Db Model Creation with Zend_CodeGenerator_Php_Class]]></title>
      <guid>http://www.phpdeveloper.org/news/13712</guid>
      <link>http://www.phpdeveloper.org/news/13712</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today there's <a href="http://devzone.zend.com/article/11484-Using-Zend_CodeGenerator_Php-to-Automate-Creation-of-Models">a pointer to</a> a new blog post from <i>Joey Rivera</i> about automating the creation of models in your Zend Framework application via the Zend_CodeGenerator_Php_Class.
</p>
<blockquote>
This tool has to do a good bit of database manipulation so I've decided I'll build it in PHP using Zend Framework. I'll be using <a href="http://framework.zend.com/manual/en/zend.d.table.html">Zend_Db_Table_Abstract</a> to communicate with the db tables from my project and I'll be creating a model for each table as well to store and manipulate data. I'll be working with lots of tables in the database and many have lots of fields.
</blockquote>
<p>
Because the component lets you dynamically create PHP code, it can easily be used to create the model classes. <i>Joey</i> includes a <a href="http://www.joeyrivera.com/blog_files/462/file.txt">link to the code</a> you can use to add it into your own projects.
</p>]]></description>
      <pubDate>Tue, 22 Dec 2009 08:33:06 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Andi Gutmans' Blog: Inside Zend Server: Linux]]></title>
      <guid>http://www.phpdeveloper.org/news/12082</guid>
      <link>http://www.phpdeveloper.org/news/12082</link>
      <description><![CDATA[<p>
In his <a href="http://andigutmans.blogspot.com/2009/03/inside-zend-server-linux.html">most recent post</a> to his blog <i>Andi Gutmans</i> takes a "look inside" of another version for the recently release all-in-one product from <a href="http://zend.com">Zend</a>, the Zend Server. This time he focuses on the linux installation.
</p>
<blockquote>
The majority of our customers run PHP on Linux - most of them on Redhat variants. Therefore, it was critical for us to deliver the best possible experience for Zend Server on Linux. In order to show our commitment to Linux we made a strategic decision and decided to release the product in the de-facto, native format for Linux installations so that Zend Server fits into the Linux distributions like a glove.
</blockquote>
<p>
He names off several advantages that made them head down this path (towards linux) including the use of the usual automated install tools (apt-get, yum, etc), the automatic install of dependencies that the Zend Server setup might need and a standardized mechanism for the hotfix/updates as they're released.
</p>
<p>
You can find out more about Zend Server <a href="http://www.zend.com/en/products/server/">on its page on Zend.com</a>.
</p>]]></description>
      <pubDate>Fri, 06 Mar 2009 12:02:26 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kae Verens' Blog: Moving email from qmail to postfixadmin]]></title>
      <guid>http://www.phpdeveloper.org/news/10970</guid>
      <link>http://www.phpdeveloper.org/news/10970</link>
      <description><![CDATA[<p>
In <a href="http://verens.com/archives/2008/09/05/moving-email-from-qmail-to-postfixadmin/">this new blog post</a> <i>Kae Verens</i> shares a method he came up with to change over about 300 domains' worth of email over from qmail to posfix in an orderly, automated fashion.
</p>
<blockquote>
Yesterday <a href="http://webworks.ie/">we</a> had to move about 300 domains from one machine to another. We bought a new machine recently and are taking this opportunity to move from <a href="http://www.qmail.org/">Qmail</a> (difficult to use, in my opinion) towards <a href="http://www.postfix.org/">Postfix</a>. After doing one or two by hand, i decided that's stupid - why not just automate the whole thing.
</blockquote>
<p>
The script reads from vqadmin and pushes that information over to mailadmin who makes the emails over on the postfix side. <a href="http://verens.com/archives/2008/09/05/moving-email-from-qmail-to-postfixadmin/">The script</a> makes heavy use of the cURL extension to get the job done.
</p>]]></description>
      <pubDate>Fri, 05 Sep 2008 09:30:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Using Zend_Tool to start up your ZF Project]]></title>
      <guid>http://www.phpdeveloper.org/news/10964</guid>
      <link>http://www.phpdeveloper.org/news/10964</link>
      <description><![CDATA[<p>
The Zend Developer Zone has a <a href="http://devzone.zend.com/article/3811-Using-Zend_Tool-to-start-up-your-ZF-Project">new tutorial</a> they posted recently on using the Zend_Tool component to make starting a new Zend Framework application from scratch a much simpler thing.
</p>
<blockquote>
This tutorial will set you through using Zend_Tool to jump-start development on your next ZF MVC application. Zend_Tool is both RAD tools as well as a framework for exposing your own set of tooling needs to the Zend_Tool user interface. While the areas in which extending Zend_Tool are exhaustive, we will focus merely on obtaining and using the current Zend_Tool toolset. 
</blockquote>
<p>
<a href="http://devzone.zend.com/article/3811-Using-Zend_Tool-to-start-up-your-ZF-Project">The tutorial</a> walks you through the installation of the component, how to set it up correctly as a "binary" and how to automatically create a new project with a simple "create project" call. He also points out the ability it has to define some of the basic files for actions of your choosing.
</p>]]></description>
      <pubDate>Thu, 04 Sep 2008 12:57:06 -0500</pubDate>
    </item>
  </channel>
</rss>
