《深入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. gcc学习

      gcc学习 预处理:gcc –E xxx.c –o xxx.i;产生预处理过的C原始程序 编 译:gcc –S xxx.i –o xxx.s;产生汇编语言原始程序 汇 编:gcc –c xxx.s – ...

    2. iOS开发--应用设置及用户默认设置——转载

      [链接]iOS开发--应用设置及用户默认设置[1.bundlehttp://www.jianshu.com/p/6f2913f6b218 在iphone里面,应用都会在“设置”里面有个专属的应用设置, ...

    3. MVC5 + EF6 + Bootstrap3 (13) 查看详情、编辑数据、删除数据

      Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-rud.html 系列教程:MVC5 + EF6 + Boo ...

    4. Linux 常用工具贴

      1. nmon for Linux  用于监控Linux CPU.IO.网络等,可以生产excel格式的报表  http://nmon.sourceforge.net/pmwiki.php?n=Sit ...

    5. 8个免费实用的C++GUI库(转载)

        C++标准中并没有包含GUI,这也使得C++开发图形化界面需要依赖于第三方的库.实际上,图形界面恰恰是C++的强项,小到平常使用的各类桌面软件,大到魔兽世界这样的游戏,都是C++擅长的地方.C++ ...

    6. HTML5 实现橡皮擦的擦除效果

      声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 最近项目刚好用到这种效果,也就是有点像刮刮卡一样,在移动设备上,把某张图片刮掉显示出另一张图片.效果图如下:  DEMO请戳右:DEMO ...

    7. $().each() 与 $.each()解析

      在jquery 中我们可以选择$().each() 与 $.each() 进行迭代对象和数组 $(items).each(function(){ //item }) , 而后者则 $.each(ite ...

    8. 2016 版 Laravel 系列入门教程(五)【最适合中国人的 Laravel 教程】

      本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本文是本系列教程的完结篇,我们将一起给 Arti ...

    9. jQuery插件开发详细教程

      这篇文章主要介绍了jQuery插件开发详细教程,将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱,需要的朋友可以参考下 扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间. ...

    10. 【CodeForces 227A】Where do I Turn?叉积

      题意 ABC的位置关系只有三种可能: 1.在一条直线上,输出TOWARDS A--B--C 2.AB 和BC垂直,B为直角顶点,AB左侧是C,输出LEFT C--B | A 3.AB 和BC垂直,B为 ...