This post originated from an RSS feed registered with PHP Buzz
by Pure-PHP.
|
Original Post: PHP Command Line rocks
Feed Title: Pure PHP - PHP unconventional
Feed URL: http://www.iran-fun.com/
Feed Description: Unconventional methodes to boost php apps
|
Latest PHP Buzz Posts
Latest PHP Buzz Posts by Pure-PHP
Latest Posts From Pure PHP - PHP unconventional
|
|
Advertisement
|
Recently I wrote a PHP Command line app, I was amazed, how easy it was, to write command line app in PHP, and it really rocks.
Here is very simple Command Line handler class, it may be usefull for your apps.
<?php
class CliHandler{
private $in;
private $out;
private $handler;
public function CliHandler($handler){
$this->in = fopen("php://stdin","r");
$this->out = fopen("php://stdout", "w");
if(is_object($handler)){
$this->handler = $handler;
}
}
public function run(){
$str = "Try these commands:\n"
.implode("\n",get_class_methods($this->handler));
$this->out($str);
while($line = rtrim(fgets($this->in, 1024))){
if(method_exists($this->handler,$line)){
$out = $this->handler->$line();
if($out){
$this->out($out);
}
}
}
}
public function out($str){
fwrite($this->out,$str."\n");
}
}
class AnyClass{
public function start(){
return "started";
}
public function stop(){
return "stoppded";
}
}
$cli = new CliHandler(new AnyClass());
$cli->run();
?>
CliHandler accepts any class als argument.
Try this.
/usr/local/php/PHP5 CliHandler.class.php
output: Try these command:
start
stop
enter "start"
output: started
Read: PHP Command Line rocks