php - seeds - ¿Cómo hacer eco a la consola en Laravel y Artisan?
php artisan make model (6)
Tenía curiosidad, estoy usando Laravel y Artisan para mis migraciones. ¿Hay algún método para enviar información a la consola? Parece que no puedo encontrar ninguna información sobre esto. Por ejemplo:
<?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();
}
}
''Symfony / Component / Console / Output / ConsoleOutput;'' trabaja para mí en Laravel 5.2
Dado que la respuesta elegida no parece funcionar desde la versión 4.2, yo digo que sea simple:
public function up() {
// Migration runs //
echo ''Records processed'' . PHP_EOL;
}
Esto funciona para mi
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'');
}
}
}
Tengo una migración que está convirtiendo una tabla grande en un formato más eficiente y uso esto para obtener algún progreso mientras funciona.
Me gusta el color agregado por el Dumper (probado en Laravel 5.3). Creo que se ve un poco mejor que usar el eco. El problema que tengo con el eco de salida es que es muy fácil pasarlo por alto, el Dumper agrega un poco de verde que llama la atención:
public function up() {
// Migration runs //
(new Illuminate/Support/Debug/Dumper)->dump("A bit more colorful text");
}
No sé si está utilizando Laravel 3 o Laravel 4, y si también es posible en Laravel 3, pero encontré esto en los documentos .
$this->info(''Creating sample users...'');
EDITAR
Si cambia a las semillas de base de datos , puede usar esto para mostrar un mensaje.
$this->command->info(''Creating sample users...'');
Para la base de datos de siembra en Laravel5, puede utilizar
$this->command->getOutput()->writeln("<info>Your message here</info>");
para imprimir la salida en la línea de comandos.
<info>
muestra el mensaje en color verde, mientras que <error>
muestra en color rojo que se puede usar para mensajes de error.