Yii::$app 的用法

frontend\config\main.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();