Работа в консоли в yii2

By | May 10, 2015

В yii2 реализована очень удобная возможность разделение среды работы на консоль и среду которая обрабатывается через запрос в браузере.

Для этого в yii2 есть специальный раздел который так и называется console находящийся в папке /console/. По файловой структуре раздел ни чем не отличается от frontend или backend. На самом деле их можно наплодить любое количество, для удобства developer(а).

По реализации работы console ни чем не отличается от других разделов, ну только запускается она на прямую с консоли в корне фреймворка командой

root@kostiahome:/var/www/wap/www# ./yii

This is Yii version 2.0.3.

The following commands are available:

- asset     Allows you to combine and compress your JavaScript and CSS files.
- cache     Allows you to flush cache.
- fixture   Manages fixture data loading and unloading.
- getlib    
- gii       This is the command line version of Gii - a code generator.
- help      Provides help information about console commands.
- message   Extracts messages to be translated from source files.
- migrate   Manages application migrations.

To see the help of each command, enter:

  yii help <command-name>

Для реализации определённого контроллера необходимо его создать файл в папке controllers

Я для примера создал файл GetlibController.php с содержанием

<?php
namespace console\controllers;

class  GetlibController extends \yii\console\Controller {

    public function actionIndex() {
        echo "Index \n";
    }
    
       public function actionTest() {
        echo "Test\n";
    }

}

Теперь можно вызывать метод контролёра yii2 из консоли по примеру

root@kostiahome:/var/www/wap/www# ls -alh console/controllers
total 12K
drwxrwxrwx 2 root   root   4,0K мая   10 12:31 .
drwxrwxrwx 7 root   root   4,0K марта  1 09:22 ..
-rw-rw-r-- 1 kostia kostia  239 мая   10 13:06 GetlibController.php
-rwxrwxrwx 1 root   root      0 марта  1 09:22 .gitkeep
root@kostiahome:/var/www/wap/www# ./yii getlib/test
Test
root@kostiahome:/var/www/wap/www#

 

Category: Uncategorized