Запуск командной строки (CLI)

Также вызов контроллеров приложения через URL в браузере можно осуществлять используя интерфейс командной строки (command-line interface - CLI).

Что такое CLI?

Интерфейс командной строки - это текстовый способ взаимодействия с компьютерами. Дополнительные сведения смотрите в статье Википедии.

Зачем запускать через командную строку?

Есть много причин для запуска CodeIgniter через командную строку, но они не всегда очевидны.

  • Запуск заданий cron без необходимости использовать wget или curl
  • Сделать задания cron недоступными для загрузки в URL проверяя возвращаемое значение is_cli().
  • Создавать интерактивные “задачи” которые могут делать такие вещи как установка разрешений, подрезать папки кеша, выполнять резервное копирование и др.
  • Интэгрировать с другими приложениями на других языках. Напрмер, случайный C++ скрипт мог бы вызвать команду и выполнить код в вашей модели!

Давайте попробуем: Hello World!

Давайте создадим простой контроллер, чтобы вы могли увидеть это в действии. В текстовом редакторе, создайте файл Tools.php, и разместите в нем следующий код:

<?php
class Tools extends CI_Controller {

        public function message($to = 'World')
        {
                echo "Hello {$to}!".PHP_EOL;
        }
}

Затем сохраните файл в application/controllers/ каталог.

Обычно вы посещаете сайт используя URL аналогичный этому:

example.com/index.php/tools/message/to

Вместо этого, откройте терминал в Mac/Linux или выберите пункт Выполнить > “cmd” в Windows и перейдите к проекту на CodeIgniter.

$ cd /path/to/project;
$ php index.php tools message

Если вск выполнено правильно, вы увидите Hello World!.

$ php index.php tools message "John Smith"

Тут мы передаем аргумент также как и параметр в URL. “John Smith” передается как аргумент и выводит:

Hello John Smith!

Вот и все!

В двух словах, это все что нужно знать о контроллерах в командной строке. Помните, что это просто обычный контроллер, и маршрутизация _remap() работает отлично.