Skip to content

Shorts

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 ;(