PHP yii 框架源码阅读(一)

转载链接:http://www.th7.cn/Program/php/2012/04/03/67983.shtml


目录文件


|- framework 框架核心库

|-|- base 底层类库文件夹,包 含CApplication(应用类,负责全局的用户请求处理,它管理的应用组件集,将提供特定功能给整个应用程序),CComponent(组件类,该 文件包含了基于组件和事件驱动编程的基础类,从版本1.1.0开始,一个行为的属性(或者它的公共成员变量或它通过getter和/或setter方 法??定义的属性)可以通过组件的访问来调用),CBehavior(行为类,主要负责声明事件和相应事件处理程序的方法、将对象的行为附加到组件等 等),CModel(模型类,为所有的数据模型提供的基类),CModule(是模块和应用程序的基类,主要负责应用组件和子模块)等等

|-|- caching 所有缓存方法,其中包含了Memcache缓存,APC缓存,数据缓存,CDummyCache虚拟缓存,CEAcceleratorCache缓存等等各种缓存方法

|-|- cli YII项目生成脚本

|-|- collections 用php语言构造传统OO语言的数据存储单元。如:队列,栈,哈希表等等

|-|- console YII控制台

|-|- db 数据库操作类

|-|- gii YII 代码生成器(脚手架),能生成包括模型,控制器,视图等代码

|-|- i18n YII 多语言,提供了各种语言的本地化数据,信息、文件的翻译服务、本地化日期和时间格式,数字等

|-|- logging 日志组件,YII提供了灵活和可扩展的日志记录功能。消息记录可分为根据日志级别和信息类别。应用层次和类别过滤器,可进一步选择的消息路由到不同的目的 地,例如文件,电子邮件,浏览器窗口,等等

|-|- messages 提示信息的多语言

|-|- test YII提供的测试,包括单元测试和功能测试

|-|- utils 提供了常用的格式化方法

|-|- validators 提供了各种验证方法

|-|- vendors 这个文件夹包括第三方由Yii框架使用的资料库

|-|- views 提供了YII错误、日志、配置文件的多语言视图

|-|- web YII所有开发应用的方法

|-|-|- actions 控制器操作类

|-|-|- auth 权限认识类,包括身份认证,访问控制过滤,基本角色的访问控制等

|-|-|- filters 过滤器,可被配置在控制器动作执行之前或之后执行。例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证;性能过滤器可用于测量控制器执行所用的时间

|-|-|- form 表单生成方法

|-|-|- helpers 视图助手,包含GOOGLE AJAX API,创建HTML,JSON,JAVASCRIPT相关功能

|-|-|- js JS库

|-|-|- renderers 视图渲染组件

|-|-|- services 封装SoapServer并提供了一个基于WSDL的Web服务

|-|-|- widgets 部件

|-|-|- CArrayDataProvider.php 可以配置的排序和分页属性自定义排序和分页的行为

|-|-|- CActiveDataProvider.php ActiveRecord方法类

|-|-|- CController.php 控制器方法,主要负责协调模型和视图之间的交互

|-|-|- CPagination.php 分页类

|-|-|- CUploadedFile.php 上传文件类

|-|-|- CUrlManager.php URL管理

|-|-|- CWebModule.php 应用模块管理,应用程序模块可被视为一个独立的子应用 等等方法

|-|- .htaccess 重定向文件

|-|- yii.php 引导文件

|-|- YiiBase.php YiiBase类最主要的功能是注册了自动加载类方法,加载框架要用到所有接口。

|-|- yiic Yii LINUX 命令行脚本

|-|- yiic.bat YII WINDOW 命令行脚本

|-|-yiilite.php 它是一些常用到的 Yii 类文件的合并文件。在文件中,注释和跟踪语句都被去除。因此,使用 yiilite.php 将减少被引用的文件数量并避免执行跟踪语句


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276370.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复习.net/c#时的小文章之万年草稿版 (全是基础概念,请懂的人绕行)

必读文:61条面向对象设计的经验原则(体会篇) C#知识点集合 (面试必备)一、显式(explicit)转换和隐式(implicit)转换的一般概念int i 100; Response.Write(i); // 这就是隐式 Response.Write(i.ToString()); // 这就是显式 一般来讲&#xff…

timertask run函数未执行_图执行模式下的 TensorFlow 2

文 / 李锡涵,Google Developers Expert本文节选自《简单粗暴 TensorFlow 2.0》尽管 TensorFlow 2 建议以即时执行模式(Eager Execution)作为主要执行模式,然而,图执行模式(Graph Execution)作为 TensorFlow 2 之前的主要执行模式&#xff0c…

AJAX自学笔记01

