1. 程式人生 > >教你如何寫一個 Yii2 擴充套件

教你如何寫一個 Yii2 擴充套件

前言

把一系列相關聯的功能使用模組開發,好處多多,維護起來很方便,模組還可以單獨釋出出去,讓下一個專案之間使用,真是方便。

下面我就寫一個開發擴充套件的簡單教程。

Gii

gii 自帶幫助我們生成一個基本的擴充套件檔案結構,地址如下: www.xxx.com/gii/extension

先預覽一下,成功之後可以點選生成按鈕。

然後頁面會提示你如何操作。他讓我們上傳到 GitHub 上去,再開發、使用。但是一般我們一個擴充套件剛生成,還沒寫功能,上傳到 GitHub 再開發,太麻煩了。

下面我來談談我是怎麼使用的。

使用

先在配置檔案新增一個別名,程式碼如下:

<?php
return [ 'components' => [ ], 'aliases' => [ 'yiier/rbac' => '@backend/runtime/tmp-extensions/yii2-rbac/src', ], ];

只要新增這行就可以使用擴充套件的名稱空間了,就可以愉快的開發了。

同樣的道理,如果我們再 GitHub 上看到一個擴充套件不能用 composer 下載下來怎麼辦?其實我們可以自己定義一個 vendor 目錄,然後給擴充套件配置一個路徑別名就是可以用的。

注意

按照習慣,我們的擴充套件一般寫在 src

 目錄下,所以你要手動新建一個 src 資料夾,然後再用 Gii 去生成模組到 src 資料夾裡,並且還要改擴充套件根目錄下的 composer.json 檔案。

"autoload": {
        "psr-4": {
            // "yiier\\rbac\\": ""  //  原來的
            "yiier\\rbac\\": "src"
        }
    }

相關推薦

如何一個 Yii2 擴充套件

前言 把一系列相關聯的功能使用模組開發,好處多多,維護起來很方便,模組還可以單獨釋出出去,讓下一個專案之間使用,真是方便。 下面我就寫一個開發擴充套件的簡單教程。 Gii gii 自帶幫助我們生成一個基本的擴充套件檔案結構,地址如下: www.xxx.com/gi

手把手一個基於RxJava的擴充套件框架

今日科技快訊近日訊息,由於央行不再新設第三方支付機構,網際網路企業們只能買買買。最近有通知稱,中

大神手把手一個頁面模板引擎,只需20行Javascript代碼!

[1] 表達 最終 strong ice ali 開頭 syntax years 只用20行Javascript代碼就寫出一個頁面模板引擎的大神是AbsurdJS的作者,下面是他分享的全文,轉需。 不知道你有木有聽說過一個基於Javascript的Web頁面預處理器,叫做A

一個含信息的匯編程序

size net align ads data- str 匯編代碼 data tps dosbox官網: https://www.dosbox.com/ https://download.csdn.net/download/fouken_ma/7682497 其他工具下

Istio技術與實踐04:最佳實踐之一個完整的Mixer Adapter

Istio內建的部分介面卡以及相應功能舉例如下: circonus:微服務監控分析平臺。 cloudwatch:針對AWS雲資源監控的工具。 fluentd:開源的日誌採集工具。 prometheus:開源的時序資料庫,非常適合用來儲存監控指標資料。 statsd:採

微信小程式——手把手一個微信小程式

前言   微信小程式年前的跳一跳確實是火了一把,然後呢一直沒有時間去實踐專案,一直想搞但是工作上不需要所以,嗯嗯嗯嗯嗯emmmmm..... 需求   小程式語音識別,全景圖片觀看,登入授權,獲取個人基本資訊 一:基礎框架 跟著官方文件一步一步來,新建一個小程式專案就好 然後呢,畢竟預設的只是基本骨架

手把手一個手勢密碼解鎖View(GesturePasswordView)

相信大家在很多的app肯定看到過手勢密碼解鎖View,但是大家有沒有想過怎麼實現這樣一個View,哈,接下來,小編手把手教大家教寫一個GesturePasswordView。 先看一張效果圖 要實現這樣一個效果,首先需要在螢幕上繪製一個3x3九宮圖,如下圖 具體思路:

