Командная строка

Kohana позволяет полноценно работать с командной строкой (CLI — Command-Line Interface) прямо «из коробки». Работа через командную строку ведется, когда необходимо какую-то часть приложения выполнять вне браузера, например по планировщику заданий (cron) либо через удаленный терминал.

Запуск через CLI

Запуск любой части приложения происходит через главный файл Kohana index.php, а дополнительная информация передается с помощью аргументов.

Пример команды:

php /Users/delphist-air/Server/localhost/index.php --uri=/category/list

Аналогично тому, что вы запустите в браузере адрес:

http://localhost/category/list

Помимо параметра --uri доступны еще некоторые:

  • --method — метод запроса страницы (GET, POST, HEAD, PUT, DELETE и т.д.),
  • --get — список параметров GET, например action=category&return=index,
  • --post — список параметров POST в том же формате, что и GET,
  • --uri — адрес запрашиваемой страницы.
При запуске php из командной строки, в масиве $_SERVER будут отсутсвовать специфичные для вебсервера переменные, такие как SERVER_NAME, HTTP_HOST, DOCUMENT_ROOT и т.п. — учтите их отсутствие в своем приложении.
При использовании метода URL::site из под командной строки, будет выдаваться ошибка.

CLI внутри приложения

После запуска приложения через командную строку, переменная Kohana::$is_cli принимает значение TRUE, во всех других случаях — FALSE.

Получение параметров

По умолчанию все передаваемые параметры находятся в массиве $_SERVER['argv']. Вы можете облегчить работу с ними, используя метод CLI::options($option, $option, …), где $option — название аргумента (можно передать несколько). Результатом выполнения функции будет массив значений аргументов.

Например:

php index.php --username=delphist  --comment="login me please"
$this->response->body(print_r(CLI::options(
	'uri', 'username', 'comment'
), 1));
 
/* Array
(
    [username] => delphist
    [comment] => login me please
) */

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *