技術(shù)規(guī)范

2018-05-26 11:20 更新

支持的PSR規(guī)范

  • 基于 PSR-4 規(guī)范實現(xiàn) autoload
  • 基于 PSR-1 規(guī)范的代碼風格

依賴的 Package

Notadd Framework 基于 Composer 構(gòu)建,并使用 Composer 組織代碼。 <!--more-->

目錄結(jié)構(gòu)說明

整站目錄說明

## wwwroot                            網(wǎng)站根目錄
    # extensions                     插件根目錄
    # modules                        模塊根目錄
    # public                         公共目錄
        # assets                     靜態(tài)資源目錄
        # uploads                    上傳目錄
        # favicon.ico                ICON圖標文件
        # index.php                  入口文件
    # storage                        緩存目錄
    # vendor                         第三方類庫目錄

示例插件目錄說明

## extensions\vendor\brick-carving    BrickCarving插件目錄
    # src                            插件源碼目錄
    # resources                      插件靜態(tài)資源目錄
    # vendor                         第三方類庫目錄
    # composer.json                  插件Composer文件

如何注入中間件

在 IoC 模式中,主要的核心點除了容器實例外,另一個有特色的地方,就是中間件,中間件用于 HTTP 請求的過濾和預處理。

在 Laravel 的項目中,想要擴展或添加自己的中間件,需要在類 app/Http/Kernel.php 中的數(shù)組屬性 $routeMiddleware 中添加自己的中間件, 詳情請參閱 Laravel 的官方文檔。

而在基于 Notadd 的模塊或插件中,修改 Notadd 底層的代碼,顯得不那么優(yōu)雅,在 Notadd 更新后,修改的代碼部分會被覆蓋,而我們有一個更加優(yōu)雅和高級的實現(xiàn)方式,通過 router 組件的容器實例直接實現(xiàn)中間件的添加,具體操作為:

1、對于模塊,在類 ModuleServiceProvider 的 boot 方法中,添加如下代碼:

$this->app->make('router')->aliasMiddleware($name, $class); // $name 指代中間名字,$class 指代中間件類。

2、對于插件,在類 Extension 的 boot 方法中,添加如下代碼:

$this->app->make('router')->aliasMiddleware($name, $class); // $name 指代中間名字,$class 指代中間件類。

沒錯,在插件中,也是可以添加自己的中間件,而不僅僅在模塊中允許添加。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號