yii2擴(kuò)展和自定義函數(shù)組件及模塊是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供乳山網(wǎng)站建設(shè)、乳山做網(wǎng)站、乳山網(wǎng)站設(shè)計(jì)、乳山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、乳山企業(yè)網(wǎng)站模板建站服務(wù),10年乳山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
自定義輔助函數(shù)
入口文件加載
目錄下創(chuàng)建一個(gè)helpers目錄下創(chuàng)建functions.php 文件
if (! function_exists('hello')) {
function hello(){
echo 'hello word';
}
}
修改項(xiàng)目入口文件index.php
新增如下代碼:
require(__DIR__ . '/../helpers/functions.php');
composer中設(shè)置加載(推薦)
在 composer.json 文件里面添加如下代碼:
"autoload": {
"files": [
"common/components/functions.php"
]
},
添加完之后,在common/components下添加文件functions.php,項(xiàng)目根目錄下執(zhí)行 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',
],
]
下面就可以愉快的使用 組件了是不是很簡(jiǎn)單 !
Yii::$app->testcomponent->hello();
自定義Modules 模塊
以下參考yii2.0 權(quán)威指南
新建一個(gè)如下目錄
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加載配置來(lái)初始化模塊
\Yii::configure($this, require(__DIR__ . '/config.php'));
}
config.php配置文件可能包含以下內(nèi)容,類似應(yīng)用主體配置.
return [
'components' => [
// list of component configurations
],
'params' => [
// list of parameters
],
];
使用模塊
要在應(yīng)用中使用模塊,只需要將模塊加入到應(yīng)用主體配置的yii\base\Application::modules屬性的列表中, 如下代碼的應(yīng)用主體配置 使用 forum 模塊:
[
'modules' => [
'forum' => [
'class' => 'app\modules\forum\Module',
// ... 模塊其他配置 ...
],
],
]
訪問(wèn)路由
forum/post/index 代表模塊中 post 控制器的 index 操作
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。