News Feed
Jobs Feed
Sections



Recent Jobs

News Archive
feed this:

PHPMaster.com:
Using Phing
January 05, 2012 @ 10:41:40

On PHPMaster.com today there's a new tutorial posted about using the Phing build tool 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.

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.

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).

0 comments voice your opinion now!
phing build tool tutorial multiple target helloworld



Josh Adell's Blog:
Phar Flung Phing
September 26, 2011 @ 10:05:37

Josh Adell has posted about a bit of automation he set up with Phing and PHP's phar packaging to create an archive as a part of his build system. It's a simple five step process mad even easier by the fact that Phing already has a PharPackage task.

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 Neo4jPHP 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.

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 end result here.

0 comments voice your opinion now!
phar package archive neo4jphp tutorial build task phing


NetTuts.com:
How to Use the Nettuts+ Phing Build Script
August 22, 2011 @ 11:50:40

NetTuts.com has come up with a Phing (the automated build tool written in PHP) build script that designers can drop in as a part of their deployment process to compress, concatenate and Prefixize all of their stylesheets and scripts.

We've created a build script for Phing 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.

The post includes a screencast 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 directly from github.

0 comments voice your opinion now!
build script phing compress stylesheet designer prefixize tutorial screencast


Tom Jowitt's Blog:
Streamlined PHP Development - Part III
August 10, 2011 @ 11:09:04

Tom Jowitt has posted his third part in his "streamlined PHP development" series today focusing on working with databases and setting it up with your automated deployment system (parts one and two).

In the first two parts of this series we covered setting up the server and an introduction to Phing. This post will cover managing our database code with dbdeploy and Phing.

He points out that there's no "silver bullet" when it comes to automated database management but he's found dbdeploy 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.

0 comments voice your opinion now!
development tutorial install configure environment phing dbdeploy initialize update


Sander Marechal's Blog:
A YuiCompressorFilter for Phing
August 02, 2011 @ 09:16:37

Sander Marechal has been working with Phing in some of his recent development and has created something useful for compressing Javascript and CSS files on the deployment of your application - a YuiCompressor task.

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.

He includes both a sample of the task and it's configuration (the XML) in the post as well as a link to its source over on github.

0 comments voice your opinion now!
javascript compress phing task css


Tom Jowitt's Blog:
Streamlined PHP Development - Part II
July 20, 2011 @ 08:21:07

Tom Jowitt has posted the second part of his series looking at setting up a streamlined PHP development environment in part two covering some of the basics of the build.

In the first part of this series 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 Phing.

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 on github) 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 some screenshots of the end result.

1 comment voice your opinion now!
phing development environment automate tutorial application


PHP and Me Blog:
Use Phing to Update your SVN-Version-Controlled Website Automatically, Through FTP
June 20, 2011 @ 11:57:15

On the "PHP and Me" blog there's a new entry from Pinpin Bysma showing how to use the PHP-based deployment tool Phing to update your production website via an FTP connection, automated by a Phing build.

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

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.

0 comments voice your opinion now!
phing tutorial svn website deploy ftp custom task


Lorna Mitchell's Blog:
Idiot-Proof Deployment with Phing
May 13, 2011 @ 11:38:37

Lorna Mitchell has a new post to her blog providing what she calls an idiot-proof guide to deployment with Phing, the popular PHP-based deployment tool based on Apache's Ant.

When I launched my own product recently (BiteStats, a thing to automatically email you a summary of your analytics stats every month), I knew that I would need a really robust way of deploying code. I've been doing a few different things for a few years, and I've often implemented these tools with or for other organisations, but I don't have much code in production in my own right, weirdly. I decided Phing was the way to go, got it installed, and worked out what to do next.

Her guide starts with a simple build.xml and builds it out with several tasks and targets including her main "deploy" target that grabs the next tag from her mercurial repository, packages it up for deployment. She explains things step by step so you won't miss anything too, since there's a lot going on.

0 comments voice your opinion now!
phing deployment tutorial build xml


Christian Weiske's Blog:
Visualizing PHPUnit runs
May 02, 2011 @ 10:19:48

During some of his development, Christian Weiske found the tests for a project he was working on too slow for comfort and figured there had to be a way to find the root cause:

Running the specific test cases for the part of the application you're working on is easy and fast, but that does not tell you when changes in part A of the app break part B - which happened several times, and all just because I didn't want to wait 45 seconds again and again. So a solution was badly needed; tests should be as fast as possible; preferably < 10 seconds. Before being able to make the slow tests faster, I had to find out which of the 80 tests were slow.

Tools like Jenkinks give more detail on test runs, but a normal PHPUnit install won't. So, he came up with a method that uses Phing's phpunitreport task to generate extra reporting easily. Here's some example screenshots: test results summary, test detail and single page views of the same sort of data.

0 comments voice your opinion now!
visualize phpunit runtime phing phpunitreport report


Lorna Mitchell's Blog:
Script for Database Patching at Deploy Time
April 15, 2011 @ 08:51:31

As a part of one of her projects, Lorna Mitchell had a need to deploy database patches as a part of her overall deployment process. Obviously, doing this manually every time can be a hassle so she came up with a script that does the work for her (based on a patch_history table).

My current project (BiteStats, a simple report of your google analytics data) uses a basic system where there are numbered patches, and a patch_history table with a row for every patch that was run, showing the version number and a timestamp. When I deploy the code to production, I have a script that runs automatically to apply the patches.

The script uses the number-based patch names (such as patch1.sql) and finds the latest ones that haven't been applied based on the highest values for the patch_number column in the database. This number is updated by the patches themselves when they're run to avoid any confusion in the script itself. She has it running as a part of her phing build process as a part of a Zend Framework application.

0 comments voice your opinion now!
deployment database patch number history mysql table phing



Community Events





Don't see your event here?
Let us know!


interview framework test application conference podcast database opinion community unittest language custom phpunit symfony2 release series introduction development component api

All content copyright, 2012 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework