1.对象的实质: 对象就是数据, 对象本身不包含方法, 但是对象有一个"指针"指向一个类, 这个类里可以有方法

2.反射是指在PHP运行状态中, 扩展分析PHP程序, 导出或者提取关于类、方法、属性、参数等的详细信息包括注释, 这种动态获取信息以及动态调用对象方法的功能称为反射API(get_object_vars、get_class等也可以实现但都不属于反射API), 可以查看Reflection系列函数

3.在PHP里遇到任何自身错误都会触发一个错误, 而不是抛出异常(对于一些情况会同时抛出异常和错误), PHP无法自动捕获有意义的异常, 它把所有不正常的情况都是为错误, 而不是异常, 所以需要手动抛出异常, 然后捕获, 而Java里异常是唯一的错误报告方式, 也就是说PHP只有手动抛出异常后才能捕获异常, 但是手动抛出异常意义不大!且异常触发后代码就不继续执行, 而是跳到catch!但是, 手动抛出异常可以通过set_error_handler('func')来进行错误时自动抛出异常设置(即定义func为throw new Exception($msg))来弥补不足!PS: PHP中可以用trigger_error($msg[, $type])来触发用户自定义错误

4.设计模式, 单例模式、工厂模式、观察者模式(好比原项目中的Model_Sys_Flush类)、命令模式(对象和对象属性的嵌套)

5.正则表达式中[]内进行元字符本身匹配并不需要转义(即使转义也可以, 但是多余), 比如匹配"?"只需要'/[?]/'而不用'/[\?]/', 但是反斜线需要转义'/[\\]/'

6.正则表达式分组: (exp)进行索引分组, (?<name>exp)进行关联分组, (?:exp)不进行分组, 反向引用分组'\1'或者'\k<name>'

7.正则表达式零宽断言: (?=exp)匹配exp前面的位置, (?<=exp)匹配exp后面的位置, (?!exp)匹配后面跟的不是exp的位置, (?<!exp)匹配前面不是exp的位置

8.正则表达式注释: (?#conment)

PHP-PHP核心技术与最佳实践阅读的更多相关文章

  1. PHP核心技术与最佳实践——全局浏览

    难得买到并喜欢一本好书,‘PHP核心技术与最佳实践’. 几天时间,先看了个大概,总结一下整体是什么样子的,怎么看怎么学. 1.总共14章: 2.第1.2章讲PHP的OOP: 其中第一章侧重于PHP的O ...

  2. 温习《PHP 核心技术与最佳实践》这本书

    再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容 PHP 核心技术与最佳实践 1.面向对象思想的核心概念 1.1 面向对象的『形』与『本』 1.2 魔术方法的应用 1.2 ...

  3. Web最佳实践阅读总结(2)

    代码符合标准 标准的页面会保证正确的渲染 页面容易被搜索引擎搜索,提高搜索排名(SEO) 提高网站的易用性 网页更好维护和扩展(Validator,HTML Validator 属于Firefox插件 ...

  4. Web最佳实践阅读总结(1)

    介绍 最近开始刷一些书和题,此系列是介绍在读Web最佳实践的一些收获和体会. web前端发展现状 存在问题: 代码组织混乱 代码格式的问题突出 页面布局随意 网站整体性能差,没有意识到应用诸如缓存,动 ...

  5. 《深入理解Java 7核心技术与最佳实践》读书笔记(2) Java语言动态性引言

    Java语言是一种静态类型的编程语言.静态类型的含义是指在编译时进行类型检查.Java源代码中的每个变量的类型都要显式地进行声明.所有变量.方法的参数和方法返回值的类型在程序运行之前就必须是已知的.J ...

  6. PHP核心技术与最佳实践--笔记

    <?php error_reporting(E_ALL); /* php 5.3引入 延迟静态绑定 */ /* php5.4引入trait,用来实现多层继承 trait Hello{} trai ...

  7. 《Java核心技术与最佳实践》读书笔记

    第一章 Java7新语法 1.switch中使用字符串 2.增加二进制表示0b10101010:数字字面量允许直径使用下划线12_34_90 3.一个catch字句捕获多个异常,多个异常之间用|分隔 ...

  8. php核心技术与最佳实践(笔记一)

    1.1面向对象的型与本 类是对象的抽象组织,对象是类的具体存在. 1.1.1对象的形 <?php class Person{ public $name; public $gender; publ ...

  9. 模板引擎 引自 《PHP核心技术与最佳实践》

    随着web的发展,仅一门语言或者一种技术已经不能满足需求,分层架构显得越来越重要.在大型架构中,从来不会简单地应用php从头到尾实现一个完整的mvc架构.可能底层是c/java的支撑,负责密集运算和y ...

随机推荐

  1. Struts2 无后缀action请求

    如果将Struts2的filter-mapping配置成 <filter-mapping> <filter-name>struts2</filter-name> & ...

  2. 怎样让你的APK跑在 com.android.phone 进程

    首先:为什么要跑在 com.android.phone 进程 这还用问,在同一个进程里就能够干非常多事情了这是黑客行为 为什么能跑在统一进程? Google 在设计 Dalivk 虚拟机的时候就考虑到 ...

  3. 混沌数学之Kent模型

    相关软件:混沌数学之离散点集图形DEMO 相关代码: // http://wenku.baidu.com/view/7c6f4a000740be1e650e9a75.html // 肯特映射 clas ...

  4. WhyEngine游戏引擎作品合集

    从9月份开始写三个月内总共实现了13个游戏,5个屏保程序,5个DEMO程序.如果运行时,报有木马病毒什么的,请相信我,这绝对是杀毒软件的误报,自己写的程序由于没有得到杀毒软件的认证,被报有危险是正常的 ...

  5. OTL翻译(6) -- otl_connect类

    otl_connect 这个类封装了连接的功能,如连接.断开连接.提交.回滚等.otl_connect也就是一个用来创建连接对象并进行管理的类. 序号 方法.变量 说明 1 int connected ...

  6. mysql数据库查询优化

    上两周一直想办法提高查询速度,取得一点效果,解决了部分问题,记下来以便将来自己查看. 由于公司没有专门的DBA,我自己对mysql数据库也不是很熟悉,而且这个JAVA开发的网络审计系统的管理系统,是经 ...

  7. JS 中数组字符串索引和数值索引研究

    先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "worl ...

  8. Metronic V1.5.2 Responsive Admin Dashboard Template build with Twitter Bootstrap 3.0

    Template Name: Metronic - Responsive Admin Dashboard Template build with Twitter Bootstrap 3.0 Versi ...

  9. SVN-服务器变更,代码变更

    1.使用<SVN-如何删除 SVN 文件夹下面的小图标>文章中的方法将svn的关联去掉 2.使用<SVN-服务器搭建>文章中visual studio添加项目到svn服务器的步 ...

  10. 如何设置qt creator的快捷键

    如何设置qt creator快捷键 以设置设置edit - select encoding的快捷键为例 1. tools - options - environment - keyborad 2.在搜 ...