У меня возникли проблемы с созданием пакета в Laravel 5 при удалении рабочего места.
Как и в этой теме ( Как создать пакет в Laravel 5? ), Goldorak предлагает нам самим создать собственную структуру пакетов.
Итак, как я могу создать рабочее место вручную и подготовить все для разработки пакета?
Вы можете добавить пакет light illuminate/workbench
в Laravel 5, добавив к вашему composer.json
:
"illuminate/workbench": "dev-master"
затем добавьте WorkbenchServiceProvider в файл config/app.php
:
'Illuminate\Workbench\WorkbenchServiceProvider'
Теперь вам нужно создать файл config/workbench.php
поскольку он был удален из Laravel 5:
<?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' => '', /* |-------------------------------------------------------------------------- | 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' => '', ];
Заполните свою информацию в этом файле конфигурации, и вы сможете использовать команду workbench:
php artisan workbench vendor/name
В этом примере мы создадим наш пакет, названный awesome в каталоге пакетов.
Вот структура пакета:
packages/ vendor/ awesome/ src/ Awesome.php composer.json
Чтобы сгенерировать файл composer.json, вы можете использовать эту команду в каталоге packages/vendor/awesome
:
composer init
Теперь мы создаем класс Awesome.php
в каталоге src
с помощью простого метода:
<?php namespace Vendor/Awesome; class Awesome { public static function printAwesomeness() { echo 'Awesome'; } }
После этого мы добавим пакет в автозагрузчик larvel composer.json
psr-4:
"autoload": { "psr-4": { "App\\": "app/", "Vendor\\Awesome\\": "packages/vendor/awesome/src" } },
и мы сбрасываем автозагрузчик композитора
composer dump-autoload
Теперь вы можете использовать свой пакет повсюду в своем проекте laravel 5. Если вам нужна определенная функция laravel, такая как поставщик услуг или публикация публикации, используйте их, как описано в документации Laravel 5.0 .
laravel 5 Стандарты с наружным верстаком .
Установите 1: установите laravel, как обычно.
Шаг 2. Создание папки пакета и поставщика услуг.
В корневом каталоге создайте вызов папки «packages» /"vendorName"/"packageName"/src" Eg: root/packages/jai/Contact/src
теперь перейдите в папку src и создайте класс поставщика услуг: «ContactServiceprovider.php»,
поставщик услуг должен расширить ServiceProvider, который должен реализовать метод регистрации.
Примечание. Если вы хотите, у вас может быть dd («тестирование»); в функции загрузки и перейдите к шагу 3, но вы скопировали файл, который может потребоваться для создания представлений, маршрутов, конфигураций и контроллеров.
Шаг 3: добавьте путь пакета в корневой файл composer.json
в корневой файл composer.json "jai\Contact\": "packages/jai/Contact/src/"
под psr-4
"psr-4": { "App\": "app/", "Jai\Contact\": "packages/jai/contact/src/", }
Шаг 4: добавьте поставщика услуг в конфигурацию приложения.
в вашем корневом / conifg / app.php под провайдерами добавьте поставщика пакетов, чтобы подключить ваш пакет.
'Jai\Contact\ContactServiceProvider',
Шаг 5: запустите компоновщик dump-autoload – убедитесь, что ошибок нет.
все сделано – теперь вы можете получить доступ к своему пакету через url – "yourwebsite/contact"
Ресурс отсюда: https://github.com/jaiwalker/setup-laravel5-package