Osumi Framework
es en eu v9.8.0 GitHub

CLI (Komando-lerroko interfazea)

Osumi Framework-ek komando-lerroko interfaze indartsua eskaintzen du garapen-atazak automatizatzeko, datu-basea kudeatzeko eta script pertsonalizatuak exekutatzeko. CLI komando guztien sarrera-puntua zure proiektuaren erroan dagoen of fitxategia da.


Erabilera

Komandoak PHP erabiliz exekutatzen dira terminaletik:

php of <aukera> [parametroak]

Fitxategia parametrorik gabe exekutatzen bada, eskuragarri dauden aukeren zerrenda erakusten da (Framework-eko aukerak eta erabiltzaileak sortutakoak).

Oinarrizko komandoak

Framework-ak hainbat atazak eskaintzen ditu:


Ataza pertsonalizatuak

CLIa zabaldu dezakezu zure atazak sortuz. src/Task/-n kokatutako eta OTask hedatzen duen edozein klase automatikoki agertuko da of komandoan aukera erabilgarri gisa.

Ataza bat sortzea

Ataza batek bi elementu nagusi behar ditu:

  1. __toString(): Atazaren deskribapen laburra itzultzen du (laguntza-menuan bistaratzen da).
  2. run(array $options): Exekutatuko den logika.

Adibidea: AddUserTask.php

<?php declare(strict_types=1);

namespace Osumi\OsumiFramework\App\Task;

use Osumi\OsumiFramework\Core\OTask;
use Osumi\OsumiFramework\App\Model\User;

class AddUserTask extends OTask {
  public function __toString() {
    return "addUser: Erabiltzaile berriak sortzeko ataza";
 }

  public function run(array $options=[]): void {
    $name = $options['name'] ?? $options[0] ?? null;

    if (is_null($name)) {
      echo "Errorea: Izena beharrezkoa da.\n";
      return;
    }

    $u = new User();
    $u->name = $name;
    $u->save();

    echo "Erabiltzailea " . $izena . " arrakastaz sortu da.\n";
  }
}


Parametroak Kudeatzea

run metodoak bi sarrera estilo onartzen dituen $options array bat jasotzen du:

1. Parametro Posizionalak

Komandoaren izenaren ondoren zuzenean pasatzen dira.

php of addUser "John Doe"
# $options = [0 => "John Doe"]

2. Parametro Izendatuak

--key value sintaxia erabiliz. Horren ondorioz, array asoziatibo bat sortzen da.

php of addUser --izena "John Doe"
# $options = ["izena" => "John Doe"]

Oharra $options$-ri buruz: $options parametroa beti array bat da, DTOak ezin dira erabili Zereginetan.


Zereginen Ezaugarriak

OTask hedatzen duten klaseek hainbat utilitate integraturako sarbidea dute:


Praktika Onak