该软件包最新版本(V1.0.0)没有可用的许可证信息。

V1.0.0 2018-08-19 19:17 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:42:08 UTC


README

步骤 1 - 创建一个 laravel 项目

composer create-project laravel/laravel {nome_projeto}

进入您刚刚创建的项目目录。

步骤 2 - 安装 Laravel-Modules

nwidart/laravel-modules 是一个用于管理模块的 Laravel 包。

安装

要通过 composer 安装,请运行以下命令

composer require nwidart/laravel-modules

将创建 vendor/nwidart 目录

注册

config/app.php 文件中添加以下行以注册 服务提供者别名

/*
 |--------------------------------------------------------------------------
 | Autoloaded Service Providers
 |--------------------------------------------------------------------------
 |
 */
 'providers' => [
     
     /*
      * Package Service Providers...
      */
     Nwidart\Modules\LaravelModulesServiceProvider::class,
 ],

/*
 |--------------------------------------------------------------------------
 | Class Aliases
 |--------------------------------------------------------------------------
 |
 */
 'aliases' => [
     
     'Module' => Nwidart\Modules\Facades\Module::class,
 ],

发布

通过执行以下命令发布包配置文件

php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"

在创建的 config/moduloes.php 文件中更改命名空间

/*
 |--------------------------------------------------------------------------
 | Module Namespace
 |--------------------------------------------------------------------------
 |
 | Default module namespace.
 |
 */
 'namespace' => '{namespace_modulo}',

自动加载

默认情况下,模块类不会自动加载。要自动加载模块,请更改 composer.json 文件

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "{namespace_modulo}\\": "Modules/"
    }
},

要生成 autoload,请执行以下命令

composer dump-autoload

注意:要列出 nwidart/laravel-modules 的 artisan 命令,请输入

php artisan module

步骤 3:创建模块

使用以下命令创建模块

php artisan module:make {nome_modulo}

将创建一个 Modules/{nome_modulo} 目录

测试

上传到服务器

php artisan serve

通过浏览器访问新模块

https://:8000/blog

步骤 4:创建数据库

创建一个数据库

echo "create database {nome_banco_dados};" | mysql -u root -p

更改 .env 文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE={nome_banco_dados}
DB_USERNAME={usuario_banco_dados}
DB_PASSWORD={senha_banco_dados}

步骤 5:创建迁移

要创建迁移,请执行 nwidart/laravel-modules 的 artisan 命令

php artisan module:make-migration create_{nome_tabela}_table {none_modulo}

将在 Modules/{nome_modulo}/Database/Migrations 目录中创建一个迁移,使用所需的字段更改创建的文件。

使用 nwidart/laravel-modules 的 artisan 命令执行迁移

php artisan module:migrate {nome_modulo}

步骤7:创建模型

要创建模型,请执行 nwidart/laravel-modules 的 artisan 命令

php artisan module:make-model {nome_model} {nome_modulo}

将在 Modules/{nome_modulo}/Entities/{nome_model} 目录中创建一个模型

步骤 8:创建种子

要创建种子,请执行 nwidart/laravel-modules 的 artisan 命令

php artisan module:make-seed {nome_seed} {nome_modulo}

将在 Modules/{nome_modulo}/Database/Seeders/ 目录中创建一个种子,更改创建的文件并将其注册到模块的 DatabaseSeeder.php 文件中

$this->call("{nome_seed}");

使用 nwidart/laravel-modules 的 artisan 命令执行种子

php artisan module:seed {nome_modulo}

或通过以下命令单独执行

php artisan module:seed --class={nome_seed} {nome_modulo}

步骤 9:创建控制器

要创建控制器,请执行 nwidart/laravel-modules 的 artisan 命令

php artisan module:make-controller {nome_controller} {nome_modulo}

将在 Modules/{nome_modulo}/Http/Controllers 目录中创建一个控制器

步骤 10:路由文件

模块的路由文件

Modules/{nome_modulo}/Http/routes.php

步骤 11:使用 git 发布

更改模块的 Modules/{nome_modulo}/composer.json 文件

{
    "name": "{usuario_git}/blog",
    "description": "",
    "authors": [
        {
            "name": "{nome_autor}",
            "email": "{email_autor}"
        }
    ],
    "extra": {
        "laravel": {
            "providers": [
                "{spacename_modulo}\\{nome_modulo}\\Providers\\{service_provider}"
            ],
            "aliases": {
                
            }
        }
    },
    "autoload": {
        "psr-4": {
            "{spacename_modulo}\\{nome_modulo}\\": ""
        }
    }
}

