[英]Laravel 5 package development
I am having trouble to create package in Laravel 5 as workbench
has been removed. 由于
workbench
已删除,我无法在Laravel 5中创建软件包。
As in this thread ( How create package in Laravel 5? ), Goldorak suggest that we have to create our own package structure ourselves. 就像在这个线程中( 如何在Laravel 5中创建包? )一样,Goldorak建议我们必须自己创建自己的包结构。
So, how can I create the workbench manually and get everything ready for package development? 那么,如何才能手动创建工作台并使一切准备好进行软件包开发呢?
You can add the illuminate/workbench
package in a Laravel 5 by adding to your composer.json
: 您可以通过添加到
composer.json
来在Laravel 5中添加illuminate/workbench
包:
"illuminate/workbench": "dev-master"
then add the WorkbenchServiceProvider into your config/app.php
file: 然后将WorkbenchServiceProvider添加到您的
config/app.php
文件中:
'Illuminate\Workbench\WorkbenchServiceProvider'
Now you need to create the config/workbench.php
file since it has been removed from Laravel 5: 现在您需要创建
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' => '',
];
Fill your information in this config file then you will be able to use the workbench command: 在此配置文件中填写您的信息,然后您将能够使用workbench命令:
php artisan workbench vendor/name
In this exemple we will create our package called awesome in a packages directory. 在此示例中,我们将在packages目录中创建名为awesome的包。
Here is the package structure: 这是包的结构:
packages/
vendor/
awesome/
src/
Awesome.php
composer.json
To generate a composer.json file you can use this command in the packages/vendor/awesome
directory: 要生成composer.json文件,可以在
packages/vendor/awesome
目录中使用以下命令:
composer init
Now we create a Awesome.php
class in the src
directory with a simple method: 现在,我们使用一个简单的方法在
src
目录中创建一个Awesome.php
类:
<?php namespace Vendor/Awesome;
class Awesome
{
public static function printAwesomeness()
{
echo 'Awesome';
}
}
After that we add the package to the laravel composer.json
psr-4 autoloader: 之后,我们将该包添加到laravel
composer.json
psr-4自动加载器中:
"autoload": {
"psr-4": {
"App\\": "app/",
"Vendor\\Awesome\\": "packages/vendor/awesome/src"
}
},
and we dump the composer autoloader 然后转储作曲家自动加载器
composer dump-autoload
Now you can use your package everywhere in your laravel 5 project. 现在,您可以在laravel 5项目中的任何地方使用软件包。 If you need some laravel specific feature like service provider or view publishing, use them as described in the Laravel 5.0 documentation .
如果您需要某些laravel特定功能,例如服务提供商或视图发布,请按照Laravel 5.0文档中的描述使用它们。
laravel 5 Standards with out workbench . laravel 5标准,没有工作台 。
Set 1 : install laravel as usual. 设置1:照常安装laravel。
Step 2 : Create package folder and service provider 步骤2:建立套件资料夹和服务提供者
In root directory create a folder call "packages" /"vendorName"/"packageName"/src" Eg: root/packages/jai/Contact/src
在根目录中,创建一个文件夹调用“ packages”
/"vendorName"/"packageName"/src" Eg: root/packages/jai/Contact/src
now navigate to src folder and create a service provider class: "ContactServiceprovider.php" 现在,导航到src文件夹并创建一个服务提供程序类:“ ContactServiceprovider.php”
your service provider should extend ServiceProvider which has to implement register method. 您的服务提供商应扩展必须实现注册方法的ServiceProvider。
Note:If you want you can have dd("testing"); 注意:如果需要,可以使用dd(“ testing”); in boot function and go to step 3 but you have copied the file you might want to create views , routes , config and controllers check link below for that
在启动功能并转到第3步,但是您已复制了可能要创建视图,路由,配置和控制器的文件,请检查下面的链接
Step 3 : add package path in root composer.json
in your root composer.json file "jai\\Contact\\": "packages/jai/Contact/src/"
under psr-4 步骤3:在根composer.json文件
"jai\\Contact\\": "packages/jai/Contact/src/"
psr-4下的"jai\\Contact\\": "packages/jai/Contact/src/"
中的根composer.json
中添加软件包路径
"psr-4": { "App\": "app/", "Jai\Contact\": "packages/jai/contact/src/", }
Step 4 : add service provider in app config. 第4步:在应用程序配置中添加服务提供商。
in your root/conifg/app.php under providers add your package service provider to hook your package in. 在提供程序的root / conifg / app.php中,添加您的包服务提供程序以将您的包挂入。
'Jai\Contact\ContactServiceProvider',
Step 5 : run composer dump-autoload - make sure there are no errors. 步骤5:运行composer dump-autoload-确保没有错误。
all done - now you can access your package via url - "yourwebsite/contact"
全部完成-现在您可以通过url访问您的软件包-
"yourwebsite/contact"
Resource from here : https://github.com/jaiwalker/setup-laravel5-package 来自这里的资源: https : //github.com/jaiwalker/setup-laravel5-package
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.