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

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

1.0.5 版本
2022-08-30 版本更新時間
75 安裝
9 star

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

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

介紹

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

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

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

安裝

composer require ifui/webman-module ^1.0.5

版本升級

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

快速上手

1.創(chuàng)建模塊

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

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

按照操作提示輸入相應的內(nèi)容即可,將會創(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. 啟動 webman 服務,并訪問默認的應用模塊URL

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

接下來和開發(fā)一個webman項目體驗基本一致

配置說明

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

{
    "name": "apple", // 應用模塊名
    "activity": true, // 是否啟動該模塊
    "author": "ifui", // 作者名
    "email": "", // 郵箱地址
    "homepage": "", // 模塊主頁地址
    "type": "", // 模塊類型
    "version": "0.1.0", // 模塊版本號
    "description": "", // 模塊簡介
    "keywords": [], // 模塊關鍵詞
    "route": {
        "autoRoute": true, // 是否開啟自動路由
        "urlPrefix": "/app/apple" // 路由前綴
    }
}

命令介紹

模塊命令

1. 啟動模塊 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)建一個模塊 module:create

php webman module:create

常用命令

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Phinx 項目地址:https://github.com/cakephp/phinx

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

使用數(shù)據(jù)庫遷移命令前,請確保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)建一個遷移腳本 module:phink-create

遷移腳本命名應該保持 駝峰命名法

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

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

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

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

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

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 回滾指定版本遷移腳本,指定版本如果設置為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

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

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

默認 module:phink-seed-run 命令會執(zhí)行所有 seed

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

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

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

使用說明

創(chuàng)建一個路由

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

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

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

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

<?php

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

use Webman\Route;

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

這時使用瀏覽器訪問 /app/apple/hello 即可

使用配置

插件的配置與普通 webman 項目一樣,不過插件的配置一般只對當前插件有效,對主項目一般無影響。

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

其他注意事項請參考官方文檔:http://wtbis.cn/doc/webman/plugin/app.html#配置文件

模塊插件安裝與卸載

應用插件安裝時只需要將插件目錄拷貝到{主項目}/plugin目錄下即可,需要reloadrestart才能生效。

卸載時直接刪除{主項目}/plugin下對應的插件目錄即可。

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

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

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

插件將自動引入應用模塊下的拓展包文件

其他說明

該項目將緊隨 webman 的更新而更新,歡迎大家提 PR

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

贊助商