中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

yii2擴展和自定義函數組件及模塊是怎樣的

發布時間:2021-10-20 16:58:13 來源:億速云 閱讀:116 作者:柒染 欄目:大數據

yii2擴展和自定義函數組件及模塊是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

自定義輔助函數
入口文件加載
目錄下創建一個helpers目錄下創建functions.php 文件
<?php

if (! function_exists('hello')) {
    function hello(){
        echo 'hello word';
    }
}

修改項目入口文件index.php

新增如下代碼:

require(__DIR__ . '/../helpers/functions.php');

composer中設置加載(推薦)

在 composer.json 文件里面添加如下代碼:

"autoload": {
    "files": [  
        "common/components/functions.php"
    ]
},
添加完之后,在common/components下添加文件functions.php,項目根目錄下執行 composer update
ok!

自定義component 組件

在app\components下新建NewComponent.php


namespace app\components;  
use Yii;  
use yii\base\Component;  
use yii\base\InvalidConfigException;  
   
class NewComponent extends Component
{  
 public function hello()  
 {  
  echo "hello world";  
 }  
   
}  
 main.php配置文件中
'components' => [  
   
         'testcomponent' => [  
   
            'class' => 'app\components\MyComponent',  
   
            ],  
]  

下面就可以愉快的使用 組件了是不是很簡單 !

Yii::$app->testcomponent->hello();  


自定義Modules 模塊
以下參考yii2.0 權威指南

新建一個如下目錄
forum/
    Module.php                   模塊類文件
    controllers/                 包含控制器類文件
        DefaultController.php    default 控制器類文件
    models/                      包含模型類文件
    views/                       包含控制器視圖文件和布局文件
        layouts/                 包含布局文件
        default/                 包含DefaultController控制器視圖文件
            index.php            index視圖文件

Module.php 代碼如下

namespace app\modules\forum;

class Module extends \yii\base\Module
{
    public function init()
    {
        parent::init();


        $this->params['foo'] = 'bar';
        // ...  其他初始化代碼 ...
    }
}

如果 init() 方法包含很多初始化模塊屬性代碼, 可將他們保存在配置 并在init()中使用以下代碼加載:
public function init()
{
    parent::init();
    // 從config.php加載配置來初始化模塊
    \Yii::configure($this, require(__DIR__ . '/config.php'));
}
config.php配置文件可能包含以下內容,類似應用主體配置.
<?php
return [
    'components' => [
        // list of component configurations
    ],
    'params' => [
        // list of parameters
    ],
];

使用模塊
要在應用中使用模塊,只需要將模塊加入到應用主體配置的yii\base\Application::modules屬性的列表中, 如下代碼的應用主體配置 使用 forum 模塊:
[
    'modules' => [
        'forum' => [
            'class' => 'app\modules\forum\Module',
            // ... 模塊其他配置 ...
        ],
    ],
]

訪問路由
forum/post/index 代表模塊中 post 控制器的 index 操作

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

yii
AI

塔河县| 金门县| 花莲县| 定陶县| 福建省| 崇仁县| 宁武县| 礼泉县| 姚安县| 高青县| 盖州市| 汉中市| 铜山县| 东安县| 大厂| 突泉县| 临武县| 内丘县| 襄樊市| 东乌| 乌审旗| 安图县| 兰溪市| 旺苍县| 柳州市| 昆明市| 株洲市| 荔浦县| 盘锦市| 乐都县| 自贡市| 辉县市| 潞西市| 赣州市| 政和县| 伊金霍洛旗| 正安县| 上饶县| 潞西市| 上杭县| 绿春县|