Laravel 5 Package Development – Jak zacząć?

Łukasz Piotrowski Komentarzy 0

    Wraz z wydaniem Laravel 5 zniknęła z artisana jedna przydatna komenda: workbench.
    To dzięki niej w 4 mogliśmy bardzo łatwo tworzyć paczki. A jak tego dokonać w wersji 5?
    Pokażę Wam dość prosty sposób.


    Przygotowania

    Wpierw musimy sobie pobrać najnowszą wersję Laravela:

    composer create-project laravel/laravel forPackages

    Gdy będziemy mieli nasze gotowe podstawowe środowisko pobieramy paczkę Workbench.

    W tym celu do pliku composer.json dodajemy:

    "illuminate/workbench": "dev-master"

    i robimy

    composer update

    Na końcu musimy utworzyć plik config/workbench.php

    <?php
    
    return [
        /*
        |--------------------------------------------------------------------------
        | Workbench Author Name
        |--------------------------------------------------------------------------
        |
        | When you create new packages via the Artisan "workbench" command your
        | name is needed to generate the composer.json file for your package.
        | You may specify it now so it is used for all of your workbenches.
        |
        */
        'name' => 'Imie Nazwisko',
        /*
        |--------------------------------------------------------------------------
        | Workbench Author E-Mail Address
        |--------------------------------------------------------------------------
        |
        | Like the option above, your e-mail address is used when generating new
        | workbench packages. The e-mail is placed in your composer.json file
        | automatically after the package is created by the workbench tool.
        |
        */
        'email' => 'adres@emai.pl',
    ];

    Tworzenie fundamentu

    Gdy mamy już potrzebne narzędzia tworzymy szkielet dla naszej paczki.
    W konsoli:

    php artisan workbench Pyton/TestPackage

    Przeważnie vendor to login z GitHub lub czegoś innego a package to nazwa naszej paczki.
    Utworzy nam się katalog /workbench

    workbench/
    └── pyton
        └── test-package
            ├── composer.json
            ├── composer.lock
            ├── phpunit.xml
            ├── src
            │   └── Pyton
            │       └── TestPackage
            │           └── TestPackageServiceProvider.php
            ├── tests
            └── vendor

    Przedostatnim krokiem jest edycja pliku composer.json w katalogu główny Laravel (nie tego w paczce)
    i dodanie do sekcj psr-4:

    "Pyton\\TestPackage\\": "workbench/pyton/test-package/src/Pyton/TestPackage"

    i na koniec zarejestrowanie naszego ServiceProvider w /config/app.php:

    'Pyton\TestPackage\TestPackageServiceProvider',

    Koniec

    To jest sposób znany z Laravel 4. Jeżeli chcecie to odpalając

    php artisan workbench --resources vendor/package

    utworzy się wam dodatkowa struktura katalogów na widoki, kontrolery itp.

    Oczywiście jak ktoś chce może samodzielnie utworzyć projekt composerem jako zależność dodając

    "illuminate/support": "5.0.*"

    jednak ww. sposób jest wygodniejszy moim zdaniem.

    To tyle. Życzę udanych paczek :)

    Top