---
title: "Prechod existujúceho balíka — Package Toolkit for Laravel | Roundly"
description: "Presuňte ručne zapojený balík na toolkit v štyroch krokoch — provider, typy kľúčov, pomocníci, kontrola kvality."
url: https://roundly-consulting.com/sk/open-source/navody/package-toolkit-for-laravel/prechod-na-toolkit
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)

# Prechod existujúceho balíka

Presun existujúceho balíka na toolkit je mechanický — štyri kroky.

## 1\. Rozšírte PackageServiceProvider

Namiesto ručne zapojeného providera rozšírte PackageServiceProvider a koncovku mergeConfigFrom / loadX / publishes / commands presuňte do configurePackage(). Typický ručne zapojený provider:

```php
use Illuminate\Support\ServiceProvider;

final class CommentsServiceProvider extends ServiceProvider
{
    public function register(): void
    {
        $this->mergeConfigFrom(__DIR__.'/../config/comments.php', 'comments');
    }

    public function boot(): void
    {
        $this->loadTranslationsFrom(__DIR__.'/../resources/lang', 'comments');

        if ($this->app->runningInConsole()) {
            $this->publishes([
                __DIR__.'/../config/comments.php' => config_path('comments.php'),
            ], 'comments-config');

            $this->publishes([
                __DIR__.'/../resources/lang' => $this->app->langPath('vendor/comments'),
            ], 'comments-translations');

            $this->commands([PruneCommentsCommand::class]);
        }
    }
}
```

sa zmení na jedinú deklaráciu s rovnakými publish tagmi:

```php
use RoundlyConsulting\PackageToolkit\Package;
use RoundlyConsulting\PackageToolkit\PackageServiceProvider;

final class CommentsServiceProvider extends PackageServiceProvider
{
    public function configurePackage(Package $package): void
    {
        $package
            ->name('comments')
            ->hasConfigFile()                               // same comments-config tag
            ->hasTranslations()                             // same comments-translations tag
            ->hasCommands([PruneCommentsCommand::class]);
    }
}
```

Ak balík doteraz načítaval migrácie automaticky, toolkit ich namiesto toho publikuje: dajte hostiteľom vedieť, že ich majú publikovať a spustiť migrate, a v TestCase balíka ich načítajte explicitne.

## 2\. Použite KeyType, makrá a DatabaseDriver

Odstráňte lokálny enum \*KeyType a magické reťazce driverov; použite KeyType so schémovými makrami a DatabaseDriver:

```php
// Before — driver magic strings and a hard-coded key column
if (DB::connection()->getDriverName() === 'pgsql') {
    // …
}
$table->unsignedBigInteger('author_id')->index();

// After — DatabaseDriver and the host's configured key type
if (DatabaseDriver::current()->isPgsql()) {
    // …
}
$table->ownerKey('author_id', KeyType::fromConfig('comments.key_type'));
```

## 3\. Nahraďte lokálne kópie pomocníkov

Lokálne kópie LikeEscaper, strážcov konfigurácie či resolverov modelov nahraďte pomocníkmi toolkitu zo Support — LikeEscaper, Config a ModelResolver.

## 4\. Spustite kontrolu kvality

Spustite testy a statickú analýzu balíka, potom CI:

```bash
composer test
composer analyse
```

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