Skip to content

Snippets

Creare un comando CRON in Laravel

Creare un comando CRON in Laravel

Nella cartella root di Laravel

php artisan make:command DemoCron --command=demo:cron

la firma del comando demo:cron deve essere identica a quella definita nella classe che viene creata in app/Console/Commands/DemoCron.php

Il metodo handle() diventa:

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    \Log::info("Cron is working fine!");
    /*
       Scrivi qui la tua logica
     */
}

Poi in app/Console/Kernel.php indicare il comando da eseguire:

protected function schedule(Schedule $schedule)
{
    $schedule->command('demo:cron')->everyMinute();
}

Verificare se c’è bisogno d aggiungere il seguente codice prima delle definizioni dei metodi:

/**
 * The Artisan commands provided by your application.
 *
 * @var array
 */
protected $commands = [
    Commands\DemoCron::class,
];

 

Creare risorsa Filament
Creazione Widget in Filament

Creazione Widget in Filament

Per creare un widget utilizzabile nelle pagine del pannello esegui ad esempio:

php artisan make:filament-widget RequestsChart --chart

E’ importante verificare che Filament individui correttamente gli widget automaticamente, verificando il file AdminPanelProvider.php dentro Providers/Filament. Deve esserci questo puntatore ->discoverWidgets(in: app_path('Filament/Widgets'), for: 'App\Filament\Widgets')

 

Eseguire un Seeder in Laravel

Eseguire un Seeder in Laravel

php artisan db:seed --class=NomeClasseSeeder

In questo modo si esegue le specifica classe indicata. Se si omette l’opzione della specifica della classe viene eseguita la classe di default DatabaseSeeder.php

Creare una nuova entità

Creare una nuova entità

Quando in Laravel abbiamo bisogno di aggiungere una nuova entità (p.e. i prodotti di un negozio) consiglio sempre di pensare al suo nome inglese perché Laravel gestisce automaticamente i plurali e riconosce i nome delle tabelle nelle foreign key…

php artisan make:model Product -m

Questo comando crea contemporaneamente 2 file:

  • app/Models/Product.php
  • database/migrations/xxxx_xx_xx_create_products_table.php

Come si vede creando il modello al singolare viene creata la tabella al plurale (se provi con un nome italiano viene uno… schifo ;(