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