从今天开始正式系统学习asp.net ajax了。XMLHttpRequest对象属性:Number readyState (返回值4表示完成)Function onreadystatechange (执行回调函数)string responseText (返回字符串型)XMLDocument responseXML(返回XML型&#x…

如何从 0 到 1 打造团队 PC/H5 构建工具

关注若川视野, 回复"pdf" 领取资料,回复"加群",可加群长期交流学习一、前言 大家好,我叫鳗鱼,这次分享的主题是如何从 0 到 1 打造适合自己的构建部署方案。image.png先例行的自我介绍,大概 14 年…

PHP yii 框架源码阅读(二) - 整体执行流程分析

转载链接&#xff1a;http://tech.ddvip.com/2013-11/1384432766205970.html 一 程序入口 <?php// change the following paths if necessary $yiidirname(__FILE__)./http://www.cnblogs.com/framework/yii.php; $configdirname(__FILE__)./protected/config/main.php;/…

HTTP状态码大全

完整的 HTTP 1.1规范说明书来自于RFC 2616&#xff0c;你可以在http://www.talentdigger.cn/home/link.php?urld3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性&#xff0c;因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客…

testng接口自动化测试_Java+Maven+TestNG接口(API)自动化测试教程(10) 使用 Jenkins 构建自动化测试持续集成...

现在代码可以运行了&#xff0c;但是每次运行都需要我们手工去执行&#xff0c;并且测试报告也只能在执行测试的电脑上才能看到&#xff0c;我们希望能够定时自动执行测试&#xff0c;并且能够做到自动发送测试报告到相关人员的电子邮箱中。Jenkins 正好可以很好的完成以上诉求…

sql数据类型详解

BCD码1字符1/2字节 ASC码1字符1字节 GB2312码1字符2字节 BIG5码1字符5字节 (1)二进制数据类型 二进制数据包括 Binary、Varbinary 和 Image  Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。  Binary[(n)] 是 n 位固定的二进制数据。其中&#xff0c;n 的取…

论公众号内卷

关注若川视野, 回复"pdf" 领取资料&#xff0c;回复"加群"&#xff0c;可加群长期交流学习曾几何时公众号文章的标题单纯且没有套路七年前的我就是这样仅仅把公众号当做一个写文章的博客平台甚至是像有道云一样的在线笔记平台当时的标题是这样子滴《hashma…

PHP 利用Mail_MimeDecode类提取邮件信息

转载链接:http://blog.csdn.net/laijingyao881201/article/details/5512693 重点为one_mail函数。利用Mail_mimeDecode类从邮件中提取邮件头和邮件正文。 <?php header("content-type:text/html; charsetUTF-8"); /** record kid words and insert into databa…

【转】概要设计说明书

概要设计说明书 一&#xff0e; 引言 1&#xff0e; 编写目的 从该阶段开发正式进入软件的实际开发阶段&#xff0c;本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程&#xff0c;这种表示只是描绘出软件的…

程序异常异常代码: 0xc0000005_Java基础:看完这篇你还怕碰到异常吗?

前言在日常的开发以及平时的学习练习中&#xff0c;异常相信对于大家来讲并不陌生&#xff0c;但是对于异常的具体使用、底层实现以及分类等等可能并不是很了解。今天我就抽出了一点时间系统的整理了异常的各个知识点&#xff0c;希望能够帮助到大家对于Java 异常的理解与学习。…

写给初中级前端工程师的进阶指南

学习一门新技术的时候&#xff0c;最大的苦恼之一&#xff0c;大概就是不知道从何入手。典型的情况是&#xff0c;你大概知道学会以后&#xff0c;这门技术可以帮你解决什么问题。但是&#xff0c;怎么才能学会、循序渐进的学习路线是什么、学习范围有多大的深度和广度、涉及到…

同一页面中引入多个JS库产生的冲突解决方案(转)

发生JS库冲突的主要原因&#xff1a;与jQuery库一样&#xff0c;许多JS库都使用‘$’符号作为其代号。因此在一个页面中引入多个JS库&#xff0c;并且使用‘$’作为代号时&#xff0c;程序不能识别其代表哪个库&#xff08;这个是我自己的解释&#xff0c;但更深的原因就必须深…

不用安装Oracle Client如何使用PLSQL Developer

1. 下载oracle的客户端程序包&#xff08;30M&#xff09;只需要在Oracle下载一个叫Instant Client Package的软件就可以了&#xff0c;这个软件不需要安装&#xff0c;只要解压就可以用了&#xff0c;很方便&#xff0c;就算重装了系统还是可以用的。下载地址&#xff1a;http…

input file的默认value清空与赋值方法

转载链接&#xff1a;http://www.jb51.net/article/24872.htm出于安全性考虑&#xff0c;JS是不能直接设置File的value值的&#xff0c;下面是我总结出来的方法第1个方法是大多人传统做法&#xff0c;替换HTML代码&#xff0c;楼上的已经用到了&#xff0c;我不过是用正则优化一…

python中o_Python I/O与进程的详细讲解

I/Owith语句with context_expression [as target(s)]:with-bodycontext_expression返回值遵从上下文管理协议&#xff0c;包含__enter__()与__exit__()方法&#xff0c;as语句的target(s)得到的是__enter__()返回值&#xff0c;执行with-body后会调用上下文管理器的__exit__()方…

千层套路 - Vue 3.0 初始化源码探秘

关注若川视野, 回复"pdf" 领取资料&#xff0c;回复"1"&#xff0c;可加群长期交流学习刘崇桢&#xff0c;微医云服务团队前端工程师&#xff0c;左手抱娃、右手持家的非典型码农。9 月初 Vue.js 3.0 正式发布&#xff0c;代号 "One Piece"。大秘…

css网页布局兼容性有哪些要点与诀窍

IE vs FFCSS 兼容要点&#xff1a;DOCTYPE 影响 CSS 处理FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中FF: 设置 padding 后, div 会增加 height 和…