概述
PHP区分“错误”(Error)和“异常”(Exception)。“错误”通常是由PHP内部函数抛出,表示运行时问题,当然也可以通过函数trigger_error
或user_error
抛出一个用户级别的error/warning/notice信息。但在 …
PHP区分“错误”(Error)和“异常”(Exception)。“错误”通常是由PHP内部函数抛出,表示运行时问题,当然也可以通过函数trigger_error
或user_error
抛出一个用户级别的error/warning/notice信息。但在 …
前两天突然发现:之前的阅读笔记对于Yii应用中如何自动加载自定义类的问题没有解释。这里的自定义类是指非Yii框架本身的类。
关于组件类的配置加载已在 Yii源码阅读笔记 - 组件集成 一文中做了 …
Yii框架为开发者提供两个静态方法进行日志记录:
Yii::log($message, $level, $category);
Yii::trace($message, $category);
两者的区别在于后者依赖于应用开启调试模式,即定义常量YII_DEBUG:
defined('YII_DEBUG') or define('YII_DEBUG', true);
Yii::log方法的调用需要指定message的level和category。category是格式为“xxx.yyy.zzz …
Yii框架有个“模块(Module)”的概念,与“应用(Application)”类似,模块必须归属于一个父模块或者一个应用,模块不能单独部署,一个应用不一定要分 …
从之前的文章Yii源码阅读笔记 - 路由解析 及Yii源码阅读笔记 - Model层实现可以看到Yii框架对于解析好的路由规则及数据表的schema都会根据条件尝试读写缓存 来提高 …
通常我们会使用模板引擎来渲染HTML页面,而不是使用HTML代码中插入PHP代码的方式来编写动态页面。Yii框架中模板引擎也是作为组件引入的,默认ID为viewRenderer, 但从Yii源码阅读笔记 - 组件集成可以看到Yii Web应用加载的核心组件中并没有viewRenderer,所以需要自己配置。 Yii提供了一个直接可用的模板引擎组件类CPradoViewRenderer(见 …
Yii中,对Model层的使用,有两种方式:
第1种方式的示例如下:
<?php
$connection = Yii::app()->db; // 或者Yii::app()->getComponent('db');
$queryResult = $connection->createCommand($sql)->queryRow();
第2种方式中编写的model类可能需要实现方法getDbConnection
、model
、tableName
。
在实现上,第2种方式是基于第1种方式的,即 …
Yii框架将各种功能封装成组件,使用时按需配置加载,从而提高应用的性能。内置的组件又分为核心组件与非核心组件,核心组件是任何Web应用和Console应用都需要的。 此外,应 …