【yii源码分析4——非核心类的导入注册】教程文章相关的互联网学习教程文章

推荐10款安装Yii源码(收藏)【图】

Yii 的安装由如下两步组成:从 yiiframework.com 下载 Yii 框架。将 Yii 压缩包解压至一个 Web 可访问的目录(比如你的Web根目录/www/wwwroot/)。提示: 安装在 Web 目录不是必须的,每个 Yii 应用都有一个入口脚本,只有它才必须暴露给 Web 用户。其它 PHP 脚本(包括 Yii)应该保护起来不被 Web 访问,因为它们可能会被黑客利用。需求:安装完 Yii 以后你也许想验证一下你的服务器是否满足使用 Yii 的要求,只需浏览器中输入如下...

YII的源码分析(-)

做为源码分析的首秀,我就挑了yii(读作歪依依而不是歪爱爱);它的赞美之词我就不多说了,直接入正题。先准备材料,建议直从官网下载yii的源码包(1.1.15)最新版本。 <spanMicrosoft YaHei; font-size: 16px;">在demos里边有一个最简单的应用—helloworld.就是用yii框架输出一句话:”hello world”; <spanMicrosoft YaHei; font-size: 16px;">我就从它下手,分析框架执行一个最小流程要经过哪些组件,浅析它的运行过程。 <spanMic...

YII的源码分析(二)

上一篇简单分析了一下yii的流程,从创建一个应用,到屏幕上输出结果。这一次我来一个稍复杂一点的,重点在输出上,不再是简单的一行"hello world",而是要经过view(视图)层的处理。 依然是demos目录,这次我们选择hangman,一个简单的猜字游戏。老规则,还是从入口处开始看。 index.php:<?php// change the following paths if necessary $yii=dirname(__FILE__)./../../framework/yii.php; $config=dirname(__FILE__)./protected...

YII的源码分析(三)【图】

前面已经看完了启动一个yii程序所要经过的流程,以及渲染一个页面是怎么完成的。今天要分析的是yii是如何处理用户请求的。也就是控制和动作部分。 还是以helloworld为例演示这一过程。我们在地址栏输入http://localhost/study/yii/demos/helloworld/index.php,页面就显示了hello world. 前面的分析都是用的默认值,但是如果url有参数的时候,yii又是怎么处理的呢?带着这个问题,我们具体来分析一下。 在CWebApplication中有这样一...

yii源码分析4——非核心类的导入注册

转载请注明: TheViper http://www.cnblogs.com/TheViper 在yii源码分析1中说到spl_autoload_register注册给定的函数作为 __autoload 的实现,在这里是autoload().public static function autoload($className) {include self::$_coreClasses [$className];}实际上这个autoload()是没有考虑非核心文件的引入的。比如,在app文件夹经常会有自定义的一些重要文件夹,比如application.utils.*(工具类),application.filters.*(过...

Yii源码解读-属性

Yii基础属性 property属性用于表征类的状态,从访问的形式上看,属性与成员变量没有区别。但是,成员变量是就类的结构构成而言的概念,而属性是就类的功能逻辑而言的概念Q: 属性和成员变量有什么区别吗?成员变量是一个“内”概念,反映的是类的结构构成。属性是一个“外”概念,反映的是类的逻辑意义。成员变量没有读写权限控制,而属性可以指定为只读或只写,或可读可写。成员变量不对读出作任何后处理,不对写入作任何预处理,而...

Yii源码解读-类自动加载

实现Yii的类自动加载,依赖于PHP的spl_autoload_register(), 注册一个自己的自动加载函数(autoloader),并插入到自动加载函数栈的最前面,确保Yii的autoloader会被最先调用。require(__DIR__ . /../../vendor/autoload.php);require(__DIR__ . /../../vendor/yiisoft/yii2/Yii.php);首先加载第三方的autoloader,再加载Yii的autoloader。最后加载Yii的autoloader,这样可以保证Yii的优先加载。Yii.php可以查看autoloader代码的调...

Yii源码解读-MVCModel

