PHP-PHP核心技术与最佳实践阅读
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核心技术与最佳实践阅读的更多相关文章
- PHP核心技术与最佳实践——全局浏览
难得买到并喜欢一本好书,‘PHP核心技术与最佳实践’. 几天时间,先看了个大概,总结一下整体是什么样子的,怎么看怎么学. 1.总共14章: 2.第1.2章讲PHP的OOP: 其中第一章侧重于PHP的O ...
- 温习《PHP 核心技术与最佳实践》这本书
再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容 PHP 核心技术与最佳实践 1.面向对象思想的核心概念 1.1 面向对象的『形』与『本』 1.2 魔术方法的应用 1.2 ...
- Web最佳实践阅读总结(2)
代码符合标准 标准的页面会保证正确的渲染 页面容易被搜索引擎搜索,提高搜索排名(SEO) 提高网站的易用性 网页更好维护和扩展(Validator,HTML Validator 属于Firefox插件 ...
- Web最佳实践阅读总结(1)
介绍 最近开始刷一些书和题,此系列是介绍在读Web最佳实践的一些收获和体会. web前端发展现状 存在问题: 代码组织混乱 代码格式的问题突出 页面布局随意 网站整体性能差,没有意识到应用诸如缓存,动 ...
- 《深入理解Java 7核心技术与最佳实践》读书笔记(2) Java语言动态性引言
Java语言是一种静态类型的编程语言.静态类型的含义是指在编译时进行类型检查.Java源代码中的每个变量的类型都要显式地进行声明.所有变量.方法的参数和方法返回值的类型在程序运行之前就必须是已知的.J ...
- PHP核心技术与最佳实践--笔记
<?php error_reporting(E_ALL); /* php 5.3引入 延迟静态绑定 */ /* php5.4引入trait,用来实现多层继承 trait Hello{} trai ...
- 《Java核心技术与最佳实践》读书笔记
第一章 Java7新语法 1.switch中使用字符串 2.增加二进制表示0b10101010:数字字面量允许直径使用下划线12_34_90 3.一个catch字句捕获多个异常,多个异常之间用|分隔 ...
- php核心技术与最佳实践(笔记一)
1.1面向对象的型与本 类是对象的抽象组织,对象是类的具体存在. 1.1.1对象的形 <?php class Person{ public $name; public $gender; publ ...
- 模板引擎 引自 《PHP核心技术与最佳实践》
随着web的发展,仅一门语言或者一种技术已经不能满足需求,分层架构显得越来越重要.在大型架构中,从来不会简单地应用php从头到尾实现一个完整的mvc架构.可能底层是c/java的支撑,负责密集运算和y ...
随机推荐
- 【BZOJ】【2502】清理雪道
网络流/上下界网络流 带下界的最小可行流…… 我SB了,跑网络流的时候是得从虚拟源0往出跑……而不是S…… Orz Hzwer /*********************************** ...
- 数据库实例: STOREBOOK > 用户 > 编辑 用户: MGMT_VIEW
ylbtech-Oracle:数据库实例: STOREBOOK > 用户 > 编辑 用户: MGMT_VIEW 编辑 用户: MGMT_VIEW 1. 一般信息返回顶部 1.1, ...
- go语言基础之数组的初始化
1.数组的初始化 示例: package main //必须有个main包 import "fmt" func main() { //声明定义同时赋值,叫初始化 //1.全部初始化 ...
- XML中PCDATA与CDATA的区别
XML中PCDATA与CDATA的区别 2011-02-10 19:27:25| 分类: XML | 标签:xml中pcdata与cdata的区别 字号:大中小 订阅 所有 XML 文档中 ...
- 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 ...
- php -- 取路径:getcwd()、__DIR__、__FILE__ 的区别
getcwd() :显示是 在哪个文件里调用此文件 的目录 __DIR__ :当前内容写在哪个文件就显示这个文件目录 __FILE__ : 当前内容写在哪个文件就显示这个文件目录+文件名
- 学习技巧-如何在IBM官网寻找学习资料
场景:最近看招聘职位TM1比较火,于是就想找一下Cognos TM1的资料来拜读一下,然后论坛都是大价钱的金币,迫于无奈只好来到IBM的官网来寻求指导 http://www.ibm.com/us/en ...
- JS字符串false转boolean
大家都知道在JS的世界里, 0.-0.null."".false.undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的"false&quo ...
- poj1837--Balance(dp:天平问题)
Balance Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10773 Accepted: 6685 Descript ...
- 几种流行Webservice框架性能对比(转载)
1摘要 开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有很多种,这对于开发者如何选择带来一定的疑惑.性能Webservice的关键要素,不同的框架性能上存在较大差 ...