国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

應(yīng)用模塊插件(社區(qū)版)

1.0.5 版本
2022-08-30 版本更新時(shí)間
74 安裝
9 star

Webman Module 應(yīng)用模塊插件(社區(qū)版)

基于 Webman 的一款應(yīng)用模塊插件,與普通插件的主要區(qū)別在于它是一款面向生產(chǎn)環(huán)境下的應(yīng)用級(jí)解決方案,例如問答、博客、新聞等應(yīng)用程序

介紹

ifui/webman-module 是一個(gè) webman 插件,它可以使用模塊化、搭積木的方式來管理你的應(yīng)用程序。

一個(gè)模塊就像是一個(gè)應(yīng)用,該插件嚴(yán)格參照官方的 應(yīng)用插件說明 規(guī)范開發(fā)。

相比于普通插件的一大好處是內(nèi)置支持了 測(cè)試 功能,可以方便快捷的測(cè)試應(yīng)用程序在實(shí)際應(yīng)用場(chǎng)景下的情況。

安裝

composer require ifui/webman-module ^1.0.5

版本升級(jí)

# 升級(jí)配置文件
php webman plugin:install ifui/webman-module

快速上手

1.創(chuàng)建模塊

執(zhí)行:php webman module:create

模塊名應(yīng)遵循PSR4規(guī)范,這里不作過多限制

按照操作提示輸入相應(yīng)的內(nèi)容即可,將會(huì)創(chuàng)建如下目錄格式

/plugin/
  ├── apple/
      ├── app/
          ├── controller/
              ├── Index.php 
          ├── middleware/
          ├── model/
          ├── providers/
              ├── AppServerProvider.php
          ├── view/
          ├── functions.php
      ├── config/
          ├── app.php
      ├── database/
          ├── migrations/
          ├── seeds/
      ├── route
          ├── admin.php
          ├── api.php
          ├── web.php
      ├── tests/
      ├── composer.json
      ├── module.json
      ├── README.md
      ├── LICENSE.md

2. 啟動(dòng) webman 服務(wù),并訪問默認(rèn)的應(yīng)用模塊URL

  1. 啟動(dòng) webman 服務(wù)
    php start.php start
  2. 使用瀏覽器訪問 /app/apple/index(其中 apple 是你新建的模塊名)
  3. 看到: hello webman module 問候提示語則表示插件已成功運(yùn)行

接下來和開發(fā)一個(gè)webman項(xiàng)目體驗(yàn)基本一致

配置說明

模塊的配置文件都在模塊根目錄下的 module.json 文件內(nèi)

{
    "name": "apple", // 應(yīng)用模塊名
    "activity": true, // 是否啟動(dòng)該模塊
    "author": "ifui", // 作者名
    "email": "", // 郵箱地址
    "homepage": "", // 模塊主頁地址
    "type": "", // 模塊類型
    "version": "0.1.0", // 模塊版本號(hào)
    "description": "", // 模塊簡(jiǎn)介
    "keywords": [], // 模塊關(guān)鍵詞
    "route": {
        "autoRoute": true, // 是否開啟自動(dòng)路由
        "urlPrefix": "/app/apple" // 路由前綴
    }
}

命令介紹

模塊命令

1. 啟動(dòng)模塊 module:start

php webman module:start apple

2. 暫停模塊 module:stop

php webman module:stop apple

3. 查看模塊列表 module:list

php webman module:list

4. 創(chuàng)建一個(gè)模塊 module:create

php webman module:create

常用命令

其中 --module 亦可以不填,系統(tǒng)會(huì)提示選擇對(duì)應(yīng)的模塊,輸入對(duì)應(yīng)的序號(hào)即可

1. 創(chuàng)建一個(gè)模型文件 module:make-model

php webman module:make-model Post --module=apple

將會(huì)創(chuàng)建 /plugin/apple/app/model/Post.php 文件

2. 創(chuàng)建一個(gè)控制器文件 module:make-controller

php webman module:make-controller Admin/Post --module=apple

將會(huì)創(chuàng)建 /plugin/apple/app/controller/Admin/Post.php 文件

3. 創(chuàng)建一個(gè)中間件文件 make-middleware

php webman module:make-middleware LimitVisitMiddleware --module=apple

將會(huì)創(chuàng)建 /plugin/apple/app/middleware/LimitVisitMiddleware.php 文件

4. 創(chuàng)建一個(gè)測(cè)試文件 module:make-test

php webman module:make-test unit/AppleTest --module=apple

將會(huì)創(chuàng)建 /plugin/apple/tests/unit/AppleTest.php 文件

數(shù)據(jù)庫(kù)遷移命令

主要使用了數(shù)據(jù)庫(kù)遷移工具 Phinx,

Phinx 項(xiàng)目地址:https://github.com/cakephp/phinx

官方中文文檔地址:https://tsy12321.gitbooks.io/phinx-doc/content/

