Yii2-application用法 (Yii::$app用法)
配置檔案 config\web.php
return [
'id' => 'app-frontend',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'frontend\controllers',
'components' => [
'cache' => [
'class' => 'yii\caching\FileCache',
],
'request' => [
'csrfParam' => '_csrf-frontend',
],
],
'aliases' => [ // 註冊別名, 只寫屬性
'@frontendweb' => '/frontend/web'
],
'params' => $params,
];
常用屬性
Yii::$app->id; // 當前應用的id, eg:'app-frontend'
Yii::$app->name; // 當前應用的id, eg:'My Application'
Yii::$app->language; // 當前應用的語言, eg:'en-US'
Yii::$app->charset; // 當前應用的字符集, eg:'UTF-8'
Yii::$app->timeZone; // 應用程式使用的時區, eg:'UTC'
Yii::$app->getTimeZone(); // 同上
Yii::$app->version; // 應用程式的版本, eg:'1.0'
Yii::$app->getVersion(); // 同上
Yii::$app->controllerNamespace; // 當前應用的控制器的名稱空間, eg:'frontend\controllers'
Yii::$app->controller; // 當前的控制器物件, eg: frontend\controllers\SiteController 物件
Yii::$app->defaultRoute; // 預設的控制器名, eg:'site'
Yii::$app->params; // main.php 中 params 註冊的引數列表, 在 params.php 和 params-local 中
Yii::$app->bootstrap; // main.php 中 bootstrap 註冊的元件列表, eg:['log', 'debug', 'gii']
Yii::$app->components; // main.php 中 components 註冊的元件列表
Yii::$app->getComponents(); // 同上
Yii::$app->extensions; // 當前應用安裝的擴充套件列表
Yii::$app->aliases; // 在 main 中定義別名, 只寫屬性
目錄類
Yii::$app->basePath; // 當前應用的根目錄 return: 'D:\wamp64\www\yii2advanced\frontend'
Yii::$app->getBasePath(); // 同上
Yii::$app->controllerPath; // 當前應用到控制器目錄, eg:'D:\wamp64\www\yii2advanced/frontend/controllers'
Yii::$app->getControllerPath(); // 同上
Yii::$app->viewPath; // 當前應用的檢視目錄, eg:'D:\wamp64\www\yii2advanced\frontend\views'
Yii::$app->getViewPath(); // 同上
Yii::$app->layoutPath; // 當前應用的佈局檢視目錄, eg:'D:\wamp64\www\yii2advanced\frontend\views\layouts'
Yii::$app->getLayoutPath(); // 同上
Yii::$app->layout; // 當前應用使用的佈局檢視檔名, eg:'main'
Yii::$app->runtimePath; // 應用執行時的臨時檔案目錄, eg:'D:\wamp64\www\yii2advanced\frontend\runtime'
Yii::$app->getRuntimePath(); // 同上
Yii::$app->vendorPath; // 返回 vendor 目錄, eg:'D:\wamp64\www\yii2advanced/vendor'
Yii::$app->getVendorPath(); // 同上
Yii::$app->homeUrl; // 首頁的路由, eg: '/'
Yii::$app->getHomeUrl(); // 同上
元件類
Yii::$app->coreComponents(); // 返回核心應用程式元件的配置
Yii::$app->log; // yii\log\Dispatcher 物件
Yii::$app->getLog(); // 同上
Yii::$app->view; // yii\web\View 物件
Yii::$app->getView(); // 同上
Yii::$app->formatter; // yii\i18n\Formatter 物件
Yii::$app->getFormatter(); // 同上
Yii::$app->i18n; // yii\i18n\I18N 物件
Yii::$app->getI18n(); // 同上
Yii::$app->mailer; // yii\swiftmailer\Mailer 物件
Yii::$app->getMailer(); // 同上
Yii::$app->urlManager; // yii\web\UrlManager 物件
Yii::$app->getUrlManager();
Yii::$app->assetManager; // yii\web\AssetManager 物件
Yii::$app->getAssetManager(); // 同上
Yii::$app->security; // yii\base\Security 物件
Yii::$app->getSecurity();
Yii::$app->request; // yii\web\Request 物件
Yii::$app->getRequest(); // 同上
Yii::$app->response; // yii\web\Response 物件
Yii::$app->getResponse(); // 同上
Yii::$app->session; // yii\web\Session 物件
Yii::$app->getSession();
Yii::$app->user; // yii\web\User 物件
Yii::$app->getUser(); // 同上
Yii::$app->errorHandler; // yii\web\ErrorHandler 物件
Yii::$app->getErrorHandler(); // 同上
Yii::$app->db; // 當前資料庫連結物件, eg: yii\db\Connection 物件
Yii::$app->getDb(); // 同上
Yii::$app->cache; // yii\caching\FileCache 物件
Yii::$app->getCache(); // 同上
其他的
Yii::$app->authManager;
Yii::$app->getAuthManager();
Yii::$app->behaviors;
Yii::$app->behaviors();
Yii::$app->getBehaviors();
Yii::$app->container;
Yii::$app->catchAll;
Yii::$app->controllerMap;
Yii::$app->coreCommands();
Yii::$app->detachBehaviors();
Yii::$app->end(); // 終止應用程式
Yii::$app->enableCoreCommands;
Yii::$app->ensureBehaviors();
Yii::$app->init();
Yii::$app->loadedModules;
Yii::$app->modules;
Yii::$app->getModules();
Yii::$app->module;
Yii::$app->run();
Yii::$app->requestedAction;
Yii::$app->requestedParams;
Yii::$app->requestedRoute;
Yii::$app->sourceLanguage;
Yii::$app->state;
Yii::$app->uniqueId;
Yii::$app->getUniqueId();
Yii::$app->afterAction();
Yii::$app->attachBehavior();
Yii::$app->attachBehaviors();
Yii::$app->beforeAction();
Yii::$app->canGetProperty();
Yii::$app->canSetProperty();
Yii::$app->clear();
Yii::$app->createController();
Yii::$app->createControllerByID();
Yii::$app->detachBehavior();
Yii::$app->get();
Yii::$app->getBehavior();
Yii::$app->getModule();
Yii::$app->hasProperty();
Yii::$app->has();
Yii::$app->hasMethod();
Yii::$app->hasEventHandlers();
Yii::$app->handleRequest();
Yii::$app->hasModule();
Yii::$app->off();
Yii::$app->on();
Yii::$app->preInit();
Yii::$app->runAction();
Yii::$app->set();
Yii::$app->setAliases();
Yii::$app->setBasePath();
Yii::$app->setComponents();
Yii::$app->setContainer();
Yii::$app->setHomeUrl();
Yii::$app->setLayoutPath();
Yii::$app->setModule();
Yii::$app->setModules();
Yii::$app->setRuntimePath();
Yii::$app->setAliases();
Yii::$app->setTimeZone();
Yii::$app->setVendorPath();
Yii::$app->setVersion();
Yii::$app->setViewPath();
Yii::$app->trigger();