<?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>Thu, 24 May 2012 04:54:44 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Marcelo Gornstein's Blog: PHP Continuous integration, with Jenkins and Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/17879</guid>
      <link>http://www.phpdeveloper.org/news/17879</link>
      <description><![CDATA[<p>
On his site <i>Marcelo Gornstein</i> has published a new guide to getting a basic automated continuous integration server set up <a href="http://marcelog.github.com/articles/ci_jenkins_hudson_continuous_integration_php_phing.html">with Jenkins and Phing</a>.
</p>
<blockquote>
This article is about how to use <a href="http://www.phing.info/trac/">Phing</a> in your projects, so a <a href="http://en.wikipedia.org/wiki/Continuous_integration">continuous integration</a> server (in this case <a href="http://jenkins-ci.org/>Jenkins</a> -ex Hudson-) can generate the necessary <a href="http://en.wikipedia.org/wiki/Artifact_(software_development)">artifacts</a> for your php application (deployment artifacts, documentation, code metrics, etc). I'll try to show why this will make your life easier when developing or auditing code, generating releases and deploying new versions, trace bugs, etc. All with just a handful of phing tasks. 
</blockquote>
<p>
He introduces the Phing tool and explains how it makes automating the steps of your process simpler, relating it to the <a href="http://ant.apache.org/">Apache Ant</a> tool for those familiar with it. He links to several of the resources used in the process including <a href="http://phpmd.org/>PHPMD</a>, <a href="https://github.com/sebastianbergmann/phploc>PHPLoc</a>, <a href="http://www.docblox-project.org/">DocBlox</a> and <a href="https://github.com/marcelog/Ci-Php-Phing-Example">the code for the article</a> itself. He outlines the process and, complete with <a href="http://marcelog.github.com/articles/ciconfigexample.jpeg">a screenshot of the final result</a>, shows you how to get everything configured and running smoothly.
</p>]]></description>
      <pubDate>Fri, 27 Apr 2012 12:18:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Deploy and Release your Applications with Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/17806</guid>
      <link>http://www.phpdeveloper.org/news/17806</link>
      <description><![CDATA[<p>
In <a href="http://phpmaster.com/deploy-and-release-your-applications-with-phing/">this new post</a> to the PHPMaster.com site today <i>Vito Tardia</i> introduces you to <a href="http://phing.info">Phing</a>, a tool for making builds and deploying your applications (and it's PHP based!)
</p>
<blockquote>
Suppose you have a web application that is installed on many hosts. Each installation may have a custom configuration, and the application is still in active development. You need an easy way to deploy new features and bug fixes to all of hosts. [...] In this article I show you how to use this knowledge [from <a href="http://phpmaster.com/using-phing/">this previous article</a>] to write a boilerplate build file, one that can be customized and reused in your real-world applications. We'll use Phing's Subversion tasks to manage the repository and the FileSync extension to synchronize your local installation with a remote server.
</blockquote>
<p>
He helps you to get the environment set up correctly (installing the needed PEAR packages), create a basic build file with the FTP settings in it and creating a "deploy" target to do the work. He also shows the settings/configuration involved in a "prepare" target that does the SVN work to do some of the pre-push work. Finally, he shows a "release" target that bundles up the files into a package and pushes it up to the server (via FTP).
</p>]]></description>
      <pubDate>Thu, 12 Apr 2012 08:24:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Touchdown Services Blog: Phing development update 01/04/2012]]></title>
      <guid>http://www.phpdeveloper.org/news/17766</guid>
      <link>http://www.phpdeveloper.org/news/17766</link>
      <description><![CDATA[<p>
On the Touchdown Consulting Services blog, there's <a href="http://www.touchdownconsulting.nl/2012/04/phing-development-update-01042012/">a new update posted about Phing</a>, the popular PHP-based <a href="http://phing.info">build tool</a> and some recent advancements the project has made.
</p>
<blockquote>
<a href="http://www.touchdownconsulting.nl/2012/03/phing-development-update/">Roughly a month ago I posted</a> the first in, what should become, a series of development updates concerning <a href="http://www.phing.info/">Phing</a>. This second blog post details the most important updates during the past four weeks as Phing is moving steadily towards another release (2.4.10 is due out next week).
</blockquote>
<p>Updates mentioned in this post are:</p>
<ul>
<li>User Guide starts move to DocBook format
<li>Liquibase docs
<li>PhpDocumentor
<li>PHP 5.4 compatibility
<li>PHAR package
<li>Various (bug)fixes, the 2.4.10 release (listed)
</ul>
<p>
Check out the <a href="http://www.touchdownconsulting.nl/2012/04/phing-development-update-01042012/">full post</a> for more details on each of these topics.
</p>]]></description>
      <pubDate>Tue, 03 Apr 2012 08:43:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Using Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/17350</guid>
      <link>http://www.phpdeveloper.org/news/17350</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial posted about <a href="http://phpmaster.com/using-phing/">using the Phing build tool</a> to automate a process, usually a build for a website launch. In his example, he shows a simple "Hello World" example and how to work with multiple targets in the same build file.
