《深入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. LeetCode:Best Time to Buy and Sell Stock I II III

      LeetCode:Best Time to Buy and Sell Stock Say you have an array for which the ith element is the pric ...

    2. SVN技术交流提纲

      SVN技术交流提纲:http://lazio10000.github.io/tech/SVN/#/bored

    3. 最新微信小程序(应用号)视频教程,实战教程

      1.1课程介绍,定个小目标            http://v.youku.com/v_show/id_XMTc2NzIwNDk1Ng==.html 1.2开发文档简读,了解全貌       ht ...

    4. Source Tree for MAC1.6

      Atlassian ID has become the new Atlassian Account. Read more about it here. After some great communi ...

    5. 四则运算 Day1

      需求分析 1.N(Need,需求) 该软件用户只有一类角色:小学生 要求能根据用户选择的算法(+-/),产生随机数(在0--10之间的整数)进行该算法的计算,程序能接收用户输入的答案,如果用户输入的为 ...

    6. CentOS/Redhat VNC 服务

      # yum install vnc-server vnc* (CentOS 5.x)# yum install tigervnc-server tigervnc (CentOS 6.x) [root@ ...

    7. context:exclude-filter 与 context:include-filter 转

      context:exclude-filter 与 context:include-filter 转 1 在主容器中(applicationContext.xml),将Controller的注解打消掉 ...

    8. BZOJ2120 数颜色

      Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成 一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同 ...

    9. Android基础类之BaseAdapter

      转:http://www.cnblogs.com/mandroid/archive/2011/04/05/2005525.html Android基础类之BaseAdapter BaseAdapter ...

    10. UVA294DIvisors(唯一分解定理+约数个数)

      题目链接 题意:输入两个整数L,U(L <= U <= 1000000000, u - l <= 10000),统计区间[L,U]的整数中哪一个的正约数最多,多个输出最小的那个 本来 ...