《深入PHP与jQuery开发》第三章学习笔记

1.PHP的魔术方法(在对象中发生某些例行事件时会自动调用这些方法)

  • PHP提供了魔术方法__construct()(构造函数),在新对象被创建时会被自动调用;
  • 要在对象被销毁时自动调用一个函数,可以使用__destruct()(析构函数)的魔术方法。在需要做类清理工作(例如,关闭数据库连接)时它就非常有用。
  • 要显式地触发析构行为,可以用unset()函数销毁这个对象。
  • 将类输出为字符串,要将MyClass类输出为一个字符串而不发生错误,需要定义另一个魔术方法__toString()。如果没有定义__toString()方法就输出对象会发生致命错误(程序停止运行)。在没有定义__toString()方法的情况下用echo指令输出对象:
<?php
class MyClass {
public $var = "MyClass"; public function __construct() {
echo 'The class "',__CLASS__,'" was initialized!<br/>';
} public function __destruct() {
echo 'The class "',__CLASS__,'" was destroyed!<br/>';
} public function __toString() {
echo "Using the toString method: ";
return __CLASS__;
}
} $myclass = new MyClass; var_dump($myclass); //直接打印类变量
echo $myclass; //调用__toString方法 unset($myclass);

2.继承与派生

  • 2.1.要改变新类中继承来的属性或者方法,只需要在新类中重新声明这个属性或方法,就可以简单地覆盖掉它。
  • 2.2.如果是要覆盖时保留被覆盖方法的功能,只需要在保留原方法功能的基础上,要为继承得来的方法添加新功能,使用parent关键字加上作用域解析符(:

    《深入PHP与jQuery开发》读书笔记——Chapter3的更多相关文章

    1. Flask Web开发读书笔记

      开篇:目前想自学Flask Web开发--基于Python,找了几本书准备啃啃,同时也会分享读书笔记.希望和大家一起进步. Flask是小型框架,可以算是微框架,但是他的功能还是比较多 Flask有三 ...

    2. 锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

      1.表单验证插件Validation   2.表单插件Form   3.动态事件绑定插件livequery 可以为后来的元素绑定事件   类似于jQuery中的live()方法     4.jQuer ...

    3. jQuery开发技术笔记

      HTML DOM 加载步骤    1. 解析 HTML 结构     2.加载外部脚本和样式表文件     3.解析并执行脚本代码     4.构造 HTML DOM 模型     5.加载图片等外部 ...

    4. 《锋利的jQuery》读书笔记(DOM+事件)

      前阵子买了一批书,就从锋利的jQuery看起吧,书中一些太过常规以及没有强记必要性的操作就不记录了. 1.DOM加载后执行JS $(document).ready(function(){ //.... ...

    5. 《锋利的jQuery》读书笔记

      jQuery理念:write less, do more! 第 一 章一:jQuery简介 a:轻量级 b:强大选择器 c:DOM封装 d:ajax封装 e:不污染顶级变量 只建立一个jQuery对象 ...

    6. <<敏捷开发>>读书笔记

      1.走进敏捷 * 组织成功 增加业务专家,较少bug和测试的交流成本,即使取消不好的技术 首先发布最有价值的特性,时常发布新的版本,即使改进软件 * 技术成功 结对编程,代码审核,确保同一份代码有不同 ...

    7. 【锋利的Jquery】读书笔记十一

      项目进度太赶,天天公司加班12小时,没时间看书充电.2016年再更新一篇吧.现在凌晨2点36分. 2017加油哦 jquery合适的选择器 $("#id") 无疑是最佳提高性能的方 ...

    8. 【锋利的Jquery】读书笔记七

      第七章  jquery插件 管理cookie的插件--cookie jquery插件太多没什么好讲的,百度太多 说以下 cookie插件 <!DOCTYPE html> <html& ...

    9. 【锋利的Jquery】读书笔记六

      ajax优点缺点 json格式的严格 { "people": [ { "firstName": "Brett", "lastNam ...

    随机推荐

    1. HDU3923-Invoker-polya n次二面体

      polya定理.等价类的个数等于∑颜色数^置换的轮换个数 不可翻转的串当中.直接计算∑m^(gcd(n,i)) ,这里gcd(n,i)就是第i个置换的轮换数. 翻转的情况再分n奇偶讨论. n次二面体都 ...

    2. Javascript设计模式之我见:迭代器模式

      大家好!本文介绍迭代器模式及其在Javascript中的应用. 模式介绍 定义 提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示. 类图及说明 Iterator抽象迭代器 抽象迭代器负 ...

    3. JS闭包那些事

      关于闭包,我曾经一直觉得它很讨厌,因为它一直让我很难搞,不过有句话怎么说来着,叫做你越想要一个东西,就要装作看不起它的样子.所以,抱着这个态度,我终于掳获了闭包. 首先来认识一下什么是闭包,闭包,一共 ...

    4. HTML5 IE兼容问题

      最近,为公司做产品的时候用到了HTML5,用IE11打开的时候出现了界面乱或者加载js错误的问题. IE10 or IE11 :Browser Mode is IE10 .Document Mode: ...

    5. Java集合类: Set、List、Map、Queue使用场景梳理

      本文主要关注Java编程中涉及到的各种集合类,以及它们的使用场景 相关学习资料 http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E ...

    6. Orchard使用Tags(标签)组织文本

      本文链接:http://www.cnblogs.com/souther/p/4517476.html 主目录 原文链接:http://docs.orchardproject.net/Documenta ...

    7. 云计算之路-阿里云上:2014年6月12日16:14遭遇SLB故障

      这是今天遇到的第3次故障,故障是首先被园友发现的,访问园子出现来自SLB的错误提示:400 Bad Request - Powered by Tengine. 查看Windows性能监视器发现,在故障 ...

    8. php上传图片---初级版

      没有样式,没有淘宝的那种放大截取大小的效果,只是实现了图片上传的功能. 图片超过100k,会出现内部错误服务器错误,需要手动更改配置文件里的MaxRequestLen属性. 下面粘上代码: <? ...

    9. [1015][JSOI2008]星球大战starwar(并查集)

      1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 2124  Solved: 909[Submit] ...

    10. Python学习日记

      江林楠学习了一下午后给大家呈现的20分钟速成Python—— 一些基本的语法:1.python无变量声明 直接a = []即可.2.python为对齐语言,用制表符表示语句块的嵌套.3.python语 ...