帖子

(编辑于 2 天前)

如何在 #Laravel# 中引入 #应用市场管理器##插件管理器##命令字管理器# 呢?

插件市场管理器与应用管理器都是独立存在于 Laravel 之外的项目。引入管理器的步骤有下面 6 个:

  1. 全新初始化一个 Laravel 项目。
  2. 修改项目的依赖要求,允许安装 dev 开发版的扩展包。
  3. 配置应用市场管理器与插件管理器的 vcs 安装源,保证能从最新的版本进行安装。
  4. 安装应用市场管理器、插件市场管理器。
  5. 配置项目的数据库连接信息。
  6. 初始化 plugins 表迁移。确保后续可以执行插件激活命令,并且将插件信息记录到本地数据库中。
  7. 开始使用。
  8. 创建自己的插件。

下面,分别演示一下这 6个步骤的具体执行过程与执行结果。

  1. 全新初始化一个 Laravel 项目。 composer create-project --prefer-dist laravel/laravel project-test

截至记录时间(2023-02-15),Laravel 已经发布了 Laravel 10。

  1. 修改项目的依赖要求,允许安装 dev 开发版的扩展包。 编辑项目的 composer.json 文件,找到 "minimum-stability": "stable", 修改为 "minimum-stability": "dev".

修改此项的目的是,允许项目安装开发版的扩展包,能保证项目的部分依赖修复高于稳定版。

  1. 配置应用市场管理器与插件管理器的 vcs 安装源,保证能从最新的版本进行安装。
# 配置应用市场管理器、插件管理器、命令字管理器的安装源
composer config repositories.market-manager vcs https://gitee.com/fresns/market-manager
composer config repositories.plugin-manager vcs https://gitee.com/fresns/plugin-manager
composer config repositories.cmd-word-manager vcs https://gitee.com/fresns/cmd-word-manager

应用市场管理器和插件管理器均在 https://packagist.org 发布了稳定版。有时候开发版修复了部分问题,需要验证后才会发布稳定版。

若希望安装的管理器是最新的开发版,需要配置 vcs 安装源,让依赖扩展包:应用市场管理器与插件管理器 从相关仓库进行安装。

  1. 安装应用市场管理器、插件市场管理器。
# 安装应用市场管理器与插件管理器
composer require fresns/market-manager:dev-master
composer require fresns/plugin-manager:2.x-dev

在项目中安装应用市场管理器和插件管理器。允许项目安装 Laravel 插件。并且进行插件的启用停用等操作。

应用市场管理器与插件管理器等职责不同: 应用市场管理器负责:插件的安装、卸载、插件入库等。需要和数据库、Laravel 应用市场打交道的场景离不开它。 插件管理器负责:插件的安装阶段解压,静态资源分发、卸载阶段的静态资源移除、插件开发阶段的各种日常使用等等。安装插件与开发插件少了它,都将丢失一大利器。

  1. 配置项目的数据库连接信息。
# 配置数据库与项目信息
	APP_NAME
	APP_URL

	DB_HOST
	DB_DATABASE
	DB_USERNAME
	DB_PASSWORD

在 .env 中需要配置上方与应用、数据库相关的配置。

应用市场管理器中存在迁移文件:create_plugins_table。此迁移的作用是方便从数据库层面对插件进行管理。即管理后台点击按钮完成插件的安装、卸载、启用、停用等。

  1. 初始化 plugins 表迁移。确保后续可以执行插件激活命令,并且将插件信息记录到本地数据库中。 php artisan migrate

配置好数据库信息后,便可以执行数据库迁移了。迁移执行完成后,数据库将增加一个数据表 plugins,并在 migrations 表增加迁移记录。

  1. 开始使用。
php artisan fresns

php artisan plugin:list
  1. 创建自己的插件。 php artisan new PluginDemo 或进入插件模式后,执行 fresns new PluginDemo

上述命令将会在 extensions/plugins/ 目录下创建插件 PluginDemo

未登录无法操作

登录 注册

评论 0

列表为空,暂无内容