进入模块目录 {projeto}/Modules/{nome_modulo},并执行 git 命令以初始化 git 仓库

git init

执行 git status 命令

要添加文件,请执行以下命令

git add .

对文件进行 Commit

git commit -m "{descricao}"

可能未在 git 中注册凭据,请运行以下命令:git config --global user.name "{nome}" git config --global user.email "{email}" git checkout -b "master"

登录到 github 账户

https://www.github.com

创建一个仓库

使用 git 命令发送文件

git remote add origin https://github.com/{usuario_git}/{repositorio_git}.git
git push -u origin master

要在 github 上添加版本,请打开 releases 选项,点击 create new release 按钮,在 tag version 字段中输入 v1.0.0,然后点击 Publish release 按钮

步骤 12:使用 packagist 创建软件包

登录到 packagist 账户

https://www.packagist.org

选择 submit 选项,将您项目的链接放入 git

仓库URL(Git/Svn/Hg)例如:https://github.com/{usuario_git}/{repositorio_git}

点击 check,如果一切顺利,请点击 submit

现在转到 profile 选项,然后点击 show api token 生成packagist的token

github 上,为了激活自动更新,选择 settings,然后 Integrations & services,点击 add service 按钮并找到 packagist,在 token 字段粘贴在 packagist 生成的 token,点击 add service 按钮,在出现的屏幕上点击 packagist 的 edit 按钮,然后点击 Test service 按钮,会出现以下信息

好的,测试负载正在路上。注意在 packagist 网站上的信息

此包不会自动更新。请设置GitHub Service Hook for Packagist,以便在您推送时自动更新!

将会消失,并注意安装 composer 的命令

composer require maurouberti/blog

步骤13:在其他项目中安装创建的模块

重复 步骤1步骤2 创建一个新项目

修改 config/modules.php 文件,将 scanenabled 设置为 true

'scan' => [
    'enabled' => true,
    'paths' => [
        base_path('vendor/*/*'),
    ],
],

要通过 composer 安装创建的模块,请执行以下命令

composer require maurouberti/blog

或通过 github

php artisan module:install maurouberti/laravel_modules --type=github

或如果已经创建了 packagist

php artisan module:install maurouberti/blog

要列出模块

php artisan module:list

执行 migrationsseeder

php artisan module:migrate {nome_modulo}
php artisan module:seed {nome_modulo}

注意:在项目中不会创建 Modules 文件夹,它位于 vendor 文件夹中

顺序

命令

composer create-project laravel/laravel projeto1
cd projeto1
composer require nwidart/laravel-modules

config/app.php 文件中注册服务提供商和一个别名

'providers' => [
    Nwidart\Modules\LaravelModulesServiceProvider::class,
],
'aliases' => [
    'Module' => Nwidart\Modules\Facades\Module::class,
],

命令

php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"

修改 config/moduloes.php 文件中的 namespace

'namespace' => 'Son',

composer.json 文件中添加

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Son\\": "Modules/"
    }
},

命令

composer dump-autoload
php artisan module:make Blog
echo "create database laravel_modules;" | mysql -u root -p

修改 .env 文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_modules
DB_USERNAME=root
DB_PASSWORD=123456

命令

php artisan module:make-migration create_posts_table Blog
php artisan module:migrate Blog
php artisan module:make-model Post Blog
php artisan module:make-seed Posts Blog
php artisan module:seed Blog
php artisan module:make-controller PostsController Blog

修改 composer.json 文件

{
    "name": "maurouberti/blog",
    "description": "",
    "authors": [
        {
            "name": "Mauro Uberti",
            "email": "mauro.uberti@gmail.com"
        }
    ],
    "extra": {
        "laravel": {
            "providers": [
                "Son\\Blog\\Providers\\BlogServiceProvider"
            ],
            "aliases": {
                
            }
        }
    },
    "autoload": {
        "psr-4": {
            "Son\\Blog\\": ""
        }
    }
}

命令

cd Modules
cd Blob
git init
git add .
git commit -m "Primeiro commit"
git remote add origin https://github.com/maurouberti/laravel_modules.git
git push -u origin master