Запуск через командную строку
Помимо вызова контроллеров приложения через URL в браузере, их также можно загружать через интерфейс командной строки (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. «Иван Иванов» передаётся в качестве аргумента, и выводом является:
Hello John Smith!
Всё!
В этом, вкратце, всё, что нужно знать о контроллерах в командной строке. Помните, что это просто обычный контроллер, поэтому маршрутизация и _remap() работают нормально.
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/userguide3/general/cli.html