NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Rozšírte PackageServiceProvider a v configurePackage() opíšte, čo váš balík obsahuje. Všetko, čo patrí len do konzoly, sa zapojí za vás:

use RoundlyConsulting\PackageToolkit\Package;
use RoundlyConsulting\PackageToolkit\PackageServiceProvider;

final class CommentsServiceProvider extends PackageServiceProvider
{
    public function configurePackage(Package $package): void
    {
        $package
            ->name('comments')
            ->hasConfigFile()
            ->hasMigrations()
            ->hasTranslations()
            ->hasCommands([PruneCommentsCommand::class])
            ->contributesToAbout();
    }
}

Kde je koreň balíka

Základný provider odvodí koreň balíka z umiestnenia samotného providera: src/…ServiceProvider.php → koreň balíka, teda adresár s config/, database/, resources/ a routes/. Všetky cesty buildera sa riešia relatívne k nemu:

comments-for-laravel/
    config/comments.php                 hasConfigFile()
    database/migrations/*.php           hasMigrations()
    database/migrations/<name>.php.stub hasMigration('<name>')
    resources/lang/                     hasTranslations()
    resources/views/                    hasViews()
    routes/<file>                       hasRoutes('<file>')
    src/CommentsServiceProvider.php     the provider — the package root is the directory above src/

Pri neštandardnej štruktúre — napríklad keď je provider vnorený hlbšie než v src/ — prepíšte resolvePackageBasePath():

// src/Providers/CommentsServiceProvider.php — one level deeper than usual
protected function resolvePackageBasePath(): string
{
    return dirname(__DIR__, 2);
}

Čo robí základný provider

  • register() — vytvorí Package s odvodenou základnou cestou, zavolá configurePackage(), zlúči všetky deklarované konfiguračné súbory a zaregistruje deklarované aliasy tried (nerozpoznaná hodnota aliasu vyhodí výnimku).
  • boot() — načíta preklady a views, načíta súbory rout (ak sa ich konfiguračný prepínač nečíta ako false; nerozpoznaná hodnota prepínača vyhodí výnimku) a pridá príspevky do about.
  • boot(), len v konzole — zaregistruje všetky publish skupiny (konfigurácia, migrácie, preklady, views, routy, stuby) a konzolové príkazy.

Každý krok je protected metóda — registerPackageConfig(), registerFacadeAliases(), bootPackage(), registerAboutContributions(), bootPackageInConsole() a publishPackageMigrations() — takže balík s nezvyčajnou potrebou prepíše práve jeden krok, nie celý provider.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.