Превращаем PHP скрипт в консольную команду
Как известно PHP - это многоцелевой язык, на котором можно писать как для Web, так и для десктопов. Что это означает? Это означает, что многие рутинные задачи, которые Вы из раза в раз выполняете в своей ОС можно быстро автоматизировать, превратив php скрипт в консольную команду.
Для этого необходимо:
- написать или уже иметь готовый скрипт
- поместить его в специальную папку на ПК, в которой ОС будет производить поиск команды
- в этой же папке поместить *.bat файл (для Windows)
Пример:
<?php
// файл script.php
print_r($argv);
Код myscript.bat:
rem отключаем вывод в консоль команд из данного файла
@echo off
rem передаем произвольное число аргументов скрипту
rem указываем полный путь к скрипту
php C:\Demo\PATH\script.php %*
Используем так (консоль):
C:\> myscript hello world
Результат:
Array
(
[0] => C:\Demo\PATH\script.php // первый аргумент путь к файлу
[1] => hello
[2] => world
)
Заметьте, что файл myscript.bat должен лежать в такой папке на ПК, которая прописана в PATH, в противном случае получите ошибку.
Итак, а где это может быть полезно? Я например, с помощью данного метода создал небольшую консольную команду, которая генерирует контроллер сайта и еще кучу файлов.
C:\> mycoder -create-controller=Dashboard
Таким образом, у меня нет необходимости при создании нового компонента сайта вручную создавать все каталоги и файлы, копировать в них код и т.д.
-
- Михаил Русаков
Комментарии (2):
Добрый день. Если статья ориентирована на новичков, то допущенные в ней огрехи и неточности делают её бесполезной. Например: в заголовке файл назван moiscript.bat, а далее - myscript. Подразумевается, что файл script.php содержит ту самую команду "print 'Я исполняемый скрипт'", тогда где здесь используется передаваемый параметр "hello"? Всегда будет напечатано только 'Я исполняемый скрипт' и никакого hello. И последнее: как новичок узнает, что можно передавать не один, а несколько параметров? Материал нужный и полезный, изложен как-то не очень... Спасибо
Ответить
Понял. В ближайшее время обязательно исправлю в соответствии с Вашими рекомендациями!
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.