Что бы это ни стоило, я недавно взломал небольшой собственный проект для разбора параметров командной строки в PHP. Я называю это Pharse (например, "PHP Parse" ... вроде). Он доступен для скачивания на github здесь:
https://github.com/chrisallenlane/Pharse
Он был так сильно вдохновлен Trollop , что вы могли почти считать его портом, хотя я не реализовал все функции, которые есть у Trollop. (Мне не нужны были некоторые функции - например, подкоманды - для моих собственных целей, поэтому я не стал беспокоиться.)
Общая суть библиотеки заключается в том, что ее использование требует наличия одного базового файла и последующей передачи классу Pharse одного ассоциативного массива опций. Например:
<?php
# specify some options
$options = array(
'user_name' => array(
'description' => 'Your username',
'default' => 'admin',
'type' => 'string',
'required' => true,
'short' => 'u',
),
'password' => array(
'description' => 'Your password',
'default' => 'sexsecretlovegod',
'type' => 'string',
'required' => true,
),
);
# You may specify a program banner thusly:
$banner = "This program logs you in to the Gibson.";
Pharse::setBanner($banner);
# After you've configured Pharse, run it like so:
$opts = Pharse::options($options);
?>
Я написал пост в блоге, в котором представляю библиотеку:
http://chris -allen-lane.com / 2012/03 / pharse-а-библиотека-для-PHP-командная строка-вариант-парсинг /
Я взломал библиотеку для случайного использования для моих личных проектов, поэтому я должен быть осторожен перед развертыванием этого сценария в производственной среде. Я еще даже не удосужился реализовать правильные юнит-тесты, так что будьте осторожны.
Тем не менее, я думаю, что это довольно изящный маленький сценарий, и я думаю, что он идеально подходит для хобби-проектов и тому подобного.