maurouberti / blog
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 账户
创建一个仓库
使用 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 账户
选择 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 文件,将 scan 的 enabled 设置为 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
执行 migrations 和 seeder
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