Intereting Posts
JQGrid, Как разместить строку JSON для PHP для обработки и отправки в базу данных? как отправить содержимое узла в xml на другую страницу с помощью php? Является ли порядок ассоциативного массива гарантированным в PHP? MySQL: Как установить начальное значение поля автоматического увеличения? как вставить запись в базу данных с помощью флажка другой опции в php? Функция gzuncompress PHP в Java? Как я могу получить подсветку синтаксиса HTML в моем редакторе для CakePHP? Как использовать функцию внутри строки? Ошибка mysql: не удалось запустить службу mysql на ошибке локального компьютера 193: oxc1 Как создать скрипт в чате с PHP? Yii2: получить выбранные данные строк из столбцов столбца gridView в контроллер Как получить опцию, ранее заданную с помощью curl_setopt ()? Уменьшить символ с помощью php Автозаполнение для ZF2 просмотр помощников в PhpStorm Прозрачное окружное обрезанное изображение с помощью PHP

Как эхо на консоли в Laravel и Artisan?

Мне было любопытно, я использую Laravel и Artisan для моих миграций. Есть ли способ вывода информации на консоль. Я не могу найти никакой информации об этом. Например:

<?php class Generate_Sample_Users{ public function up(){ //Echo to console here echo "Creating sample users..."; $generator = new Sample_Data(); $user_count = 30; $users = array(); for($i=0; $i < $user_count; $i++){ array_push($users, $generator->generate_user($i)); } DB::table('users')->insert($users); } public function down(){ DB::table('users')->delete(); } } 

Не знаю, используете ли вы Laravel 3 или Laravel 4, и если это возможно и в Laravel 3, но я нашел это в документах .

 $this->info('Creating sample users...'); 

РЕДАКТИРОВАТЬ

Если вы переключитесь на семена базы данных, вы можете использовать это для отображения сообщения

 $this->command->info('Creating sample users...'); 

Это работает для меня

 use Symfony\Component\Console\Output\ConsoleOutput; class MigrateData { public function up() { $output = new ConsoleOutput(); for($i=0; $i<50000; $i++) { $output->writeln('Converting '.$i.' of 50000'); } } } 

У меня есть миграция, которая преобразует большую таблицу в более эффективный формат и использует ее для достижения определенного прогресса, пока она работает.

'Symfony \ Component \ Console \ Output \ ConsoleOutput;' работает для меня на Laravel 5.2

Поскольку выбранный ответ, похоже, не работает с 4.2, я просто говорю просто:

 public function up() { // Migration runs // echo 'Records processed' . PHP_EOL; } 

Мне нравится цвет, добавленный Dumper (проверенный на Laravel 5.3). Я думаю, выглядит немного лучше, чем использование эха. Проблема, с которой я столкнулась, заключается в том, что ее слишком легко упускать, а Dumper добавляет немного зеленого цвета, который бросается в глаза:

 public function up() { // Migration runs // (new Illuminate\Support\Debug\Dumper)->dump("A bit more colorful text"); } 

Для посева базы данных в Laravel5 вы можете использовать

 $this->command->getOutput()->writeln("<info>Your message here</info>"); 

для вывода вывода в командной строке.

<info> показывает сообщение в зеленом цвете, где <error> отображается красным цветом, который может использоваться для сообщений об ошибках.