@flametrong

Yii2 advanced console. Как возвращается rerutn?

Доброго
Установил YII2 Advanced > php init > 0 > yes .. вообщем все по минимуму
Создаем - console/controllers/MakefileController.php

<?php
namespace console\controllers;
use yii\console\Controller;
Class MakefileController extends Controller{
	public function actionIndex(){
		$fp = fopen("./file.txt", "w");
		fwrite($fp, 'qweasdzxc123');
		fclose($fp);
		return 1234;
	}
}


Собственно результат есть, но частичный. В корне YII создается файлик file.txt, все круто, т.е. скрипт работает, но! в консоле rerurn не возвращает ничего

Господа, подскажите, как вывести в консоль return? Может в настройках что то добавить?
  • Вопрос задан
  • 362 просмотра
Решения вопроса 1
@davidnum95
Добрый день. Если вы хотите что то выводить в консоль - необходимо писать данные в поток вывода. В yii 2 для этого предусмотрен метод stdout. Пример использования:
private function log($success, $error = null)
    {
        if ($success) {
            $this->stdout(date("Y-m-d H:i:s") . ': Success!', Console::FG_GREEN, Console::BOLD);
        } else {
            $this->stdout(date("Y-m-d H:i:s") . ': ' . $error, Console::FG_RED, Console::BOLD);
        }
        echo PHP_EOL;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
qonand
@qonand
Software Engineer
В консольных контроллерах return у action определяет код возврата, а не информацию которую нужно вывести в консоль. Для вывода данных используйте stdout или yii\helpers\Console
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
public function actionIndex(){
    $fp = fopen("./file.txt", "w");
    fwrite($fp, 'qweasdzxc123');
    fclose($fp);
    echo '1234';
    return true;
  }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы