polidog / console
PHP控制台库
0.0.1
2013-04-10 14:23 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-21 20:13:28 UTC
README
在想要实现简单命令时很有用。Windows用户现在就安装Linux或购买Mac吧。
运行环境
php5.4以上
大家,使用php5.4吧ヽ(`・ω・´)ノ ウワァァン!
运行方法
查看examples目录中的内容即可理解,但基本流程如下。
- 设置自动加载器,使用composer install等命令应该会自动创建自动加载器!
- 生成命令类的实例
- 执行
- 根据需要执行的命令,传递相应的参数
例如:~/bin/command
#!/usr/bin/env php
<?php
require('../vendor/autoload.php');
$command = new Polidog\Console\Console($argv);
$command->addPath(__DIR__.DIRECTORY_SEPARATOR.'Command2/');
$command->execute();
假设有这样一个类。 默认情况下有String类,因此考虑执行String类。
polidog$ cd ~/bin
polidog$ ./command string urlencode テスト!
%E3%83%86%E3%82%B9%E3%83%88%21
这样,显示urlencode的值。
例如,如果不指定urlencode参数,即只指定类名的情况下,如果不重写main方法,则显示方法列表。
polidog$ cd ~/bin
polidog$ ./command string
base64 string 指定した文字列をbase64エンコードする
urlencode string URLエンコードをする
urldecode string URLデコードする
unserialize string 指定したシリアライズされた配列を普通の配列に戻して出力する
serialize string 配列なシンタックスの文字列をシリアライズした値に変更する
顺便说一句,使用默认提供的list方法也可以列出。
polidog$ ./command string list
base64 string 指定した文字列をbase64エンコードする
urlencode string URLエンコードをする
urldecode string URLデコードする
unserialize string 指定したシリアライズされた配列を普通の配列に戻して出力する
serialize string 配列なシンタックスの文字列をシリアライズした値に変更する
命令扩展方式
要扩展的命令类可以放在任何地方。 在Console类生成后,可以使用addPath方法添加要使用的类的路径。 examples的command文件中包含以下代码。
$command->addPath(__DIR__.DIRECTORY_SEPARATOR.'Command2/');
这样,在examples/Command2目录中准备好继承CommandAbstract的类,就可以使用该类了。 当然,类名不等于文件名是无法使用的。
例如,在Command2/中调用Test类时,可以这样调用
./command test
Hello extend command
这样就可以执行Command2中的测试类了。