Spec-Zone.ru › CodeIgniter 3

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

Помимо вызова контроллеров приложения через URL в браузере, их также можно загружать через интерфейс командной строки (CLI).

Содержание страницы

  • Запуск через командную строку
    • Что такое CLI?
    • Зачем запускать через командную строку?
    • Попробуем: Hello World!
    • Всё!

Что такое 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. «Иван Иванов» передаётся в качестве аргумента, и выводом является:

Hello John Smith!

Всё!

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

© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/general/cli.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API