17. /phing/intro
• PHing Is Not Gnu make
• Started in 2004
• Ported previously to PHP 5
• 777 stars
• 3315 commits
• Very similar to Apache Ant
• Manifest in XML
27. /phing/extending
<?php
require_once "phing/Task.php";
class MyEchoTask extends Task {
/**
* The message passed in the buildfile.
*/
private $message = null;
/**
* The setter for the attribute "message"
*/
public function setMessage($str) {
$this->message = $str;
}
/**
* The init method: Do init steps.
*/
public function init() {
// nothing to do here
}
/**
* The main entry point method.
*/
public function main() {
print($this->message);
}
}
<includepath classpath="src/AppBundle/Phing" />
<taskdef name="myecho"
classname="MyEchoTask" />
<myecho message="Hello World" />
33. /robo/io
public function identify()
{
$this->yell('Hey!!! Welcome to Winterfel', 'blue');
$this->io()->choice('Who are you?', [
'John Snow',
'Tyrion Lannister',
'Danaerys Targaryen'
]);
$this->ask('What do you do?');
$this->say('Best answer ever');
}
43. /summary/comparison
phing robo
Started in 2004 2014
Written in PHP yes yes
Config format xml php
Parallel
execution
yes yes
Extendable yes yes
Verbose yes no
Learning Curve hard easy
IDE support yes yes
I/0 poor rich
Scalable yes yes
Symfony
Components
no yes