<?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>Mon, 21 May 2012 09:48:18 -0500</pubDate>
    <ttl>30</ttl>
    <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: Continuous Integration (with Jenkins), Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/17761</guid>
      <link>http://www.phpdeveloper.org/news/17761</link>
      <description><![CDATA[<p>
Following up from <a href="http://phpdeveloper.org/news/17726">his previous post</a> about setting up PHP with Jenkins, <i>J Armando Jeronymo</i> is back with <a href="http://phpmaster.com/continuous-integration-with-jenkins-2/">part two</a> of the series - setting up an example project to show how the pieces fit together.
</p>
<blockquote>
In the <a href="http://phpmaster.com/continuous-integration-with-jenkins-2">first part of this article</a> I presented the case for Continuous Integration. Now we'll install and set Jenkins up to monitor the automatic building of a simple demonstration PHP application. We'll begin with the demo project, then address Jenkins' installation, and finally set it up and watch it running.
</blockquote>
<p>
He includes a sample project structure, complete with a PHP class and its tests. He shows how to manually run things first (so you'll know what the commands do), the contents of the class/tests and the example Ant configuration file. He's also included screenshots of the Jenkins interface, showing how to create a build, add a new step and let the build run to evaluate the results.
</p>]]></description>
      <pubDate>Mon, 02 Apr 2012 08:18:49 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Artur Ejsmont's Blog: How to build mongodb pecl extension in 32bit for PHP 5.2 on OSX Snow Leaopard]]></title>
      <guid>http://www.phpdeveloper.org/news/17494</guid>
      <link>http://www.phpdeveloper.org/news/17494</link>
      <description><![CDATA[<p>
<i>Artur Ejsmont</i> has <a href="http://artur.ejsmont.org/blog/content/how-to-build-mongodb-pecl-extension-in-32bit-for-php-52-on-macosx-snow-leaopard">a recent post</a> to his blog showing how to get a MongoDB PECL extension to compile in a 32bit OSX environment (Snow Leopard).
</p>
<blockquote>
Here is a quick step by step guide on how to get mongodb and PHP5.2 mongo pecl extension going on your MacOSX in 32bit mode! NOTE: 32 bit mongodb binaries have 2GB address space limit so you wont be able to process too much on your laptop. You will still be able to code and connect to remote instances just fine.
</blockquote>
<p>
His process includes five steps - well, eight if you count the optional "install MongoDB" ones too - complete with the commands you'll need to get things compiled, ready for copy and paste. You can find the MongoDB PECL package <a href="http://pecl.php.net/package/mongo">here</a>.
</p>]]></description>
      <pubDate>Fri, 03 Feb 2012 10:35:11 -0600</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[Mike Willbanks' Blog: RPM Packaging - Building and Deploying your own PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17291</guid>
      <link>http://www.phpdeveloper.org/news/17291</link>
      <description><![CDATA[<p>
<i>Mike Willbanks</i> has a new post to his blog about a different sort of technique for deploying PHP - <a href="http://blog.digitalstruct.com/2011/12/21/rpm-packaging-building-and-deploying-your-own-php/">building your own RPMs</a> instead of just using the pre-packaged ones. This opens up a whole world of customization options.
</p>
<blockquote>
In the PHP world, one might ask why not just build it from source? Well, an RPM IS built from source and then distributed to many servers - we can ensure that we have the same packages on each, we can maintain the same versions and if you've read my <a href="http://blog.digitalstruct.com/2011/02/09/building-and-maintaining-a-pear-server-with-pirum/">previous post on Pirum</a> you will know that I also like mirroring PEAR packages.
</blockquote>
<p>
He walks you through the structure of an RPM package (the spec file, with examples, and the source), the "%prep", "%build" and "%install" containers as well as where the source needs to live for things to work correctly.
</p>]]></description>
      <pubDate>Thu, 22 Dec 2011 09:41:18 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Using CLANG/scan-build for Static Analysis of the PHP Interpreter]]></title>
      <guid>http://www.phpdeveloper.org/news/17269</guid>
      <link>http://www.phpdeveloper.org/news/17269</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Sebastian Bergmann</i> takes a quick look at <a href="http://sebastian-bergmann.de/archives/916-Using-CLANGscan-build-for-Static-Analysis-of-the-PHP-Interpreter.html">using a static analyzer</a>, <a href="http://clang.llvm.org/">clang</a> and scan-build, to analyze the PHP interpreter (specifically during the compile process).
</p>
<blockquote>
I have been tinkering with <a href="http://clang.llvm.org/">CLANG</a>'s <a href="http://clang-analyzer.llvm.org/">static analyzer</a> lately. This post summarizes how I installed LLVM and CLANG and performed the analysis of a build of the PHP interpreter.
</blockquote>
<p>
He includes all the commands (unix-based) to get the clang tools/libraries installed in the correct places as well as what to add to your $PATH to get the "scan-build" command to work with the make and make install parts of the PHP compile process.
</p>]]></description>
      <pubDate>Fri, 16 Dec 2011 09:48:07 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Henrik Bj&oslash;rnskov's Blog: Travis & Composer sitting in a tree K-I-S-S-I-N-G]]></title>
      <guid>http://www.phpdeveloper.org/news/17148</guid>
      <link>http://www.phpdeveloper.org/news/17148</link>
      <description><![CDATA[<p>
<i>Henrik Bj&oslash;rnskov</i> has a quick new post today showing how to combine two powerful technologies into a simple, configurable autoload system in a Symfony <a href="http://travis-ci.org/">Travis-CI</a> build with <a href="https://github.com/composer/composer">Composer</a>.
</p>
<blockquote>
To integrate your project with travis the only thing necesarry is to have a .travis.yml file and a working PHPUnit test setup like http://github.com/simplethings/SimpleThingsFormExtraBundle. Where the Tests/vendors.php script is executed before the tests are perfomed. But it would be way cooler to just have Composer handle the autoloading and dependencies. 
</blockquote>
<p>
A sample .travis.yml file is included in the post (<a href="https://gist.github.com/1366962">also here</a>) as well as instructions for grabbing dependencies and including the autoload process in your application's bootstrap.
</p>]]></description>
      <pubDate>Fri, 18 Nov 2011 11:03:01 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DZone.com: Creating a virtual server with Vagrant: a practical walkthrough]]></title>
      <guid>http://www.phpdeveloper.org/news/17145</guid>
      <link>http://www.phpdeveloper.org/news/17145</link>
      <description><![CDATA[<p>
On DZone.com there's a new post from <i>Giorgio Sironi</i> looking at how to <a href="http://css.dzone.com/articles/creating-virtual-server">automate a build of a virtual server with Vagrant</a>, setting up a LAMP-based development instance.
</p>
<blockquote>
Vagrant ia a tool for building virtual machines (in VirtualBox's format) that conforms to a specification. It's written in Ruby, but it makes really no assumptions over the environments that you're gonna build; in this article, we will setup a virtual server for PHP applications running inside Apache.
</blockquote>
<p>
The end result is a virtual machine based on <a href="http://css.dzone.com/articles/using-virtual-machine-play">VirtualBox</a> images and can be built in a few easy steps:
</p>
<ul>
<li>install the vagrant gems on the build system
<li>add a new virtual box instance pointed to a .box file
<li>create the Vagrant config (including the commands to run post-create)
<li>set up a little port forawrding
<li>creating a <a href="http://php.net/phpinfo">phpinfo</a> file and starting up Apache
</ul>
<p>
One suggested place for grabbing images (some with pre-defined software) is <a href="http://bitnami.org/stacks">Bitnami</a>'s "Stacks" repository.
</p>]]></description>
      <pubDate>Fri, 18 Nov 2011 08:18:45 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Lukas Smith's Blog: Travis, CI for OSS]]></title>
      <guid>http://www.phpdeveloper.org/news/17123</guid>
      <link>http://www.phpdeveloper.org/news/17123</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Lukas Smith</i> looks at a recently introduced service, <a href="http://travis-ci.org">Travis CI</a> that helps make continuous integration simple (and without having to set up the software yourself). He <a href="http://pooteeweet.org/blog/0/2046#m2046">talks about his experiences</a> in getting his trial project up and working with their system.
</p>
<blockquote>
Continuous integration is one of these topics that had a slow start, but in recent years has really taken off. The slow start is likely to be attributed to the fact that it was perceived as hard to setup and maintain. But solutions around Jenkins and <a href="http://sismo.sensiolabs.org/">Sismo</a> are making it easier and easier. But thanks to the new <a href="http://travis-ci.org/">Travis CI service</a>, its now essentially so easy that there is no excuse not to use CI for <a href="http://about.travis-ci.org/blog/first_class_php_support_on_travis_ci/">PHP projects</a>, at least if you are hosting your OSS code on github.com. What makes this service so crazy cool is that you can run your tests against multiple PHP versions, multiples databases (heck even RabbitMQ) and against multiple versions of various libraries. 
</blockquote>
<p>
Thanks to the <a href="http://about.travis-ci.org/blog/first_class_php_support_on_travis_ci/">"first class" PHP support</a> they offer, setting up a PHP project is as simple as creating a ".travis.yml" file in your github-based project (including PHP versions to test against, dependency management and "before script" tasks to execute). If you're looking for a CI platform without a lot of the hassle involved in the usual setup, you'd do well to check out <a href="http://travis-ci.org">Travis CI</a>.
</p>
<p>
You can also see another example of a project setup in <a href="http://www.travisswicegood.com//2011/11/11/travis-and-python/">this post</a> from <i>Travis Swicegood</a>.
</p>]]></description>
      <pubDate>Mon, 14 Nov 2011 09:50:55 -0600</pubDate>
    </item>
  </channel>
</rss>

