Yii2框架配置文件(Application属性)与调试技巧实例分析

本文实例讲述了Yii2框架配置文件(Application属性)与调试技巧。分享给大家供大家参考,具体如下:

配置文件

Yii2的主要配置文件config\web.php:

<?php
$params = require(__DIR__ . '/params.php');
$config = [
  'id' => 'basic',
  'basePath' => dirname(__DIR__),
  'bootstrap' => ['log'],
  'components' => [
    'request' => [
      // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
      'cookieValidationKey' => 'aldjaldjaldjaljd',
    ],
    'cache' => [
      'class' => 'yii\caching\FileCache',
    ],
    'user' => [
      'identityClass' => 'app\models\User',
      'enableAutoLogin' => true,
    ],
    'errorHandler' => [
      'errorAction' => 'site/error',
    ],
    'mailer' => [
      'class' => 'yii\swiftmailer\Mailer',
      // send all mails to a file by default. You have to set
      // 'useFileTransport' to false and configure a transport
      // for the mailer to send real emails.
      'useFileTransport' => true,
    ],
    'log' => [
      'traceLevel' => YII_DEBUG ? 3 : 0,
      'targets' => [
        [
          'class' => 'yii\log\FileTarget',
          'levels' => ['error', 'warning'],
        ],
      ],
    ],
    'db' => require(__DIR__ . '/db.php'),
    'urlManager' => [
      'enablePrettyUrl' => true,
      'showScriptName' => false,
      'rules' => [
      ],
    ],
  ],
  'params' => $params,
];
if (YII_ENV_DEV) {
  // configuration adjustments for 'dev' environment
  $config['bootstrap'][] = 'debug';
  $config['modules']['debug'] = [
    'class' => 'yii\debug\Module',
  ];
  $config['bootstrap'][] = 'gii';
  $config['modules']['gii'] = [
    'class' => 'yii\gii\Module',
  ];
}
return $config;

最后返回的一个数组,数组的key都是Application的属性。

我们到控制器中来访问一下:

public function actionIndex()
{
    echo \Yii::$app->id,'<br>';
    echo \Yii::$app->name,'<br>';
    exit;
    return $this->render('index',['username'=>'张三','age'=>22]);
}

在入口文件web/index.php 里会加载这个config.php 配置文件,来创建一个Application

#...
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();

调试技巧

助手类Yii,服务于整个框架,提供一些基础方法:记录日志、调试等
\Yii:warning()日志文件runtime/logs/app.log
\Yii::error()
\Yii::info()

\Yii:trace('调试内容','test')

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Yii2.0 RESTful API 基础配置教程详解

    最近在做Yii2.0 RESTful API功能,找了好久的资料,才找到这类的教程,感谢该作者,以下内容根据我的项目实际情况做了一定的修改. 安装yii2.0 安装 Composer 后,您可以通过在 Web 可访问的文件夹下运行以下命令来 安装Yii应用程序模板: composer create-project --prefer-dist yiisoft/yii2-app-basic basic 初始化高级模板 cd advanced ./init 输入"./init"后会出现以下内

  • Yii框架调试心得--在页面输出执行sql语句

    我们使用:yiidebugtb来调试(因为用他界面比较美观,不影响界面其他元素). 1.下载yiidebugtb,并且放入到 application.extensions.yiidebugtb 目录 2.修改main.php,加入如下代码: 复制代码 代码如下: 'log'=>array(             'class'=>'CLogRouter',             'routes'=>array(                 array(              

  • yii2 数据库读写分离配置示例

    开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.PHP),DSN( Data Source Name )是数据源名称,用于指定数据库信息.如下所示: return [ // ... 'components' => [ // ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbna

  • Yii调试查看执行SQL语句的方法

    本文实例讲述了Yii调试查看执行SQL语句的方法.分享给大家供大家参考,具体如下: 开户debug 修改配置文件 :protected/config/main.php, 'log' => array( 'class' => 'CLogRouter', 'routes' => array( array( 'class' => 'CFileLogRoute', 'levels' => 'trace, info, error, warning', ), // uncomment t

  • Yii2配置Nginx伪静态的方法

    本文实例讲述了Yii2配置Nginx伪静态的方法.分享给大家供大家参考,具体如下: 主要检查以下代码: location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php?$args; } 完整代码: server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4

  • Yii框架中sphinx索引配置方法解析

    本文实例讲述了Yii框架中sphinx索引配置方法.分享给大家供大家参考,具体如下: 请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库 #源定义 source mysql { type = mysql sql_host = localhost sql_user = root sql_pass = root sql_db = yii2 sql_port = 3306 sql_query_pre = SET NAMES utf8 sql_query

  • Yii配置文件用法详解

    本文详细分析了Yii配置文件的用法.分享给大家供大家参考.具体分析如下: Yii配置文件比ThinkPHP复杂多了,先把自己了解的配置记录下来,感兴趣的朋友可以参考一下: 复制代码 代码如下: <?php // 主配置文件 $config = array(     'modules' => array(         'gii' => array(             'class' => 'system.gii.GiiModule',             'passwo

  • 在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解

    前言 本文主要给大家介绍了关于在Yii2特定页面禁用调试工具栏Debug Toolbar的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍: yii2的调试工具栏,堪称神器.只要在配置文件web.php中配置好,就能全局使用 // configuration adjustments for 'dev' environment $config['bootstrap'][] = 'debug'; $config['modules']['debug'] = [ 'class' =>

  • Yii2简单实现多语言配置的方法

    本文实例讲述了Yii2简单实现多语言配置的方法,分享给大家供大家参考,具体如下: 1.配置文件中添加 'i18n' => [ 'translations' => [ '*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@app/messages', 'sourceLanguage' => 'en', 'fileMap' => [ 'custorm' => 'custorm.php',

  • Yii框架在页面输出执行sql语句以方便调试的实现方法

    本文实例讲述了Yii框架在页面输出执行sql语句以方便调试的实现方法.分享给大家供大家参考.具体分析如下: 我们使用:yiidebugtb来调试(因为用他界面比较美观,不影响界面其他元素). 1.下载yiidebugtb,并且放入到 application.extensions.yiidebugtb 目录 2.修改main.php,加入如下代码: 复制代码 代码如下: 'log'=>array(     'class'=>'CLogRouter',     'routes'=>array

  • YII2 实现多语言配置的方法分享

    前言: 由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习.下面来一起学习学习吧. 方法如下: 1. 在一个controller里面写一个调用i18n的语句, 比如actionIndex echo \Yii::t('app', 'whatisthis'); 现在进入这个页面, 页面输出whatisthis 2. 手动创建一个文件夹messages来存放多语言相关文件, 如果是advanced版本则在fronten

随机推荐