更多内容: http://blog.yuhai.win

http://www.digpage.com/property.html


1、成员变量于属性的区别

a、成员变量是一个“内”概念,反应的是内的结构构成。属性是一个外概念,反应类的逻辑意义,b、成员变量没有读写权限控制,而属性可以指定为只读或只写,或可读可写。c、成员变量不对读做任何后处理,不对写入做任何预处理,而属性则可以。d、public 成员变量可以视为一个可读可写、没有任何预处理的属性。而 private成员变量由于外部不可见,与外的特征不相符,所以不能视为属性。e、虽然大多数情况下,属性有某个或者某些成员变量来表示。但属性与成员变量没有必然的对应关系

2、实现属性的步骤
a、继承自 yii\base\Object

b、声明一个用于保存该保存该属性的私有变量。

c、提供getter或setter函数,或两者都提供,用于访问、修改上面提到的私有成员变量。

class Post extends yii\base\Object    // 第一步:继承自 yii\base\Object
{private $_title;                 // 第二步:声明一个私有成员变量public function getTitle()       // 第三步:提供getter和setter{return $this->_title;}public function setTitle($value){$this->_title = trim($value);}
}


3、Object 和 Component
yii\base\Component 继承至yii\base\Object 他也具有属性等基本功能。但是Component还引入了事件、行为,因此,他并非简单继承了Object的属性实现方式,而是基于同样的机制,重载了__get() __set等函数。Object 并不支持 时间和行为。


深入理解Yii2.0(1) 属性相关推荐

  1. 深入理解YII2.0

    接触使用YII已经有几年光阴了,现在结合digpage.com(解析的很深入)这个网站的内容,会有变动,稍微记录一下. 一来帮助自己梳理一遍,二来做个一份备份入口.详细的还是请访问 (侵·删·联QQ2 ...

  2. 属性-Yii 基础-深入理解YII2.0(1.1)

    属性(Property) 属性用于表征类的状态,从访问的形式上看,属性与成员变量没有区别. 你能一眼看出 $object->foo 中的 foo 是成员变量还是属性么?显然不行. 但是,成员变量 ...

  3. 活动记录(AcitveReocrd)-Yii与数据库-(5.3)深入理解YII2.0

    AcitveReocrd事件和关联操作 ActiveRecord预定义的事件,都在 yiidbBaseActiveRecord 中进行了明确: abstract class BaseActiveRec ...

  4. Web应用Request-请求与响应-(4.4)深入理解YII2.0

    Web应用Request 前面 请求(Reqeust) 部分我们讲了用户请求的基础知识和命令行应用的Request,接下来继续讲Web应用的Request. Web应用Request由 yii\web ...

  5. 别名(Alias)-Yii 约定-深入理解YII2.0(2.2)

    别名(Alias) 可以将别名视为特殊的常量变量,他的作用在于避免将一些文件路径.URL以硬编码的方式 写入代码中,或者多处出现一长串的文件路径.URL. 预定义的别名 Yii中,别名以 @ 开头,以 ...

  6. Yii2.0学习资源

    Yii2.0中文开发文档 深入理解Yii2.0 转载于:https://www.cnblogs.com/fxrocky/p/5216060.html

  7. yii2.0框架中自定义接口,实现类的多继承

    一.前言 最近有个需求,比如有A,B,C,D四个文件,原来的逻辑是,A继承B,C继承D.后来由于A和C的逻辑太像,既然如此的话,为什么不把A,C写一起呢,第一是方便维护,第二也是减少无用的代码,说干就 ...

  8. Yii2.0 RESTful API 之版本控制

    Yii2.0 RESTful API 之版本控制 之前我写过两篇关于 Yii2.0 RESTful API 如何搭建,以及 认证 等处理,但是没有涉及到版本管理,今天就来谈谈版本管理如何实现. 索性就 ...

  9. yii2.0使用ueditior完成上传单张,多张图片,上传视频等操作

    一.前言 由于工作需求需要集成富文本编辑器,本来是想要选用之前用过的WangEditor的,但是考虑到WangEditor还是比较小众,所以最终选择了没用过的Uedtor,这篇文章主要讲述了Yii2. ...

  10. 教你在Yii2.0框架中如何创建自定义小部件

    本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Wid ...

最新文章

  1. 基于Spring可扩展Schema提供自定义配置支持
  2. Python基础教程学习笔记:第一章 基础知识
  3. 万变不离其中----SQL必记语法
  4. 浅谈:数据结构之双链表结构与代码模拟双链表的实现
  5. EfficientNet 解析:卷积神经网络模型尺度变换的反思
  6. java web 抓取_java做web抓取
  7. 数据结构实验 5.二叉树深度
  8. VC++中多线程学习(MFC多线程)三(线程同步包含:原子互锁、关键代码段、互斥器Mutex、Semaphores(信号量)、Event Objects(事件))
  9. 如何解决 MacBook Pro Touch ID不起作用?
  10. vsto java,从Excel VSTO项目打开WPF应用程序
  11. Neo4j下载与安装
  12. 批处理系统、分时操作系统、实时操作系统
  13. Google今日涂鸦:纪念居里夫人诞辰144周年
  14. 解决springboot的pom.xml文件第一行报错问题
  15. Graylog之Grok解析
  16. unity语言如何切换成中文
  17. 那些年,我们一起写过的代码
  18. 计算机专业就业自我推荐意见,计算机科学与技术专业自荐书
  19. linux命令查看驱动,Linux下查看网卡驱动和版本信息
  20. 数字电路设计资料目录内容

热门文章

  1. 迟到的读书笔记 李开复自传:世界因你不同
  2. 解决Linux操作系统下SSH等终端乱码问题
  3. Jmeter获取数据库数据
  4. 学习python 3 入门知识
  5. python 之头像上传,预览
  6. [MySql]默认密码的查找与修改
  7. Win7 64位中文旗舰版上Cocos2d-x 3.0的Android开发调试环境架设
  8. Trie图的学习过程
  9. 2010年安全主题展望
  10. 我的儿时理想—让世界没有乞丐