</p>
<blockquote>
Phing is a PHP project build tool based on Apache Ant. A build system helps you to perform a group of actions using a single command. [...] Phing helps overcome [human error] issues by automating tasks like running unit tests, applying database changes, deploying application code, etc. In this article I'll show you some of the basics of working with Phing.
</blockquote>
<p>
He includes the commands you'll need to install Phing (if it's not already) via the PEAR installer and a basic "build.xml" file. He explains the parts of the file - tags for "project", "target" "echo" and "property - and includes a more complex build example with multiple targets (and how to call one specifically from the command line).
</p>]]></description>
      <pubDate>Thu, 05 Jan 2012 10:41:40 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Josh Adell's Blog: Phar Flung Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/16906</guid>
      <link>http://www.phpdeveloper.org/news/16906</link>
      <description><![CDATA[<p>
<i>Josh Adell</i> has posted about a bit of automation he set up with <a href="http://phing.info">Phing</a> and PHP's <a href="http://php.net/phar">phar</a> packaging to create an archive as a part of his build system. It's a <a href="http://blog.everymansoftware.com/2011/09/phar-flung-phing.html">simple five step process</a> mad even easier by the fact that Phing already has a PharPackage task.
</p>
<blockquote>
One of the cooler features of PHP 5.3 is the ability to package up a set of PHP class files and scripts into a single archive, known as a PHAR ("PHp ARchive"). [...]  I decided to see how easy it would be to wrap up <a href="http://github.com/jadell/Neo4jPHP">Neo4jPHP</a> in a PHAR for distribution. [...] Since I also started playing with Phing recently, I decided to see if I could incorporate packaging a project as a PHAR into my build system. It turns out, it's pretty easy, given that Phing has a built-in PharPackage task.
</blockquote>
<p>
He points you towards Phing's PEAR channel to get the tool installed and includes a command-line call to update your php.ini to allow PHP to generate phar files. Code is included to create the phar-generation stub as well as the XML for the Phing build file. You can find his <a href="http://github.com/downloads/jadell/Neo4jPHP/neo4jphp.phar">end result here</a>.
</p>]]></description>
      <pubDate>Mon, 26 Sep 2011 10:05:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: How to Use the Nettuts+ Phing Build Script]]></title>
      <guid>http://www.phpdeveloper.org/news/16751</guid>
      <link>http://www.phpdeveloper.org/news/16751</link>
      <description><![CDATA[<p>
NetTuts.com has come up with a <a href="http://phing.info">Phing</a> (the automated build tool written in PHP) build script that designers can drop in as a part of their deployment process to <a href="http://net.tutsplus.com/tutorials/tools-and-tips/how-to-use-the-nettuts-phing-build-script/">compress, concatenate and Prefixize</a> all of their stylesheets and scripts.
</p>
<blockquote>
We've created a build script for <a href="http://phing.info/">Phing</a> that will give designers the ability to automatically compress, concatenate, and Prefixize all of their stylesheets and scripts - simply by typing five characters. I'll show you how to use it in this quick tip video.
</blockquote>
<p>
The post includes <a href="http://net.tutsplus.com/tutorials/tools-and-tips/how-to-use-the-nettuts-phing-build-script/">a screencast</a> showing you how to get it all set up and working with the rest of your Phing install. They don't help you set up Phing - you'll need that already set up and running to use the task. You can grab teh script <a href="https://github.com/NETTUTS/Phing-Build-Script-for-Web-Designers">directly from github</a>.
</p>]]></description>
      <pubDate>Mon, 22 Aug 2011 11:50:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Tom Jowitt's Blog: Streamlined PHP Development - Part III]]></title>
      <guid>http://www.phpdeveloper.org/news/16701</guid>
      <link>http://www.phpdeveloper.org/news/16701</link>
      <description><![CDATA[<p>
<i>Tom Jowitt</i> has posted his <a href="http://www.tomjowitt.co.uk/2011/07/21/streamlined-php-development-part-iii/">third part</a> in his "streamlined PHP development" series today focusing on working with databases and setting it up with your automated deployment system (parts <a href="http://phpdeveloper.org/news/16603">one</a> and <a href="http://phpdeveloper.org/news/16610">two</a>).
</p>
<blockquote>
In the first two parts of this series we covered <a href="http://www.tomjowitt.co.uk/2011/07/16/streamlined-php-development-part-i/">setting up the server</a> and an <a href="http://www.tomjowitt.co.uk/2011/07/20/streamlined-php-development-part-ii/">introduction to Phing</a>. This post will cover managing our database code with <a href="http://dbdeploy.com/">dbdeploy</a> and Phing.
</blockquote>
<p>
He points out that there's no "silver bullet" when it comes to automated database management but he's found <a href="http://dbdeploy.com/">dbdeploy</a> as a good tool for his needs. He includes the configuration changes to get the database login information into Phing and a few new targets/tasks to add to the Phing configuration for initializing the database and applying patches.
</p>]]></description>
      <pubDate>Wed, 10 Aug 2011 11:09:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sander Marechal's Blog: A YuiCompressorFilter for Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/16663</guid>
      <link>http://www.phpdeveloper.org/news/16663</link>
      <description><![CDATA[<p>
<i>Sander Marechal</i> has been working with <a href="http://phing.info">Phing</a> in some of his recent development and has created something useful for compressing Javascript and CSS files on the deployment of your application - <a href="http://www.jejik.com/articles/2011/07/a_yuicompressorfilter_for_phing//">a YuiCompressor task</a>.
</p>
<blockquote>
I am going to write several useful extensions, the first of which is a YuiCompressorFilter. Phing already has support for a JavaScrip minifier in the form of the JsMinTask, but the yui-compressor is more useful. Not only does it usually compress better than JsMin, it can also compress CSS files. Also, because my YuiCompressor extension is implemented as a filter instead of a task you can do fancy things like minifying and concatenating files in a single step.
</blockquote>
<p>
He includes both a sample of the task and it's configuration (the XML) in the post as well as a link to <a href="http://github.com/sandermarechal/phing-ext">its source</a> over on github.
</p>]]></description>
      <pubDate>Tue, 02 Aug 2011 09:16:37 -0500</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[PHP and Me Blog: Use Phing to Update your SVN-Version-Controlled Website Automatically, Through FTP]]></title>
      <guid>http://www.phpdeveloper.org/news/16492</guid>
      <link>http://www.phpdeveloper.org/news/16492</link>
      <description><![CDATA[<p>
On the "PHP and Me" blog there's a new entry from <i>Pinpin Bysma</i> showing how to use the PHP-based deployment tool <a href="http://phing.info">Phing</a> to <a href="http://phpandme.tumblr.com/post/6662397015/use-phing-to-update-your-svn-version-controlled-website">update your production website via an FTP connection</a>, automated by a Phing build.
</p>
<blockquote>
If you're working on a PHP project, like with any other project, probably comes a time when you need to "build a new release," e.g. update the production web site with the latest version of the code. And doing the whole thing manually isn't the most efficient way to get things done, especially if you're lazy, or have to do that every once in a while, over a long period of time. [...] Obviously if updating the site itself could be done without FTP but through a simple svn switch, things would be easier. Still, Phing would allow to make things easier just as nicely. It could for example still be used to create the new tag, trigger the switch, etc
</blockquote>
<p>
He introduces the process by showing a basic Phing build file that uses the PEAR VersionControl_SVN component to get the latest from the repository and push it to another directory. There was one thing that he wanted to do that the default SVN task couldn't - export the difference between two tags. To make this happen, he had to extend Phing and make a new task - SvnExportDiff. He includes the code for this new task and an updated build file to show it all in use - complete with the FtpDeploy to push the code live.]]></description>
      <pubDate>Mon, 20 Jun 2011 11:57:15 -0500</pubDate>
    </item>
  </channel>
</rss>

