---
title: "Builder balíka — Package Toolkit for Laravel | Roundly"
description: "Rozšírte PackageServiceProvider, opíšte balík v configurePackage() a zvyšok zapojí základný provider."
url: https://roundly-consulting.com/sk/open-source/navody/package-toolkit-for-laravel/builder-balika
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Package Toolkit for Laravel](https://roundly-consulting.com/sk/open-source/navody/package-toolkit-for-laravel.md)

# Builder balíka

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:

```php
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():

```php
// 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 ich hostiteľ publikoval, jeho kópiu —, pokiaľ 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/package-toolkit-for-laravel.md)
