Laravel 5包开发
我在安装Laravel 5时遇到麻烦,因为workbench
已经移除。
正如在这个主题( 如何在Laravel 5创build软件包? )一样,Goldorakbuild议我们自己创build自己的软件包结构。
那么,我该如何手动创build工作台,并为包开发准备好一切呢?
使用laravel Workbench包:
您可以通过添加到composer.json
,将Laravel 5中的illuminate/workbench
软件包添加进来:
"illuminate/workbench": "dev-master"
然后将WorkbenchServiceProvider添加到您的config/app.php
文件中:
'Illuminate\Workbench\WorkbenchServiceProvider'
现在你需要创buildconfig/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' => '', ];
填写你的信息在这个configuration文件,然后你将能够使用工作台命令:
php artisan workbench vendor/name
创build你自己的包结构
在这个例子中,我们将在packages目录中创build名为awesome的包。
这里是封装结构:
packages/ vendor/ awesome/ src/ Awesome.php composer.json
- 供应商 :您的供应商名称,通常这是您的github用户名。
- 真棒 :你的包的名字
- src :你放置业务逻辑的地方
要生成一个composer.json文件,你可以在packages/vendor/awesome
目录下使用这个命令:
composer init
现在我们用一个简单的方法在src
目录中创build一个Awesome.php
类:
<?php namespace Vendor/Awesome; class Awesome { public static function printAwesomeness() { echo 'Awesome'; } }
之后,我们将该软件包添加到laravel composer.json
psr-4自动加载器:
"autoload": { "psr-4": { "App\\": "app/", "Vendor\\Awesome\\": "packages/vendor/awesome/src" } },
我们转储composer php自动加载器
composer dump-autoload
现在你可以在你的laravel 5项目的任何地方使用你的软件包。 如果您需要某些特定于服务提供者或视图发布的laravelfunction,请按照Laravel 5.0文档中的说明使用它们。
带有工作台的标准 。
设置1:照常安装laravel。
第2步:创build包文件夹和服务提供商
在根目录下创build一个文件夹,调用“packages” /"vendorName"/"packageName"/src" Eg: root/packages/jai/Contact/src
现在导航到src文件夹并创build一个服务提供者类:“ContactServiceprovider.php”
你的服务提供者应该扩展必须实现注册方法的ServiceProvider。
注意:如果你想要你可以有dd(“testing”); 在启动function,并转到步骤3,但你已经复制了你可能想创build视图,路线,configuration和控制器的文件检查下面的链接
第3步:在root composer.json文件"jai\Contact\": "packages/jai/Contact/src/"
添加package composer.json
中的包path"jai\Contact\": "packages/jai/Contact/src/"
psr-4下的"jai\Contact\": "packages/jai/Contact/src/"
"psr-4": { "App\": "app/", "Jai\Contact\": "packages/jai/contact/src/", }
第4步:在应用程序configuration中添加服务提供商。
在你的根目录/ conifg / app.php下的提供者添加你的包服务提供者来挂你的包。
'Jai\Contact\ContactServiceProvider',
第5步:运行composer phpdump-autoload – 确保没有错误。
全部完成 – 现在您可以通过url访问您的包 – "yourwebsite/contact"
来自这里的资源: https : //github.com/jaiwalker/setup-laravel5-package