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 ...
随机推荐
- Struts2 无后缀action请求
如果将Struts2的filter-mapping配置成 <filter-mapping> <filter-name>struts2</filter-name> & ...
- 怎样让你的APK跑在 com.android.phone 进程
首先:为什么要跑在 com.android.phone 进程 这还用问,在同一个进程里就能够干非常多事情了这是黑客行为 为什么能跑在统一进程? Google 在设计 Dalivk 虚拟机的时候就考虑到 ...
- 混沌数学之Kent模型
相关软件:混沌数学之离散点集图形DEMO 相关代码: // http://wenku.baidu.com/view/7c6f4a000740be1e650e9a75.html // 肯特映射 clas ...
- WhyEngine游戏引擎作品合集
从9月份开始写三个月内总共实现了13个游戏,5个屏保程序,5个DEMO程序.如果运行时,报有木马病毒什么的,请相信我,这绝对是杀毒软件的误报,自己写的程序由于没有得到杀毒软件的认证,被报有危险是正常的 ...
- OTL翻译(6) -- otl_connect类
otl_connect 这个类封装了连接的功能,如连接.断开连接.提交.回滚等.otl_connect也就是一个用来创建连接对象并进行管理的类. 序号 方法.变量 说明 1 int connected ...
- mysql数据库查询优化
上两周一直想办法提高查询速度,取得一点效果,解决了部分问题,记下来以便将来自己查看. 由于公司没有专门的DBA,我自己对mysql数据库也不是很熟悉,而且这个JAVA开发的网络审计系统的管理系统,是经 ...
- JS 中数组字符串索引和数值索引研究
先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "worl ...
- 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 ...
- SVN-服务器变更,代码变更
1.使用<SVN-如何删除 SVN 文件夹下面的小图标>文章中的方法将svn的关联去掉 2.使用<SVN-服务器搭建>文章中visual studio添加项目到svn服务器的步 ...
- 如何设置qt creator的快捷键
如何设置qt creator快捷键 以设置设置edit - select encoding的快捷键为例 1. tools - options - environment - keyborad 2.在搜 ...