一個簡單的網頁(html網頁開發入門)

網頁的組成 HTML  網頁的具體內容和結構 CSS  網頁的樣式(美化網頁最重要的一塊) JavaScript  網頁的互動效果,比如對使用者滑鼠事件作出響應 HTML 什麼是HTML HTML的全稱是HyperTextMarkupLanguage,超文字標

一步一步一個快遞查詢APP(適合新手)

前言: 水平:自學Android十五天,以前有過混日子的程式設計經驗。 目標: 《第一行程式碼》學完之後,總想寫個APP,天氣的APP寫了個初版,後面再說,今天演示的是製作快遞查詢APP的整個經過。 適合人群:新手 工具:A

一個炫酷的Material Design 風格的登入和註冊頁面

每個人都會喜歡漂亮的登入介面,一個App 給人們的第一印象是非常重要的。 這篇文章將教你使用谷歌材料設計規範(Material design spec )和谷歌的新的設計支援庫( design support library)來建立一個炫酷的登入和註冊介面。設

從完全零基礎開始一個Python機器人!每天唯一秒回的人!

註釋:全面教程,入門書籍,學習原始碼可以新增小編學習群943752371直接獲取。 提供航班資訊 連線客戶和他們的財務 作為客戶支援 可能性(幾乎)是無限的。 聊天機器人的歷史可以追溯到1966年,當時韋森鮑姆發明了一種名為“伊麗莎”(ELIZA)的電腦程

每個人都能徒手遞迴神經網路–手把手一個RNN

總結: 我總是從迷你程式中學到很多。這個教程用python寫了一個很簡單迷你程式講解遞迴神經網路。 遞迴神經網路即RNN和一般神經網路有什麼不同?出門左轉我們一篇部落格已經講過了傳統的神經網路不能夠基於前面的已分類場景來推斷接下來的場景分類,但是RNN確有一定記

後天晚上,手把手一個全球辨識度最高的遊戲!

這個遊戲曾8次創造吉尼斯世界紀錄是全球辨識度最高的遊戲三款被華盛頓國家檔案館收藏遊戲之一多次被創

一個簡單的myshell

一.myshell的功能: 1. ls 2. 輸入輸出重定向 3. 管道操作 4. linux的內建命令 cd 5. 簡單的history 6. 遮蔽ctrl + c 二.主要難點: 1.命令解析 2.程序的應用 3.

一個ftp協議(檔案傳輸協議)

一、FTP協議簡介 FTP 是File Transfer Protocol(檔案傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Application)。基於不同的作業系統有不同的FTP應用

手把手一個完整的自定義View

前言 自定義View是Android開發者必須瞭解的基礎 今天,我將手把手教你寫一個自定義View,並理清自定義View所有應該的注意點 目錄 1. 自定義View的分類 自定義View一共分為兩大類,具體如下圖: 2.

只有20行Javascript程式碼!手把手一個頁面模板引擎

AbsurdJS 作者寫的一篇教程,一步步教你怎樣用 Javascript 實現一個純客戶端的模板引擎。整個引擎實現只有不到 20 行程式碼。如果你能從頭看到尾的話,還能有不少收穫的。你甚至可以跟隨大牛的腳步也自己動手寫一個引擎。以下是全文。 不知道你有木有聽說過一個基

JAVA RPC (六) 之手把手從零一個生產級RPC

這也 on() ket locking sub 連接池 二進制 @override add 首先對於RPC來講,最主要的無非三點【SERVER IO模型】、【序列化協議】、【client連接池復用】,之前的博客大家應該對thrift有一個大致的了解了,那麽我們現在來說一說如

JAVA RPC (七) 手把手從零一個生產級RPC之client請求

線程模型 asc mil 重試 rri else create request sas 上節說了關於通用請求代理,實際上對spring的bean引用都是通過koalasClientProxy來實現的,那麽在代理方法中才是我們實際的發送邏輯,咱們先看一下原生的thrift請求

手把手一個RPC

1.1 RPC 是什麼 定義:RPC(Remote Procedure Call Protocol)——遠端過程呼叫協議&nb