<?php /** *+-----------------------------------------------------------------------+ *| CliParser v0.1 - 19 Jul 2006 | *+-----------------------------------------------------------------------+ *| Diego do Nascimento Feitosa | *| diego@dnfeitosa.com | *| www.dnfeitosa.com | *| São Paulo/SP - Brasil | *| The latest version can be found at www.dnfeitosa.com | *+-----------------------------------------------------------------------+ *| CliParser is free software; you can redistribute it and/or modify | *| it under the terms of the GNU General Public License as published by | *| the Free Software Foundation; either version 2 of the License, or | *| (at your option) any later version. | *| | *| CliParser is distributed in the hope that it will be useful, but | *| WITHOUT ANY WARRANTY; without even the implied warranty of | *| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | *| General Public License for more details. | *| | *| You should have received a copy of the GNU General Public License | *| along with CliParser; if not, write to the Free Software | *| Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | *| 02111-1307 USA | *+-----------------------------------------------------------------------+ **/
// An example of how to extend the CliToken class can be found in the CliTokenExample.inc file function __autoload($class) { require_once("$class.inc"); }
$token1 = new CliTokenString("-c"); $token1->setDescription("It requires a string");
$token2 = new CliTokenBoolean("-h"); $token2->setDescription("Token that shows a help message");
$token3 = new CliTokenBoolean("-e"); $token3->setDescription("It don't require any value. The existence of this argument is enough");
$token4 = new CliTokenDirectory("-d"); $token4->setDescription("This token require a directory path as argument. If the argument isn't a path, an error message will appear.");
class AppCliParser extends CliParser { public function undefinedTokenError($token) { echo sprintf("Unknown option %s\n", $token); }
public function getHelpMessage() { echo sprintf("Usage: application [options]...\n"); $this->getDescriptions(); exit; } }
//$args = array("filename.php", "-c", "teste", "-e", "-d"); //$obj = new AppCliParser($args); $obj = new AppCliParser($_SERVER["argv"]); $obj->register($token1); $obj->register($token2, false); // false because it not require an argument $obj->register($token3, false); // false because it not require an argument $obj->register($token4); $obj->parse();
if ($token2->getValue()) { $obj->getHelpMessage(); }
var_dump($token1->getValue()); var_dump($token2->getValue()); var_dump($token3->getValue()); var_dump($token4->getValue());
?>
|