首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5包开发

Laravel 5包开发
EN

Stack Overflow用户
提问于 2015-02-07 12:13:06
回答 3查看 17.6K关注 0票数 33

我在Laravel 5中创建包时遇到了问题,因为workbench已经被删除了。

在这个帖子(How create package in Laravel 5?)中,Goldorak建议我们必须自己创建自己的包结构。

那么,如何手动创建工作台并为包开发做好一切准备呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-07 22:32:04

使用laravel Workbench包:

您可以通过在composer.json中添加illuminate/workbench包来将其添加到Laravel 5中

代码语言:javascript
复制
"illuminate/workbench": "dev-master"

然后将WorkbenchServiceProvider添加到config/app.php文件中:

代码语言:javascript
复制
'Illuminate\Workbench\WorkbenchServiceProvider'

现在您需要创建config/workbench.php文件,因为它已从Laravel 5中删除:

代码语言:javascript
复制
<?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' => '',
];

在此配置文件中填写您的信息,然后您将能够使用工作台命令:

代码语言:javascript
复制
php artisan workbench vendor/name

创建您自己的包结构

在本例中,我们将在包目录中创建名为a的包。

下面是包的结构:

代码语言:javascript
复制
packages/
  vendor/
    awesome/
      src/
        Awesome.php
      composer.json

您的供应商名称,通常这是您的github username.

  • Awesome:您放置业务逻辑

的package

  • src:的名称

要生成composer.json文件,可以在packages/vendor/awesome目录中使用以下命令:

代码语言:javascript
复制
composer init

现在,我们使用一个简单的方法在src目录中创建一个Awesome.php类:

代码语言:javascript
复制
<?php namespace Vendor/Awesome;

class Awesome
{
    public static function printAwesomeness()
    {
        echo 'Awesome';
    }
}

之后,我们将软件包添加到laravel composer.json psr-4自动加载器中:

代码语言:javascript
复制
"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Vendor\\Awesome\\": "packages/vendor/awesome/src"
    }
},

然后我们丢弃composer自动加载器

代码语言:javascript
复制
composer dump-autoload

现在,您可以在laravel 5项目中的任何地方使用您的包。如果您需要一些特定的特性,如服务提供者或视图发布,请按照Laravel 5.0 documentation中的描述使用它们。

票数 70
EN

Stack Overflow用户

发布于 2015-04-14 09:28:06

带有外部工作台的laravel 5标准。

设置1:照常安装laravel。

步骤2:创建包文件夹和服务提供者

在根目录中创建名为"packages“/"vendorName"/"packageName"/src" Eg: root/packages/jai/Contact/src的文件夹

现在导航到src文件夹并创建一个服务提供者类:"ContactServiceprovider.php“

您的服务提供商应该扩展ServiceProvider,它必须实现注册方法。

注意:如果需要,您可以在启动功能中使用dd(“测试”);,然后转到步骤3,但您已经复制了文件,您可能需要在下面为该文件创建视图、路由、配置和控制器检查链接

步骤3:在psr-4下的根composer.json文件"jai\Contact\": "packages/jai/Contact/src/"的根composer.json中添加包路径

代码语言:javascript
复制
"psr-4": { "App\": "app/", "Jai\Contact\": "packages/jai/contact/src/", }

第4步:在应用配置中添加服务提供商。

在根目录/conifg/app.php中的providers下,添加您的包服务提供者以将您的包挂接到其中。

代码语言:javascript
复制
   'Jai\Contact\ContactServiceProvider',

步骤5:运行composer dump-autoload -确保没有错误。

全部完成-现在你可以通过url - "yourwebsite/contact"访问你的包了

资源来源:https://github.com/jaiwalker/setup-laravel5-package

票数 10
EN

Stack Overflow用户

发布于 2018-05-24 17:49:28

您可以在这个命名的packman上使用package。composer global require "hadefication/packman",这是Laravel的一个简单的包创建器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28378460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档