使用數(shù)據(jù)庫(kù)遷移命令前,請(qǐng)確保webman 根目錄下的 config/plugin/ifui/webman-module/phink.php 配置是否正確

<?php

return [
    "paths" => [
        "migrations" => "database/migrations",
        "seeds" => "database/seeds"
    ],
    "environments" => [
        "default_migration_table" => "phinxlog",
        "default_database" => "dev",
        "default_environment" => "dev",
        "dev" => [
            "adapter" => "DB_CONNECTION", // 修改此處 e.g. env('DB_CONNECTION')
            "host" => "DB_HOST", // 修改此處
            "name" => "DB_DATABASE", // 修改此處
            "user" => "DB_USERNAME", // 修改此處
            "pass" => "DB_PASSWORD", // 修改此處
            "port" => "DB_PORT", // 修改此處
            "charset" => "utf8"
        ]
    ]
];

1. 創(chuàng)建一個(gè)遷移腳本 module:phink-create

遷移腳本命名應(yīng)該保持 駝峰命名法

php webman module:phink-create CreatePost --module=apple

將會(huì)創(chuàng)建 /plugin/apple/database/migrations/20220818084023_create_post.php

2. 執(zhí)行遷移腳本 module:phink-migrate

Migrate 命令默認(rèn)運(yùn)行執(zhí)行所有腳本,可選指定環(huán)境 -e,比如 -e dev

可以使用 --target 或者 -t 來指定執(zhí)行某個(gè)遷移腳本

php webman module:phink-migrate --module=apple

3. 回滾之前的遷移腳本 module:phink-rollback

php webman module:phink-rollback --module=apple

指定回滾環(huán)境 -e dev

php webman module:phink-rollback --module=apple -e dev

使用 --target 或者 -t 回滾指定版本遷移腳本,指定版本如果設(shè)置為0則回滾所有腳本

php webman module:phink-rollback --module=apple -t 20120103083322

可以使用 --date 或者 -d 參數(shù)回滾指定日期的腳本

 php webman module:phink-rollback --module=apple -d 2022
 php webman module:phink-rollback --module=apple -d 202208
 php webman module:phink-rollback --module=apple -d 20220816

4. 創(chuàng)建數(shù)據(jù)填充文件 module:phink-seed-create

命名格式使用駝峰法

php webman module:phink-seed-create PostSeeder --module=apple

將會(huì)創(chuàng)建 plugin/apple/database/seeds/PostSeeder.php 文件

5. 執(zhí)行數(shù)據(jù)填充命令 module:phink-seed-run

默認(rèn) module:phink-seed-run 命令會(huì)執(zhí)行所有 seed

php webman module:phink-seed-run --module=apple

如果你想要指定執(zhí)行一個(gè),只要增加 -s 參數(shù)后接 seed 的名字

php webman module:phink-seed-run --module=apple -s PostSeeder

使用說明

創(chuàng)建一個(gè)路由

route 文件夾下可以看到內(nèi)置了 admin.php api.php web.php

只要是在 route 文件夾下的 php 文件都會(huì)被執(zhí)行

這里需要注意的是 module.json 中的 urlPrefix 參數(shù)將會(huì)影響這里,當(dāng) urlPrefix 為空時(shí)會(huì)影響全局路由。

比如在 /plugin/apple/route/api.php

<?php

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
*/

use Webman\Route;

Route::get('/hello', function () {
    return response(config('plugin.apple.app.name'));
});

這時(shí)使用瀏覽器訪問 /app/apple/hello 即可

使用配置

插件的配置與普通 webman 項(xiàng)目一樣,不過插件的配置一般只對(duì)當(dāng)前插件有效,對(duì)主項(xiàng)目一般無影響。

使用方式:config('plugin.apple.app.name'),其中 apple 為模塊名,app 為 配置文件名

其他注意事項(xiàng)請(qǐng)參考官方文檔:http://www.wtbis.cn/doc/webman/plugin/app.html#配置文件

模塊插件安裝與卸載

應(yīng)用插件安裝時(shí)只需要將插件目錄拷貝到{主項(xiàng)目}/plugin目錄下即可,需要reloadrestart才能生效。

卸載時(shí)直接刪除{主項(xiàng)目}/plugin下對(duì)應(yīng)的插件目錄即可。

如何在插件內(nèi)部安裝 composer 拓展包

需要 ifui/webman-module 版本 >= 1.0.3

插件從 1.0.3 版本開始已經(jīng)內(nèi)置該功能,只需要在應(yīng)用模塊根目錄下執(zhí)行 composer 相關(guān)命令

插件將自動(dòng)引入應(yīng)用模塊下的拓展包文件

其他說明

該項(xiàng)目將緊隨 webman 的更新而更新,歡迎大家提 PR

有問題請(qǐng)聯(lián)系郵箱: ifui@foxmail.com

贊助商