很常见的MVC模式,就不在这里具体阐述了,这里具体聊聊Model。Model应当集中整个应用的数据和业务逻辑应用当中涉及到的所有业务对象都应尽可能抽象成Model。如发布文章:Post::create(),删除评论:Comment::delete()。基础Model要细化在Model的设计上,要以尽量小的粒度进行设计。粒度越小,复用的可能性就越高。分层次设计Model通过继承来设计更符合业务要求的Model。要对每一个Model的命名深思熟虑!参考You know.以上就介绍了Y...

Yii源码解读-服务定位器(ServiceLocator)

SL的目的也是解耦,并且非常适合基于服务和组件的应用。Service Locator充当了一个运行时的链接器的角色,可以在运行时动态地修改一个类所要选用的服务, 而不必对类作任何的修改。一个类可以在运行时,有针对性地增减、替换所要用到的服务,从而得到一定程度的优化。实现服务提供方、服务使用方完全的解耦,便于独立测试和代码跨框架复用。基本功能Yii中的SL由yii\di\ServiceLocator实现class ServiceLocator extends Component{/...

android源码学习yii2源码学习笔记十七)

Theme 类,应用的主题,通过替换路径实现主题的应用,方法为获取根路径和根链接:yii2\base\Theme.php 1 <?php2/**3 * @link http://www.yiiframework.com/ 4 * @copyright Copyright (c) 2008 Yii Software LLC5 * @license http://www.yiiframework.com/license/ 6*/ 7 8namespace yii\base;9 10use Yii;11use yii\helpers\FileHelper;12 13/**14 * Theme represents an application theme.15 * Theme 类,应用的主题16 * W...

十八大学习笔记yii2源码学习笔记(十八)

View继承了component,用于渲染视图文件:yii2\base\View.php 1 <?php2/**3 * @link http://www.yiiframework.com/ 4 * @copyright Copyright (c) 2008 Yii Software LLC5 * @license http://www.yiiframework.com/license/ 6*/ 7 8namespace yii\base;9 10use Yii;11use yii\helpers\FileHelper;12use yii\widgets\Block;13use yii\widgets\ContentDecorator;14use yii\widgets\FragmentCache;15 16/**17 * View represents ...

android源码学习yii2源码学习笔记二十)

Widget类是所有部件的基类。yii2\base\Widget.php 1 <?php2/**3 * @link http://www.yiiframework.com/ 4 * @copyright Copyright (c) 2008 Yii Software LLC5 * @license http://www.yiiframework.com/license/ 6*/ 7 8namespace yii\base;9 10use Yii;11use ReflectionClass;12 13/**14 * Widget is the base class for widgets.15 * Widget是所有小部件的基类16 * @property string $id ID of the widget. 小部件标识17 * ...

android源码学习yii2源码学习笔记十九)

view剩余代码 1/**2 * @return string|boolean the view file currently being rendered. False if no view file is being rendered.3 * 当前正在渲染的视图文件4*/ 5public function getViewFile()6 {7return end($this->_viewFiles);8 }9 10/**11 * This method is invoked right before [[renderFile()]] renders a view file.12 * The default implementation will trigger the [[EVENT_BEFORE_RENDER...

YII的源码分析,YII源码分析_PHP教程

YII 的源码分析,YII源码分析这是我见过的最好的YII源码分析了。http://wenku.baidu.com/link?url=exldJbDxF_IySPVYmZceI3kQ-A6UwVZ7VtIIrevy_F_JE2pa1bZ-oZso4R4IXBFpGGfFQmzu1ci5ZH1q97H8ihWAWn6tnUphNMiSocpUy6C熟悉Yii框架源码的教下怎看yii源码 到现在我也没有看全里面的源码。对于这么大的框架。你懂得怎么用就行了。 你好 我想问下 你有YII开发的微博项目源码 可以否 借小弟研究下 THANK YOU yii自带的BLOG研究过了吗?那个...

yii源码分析2,yii源码分析_PHP教程

yii源码分析2,yii源码分析转载请注明:TheViper http://www.cnblogs.com/TheViper/ 上一篇主要分析了Yii::createWebApplication ( $config )->run ();的createWebApplication ( $config )部分,这篇分析后面的。run()也是不在CWebApplication里面,在CApplication 里。 1 php2 abstract class CApplication extends CModule {3 private $_id;4 private $_basePath;5 abstract public function processRequest();6 ...