PHP核心技术与最佳实践--笔记
<?php error_reporting(E_ALL);
/* php 5.3引入 延迟静态绑定 */
/* php5.4引入trait,用来实现多层继承 trait Hello{} trait World{} class MyHelloWorld{ use Hello,World; } */
/* php4时代 php是不支持析构函数的*/ /* php中数组索引是字符串,但是没有使用引号,php就将其认为是一个常量,找不到在视为变量 */ /**
* php中的异常必须手动
* 可以结合错误处理机制让php自动抛出异常
* set_error_handler(error_function,E_ALL|E_STRICT) //默认E_ALL 反函数 restore_error_handler();
* fetal error 或者程序结束时 register_shutdown_function error_get_last();
*/ /*try { } catch (TypeException $e) { } catch (PDOException $e) { } catch (Exception $ex) {
//异常统一处理
}*/ /*
面向对象设计的原则
单一指责
接口隔离
开闭原则
替换原则
依赖倒置(上层模块不能依赖与下层、抽象不能依赖于具体)
*/ /*
php中有两套正则表达式
1、由PCRE(Perl Compatible Regular Expression)库提供的函数,以'preg_'开头
2、由POSIX(Protable Operating System Interface of UNIX [UNIX可移植操作系统接口],定义了基础正则表达式和扩展正则表达式)扩展提供的函数,以'ereg_'开头
[.!?] 不需要转义
* 断言
* 顺序肯定环视 (?=exp)
* 逆序肯定环视 (?<=exp)
* 顺序否定环视 (?!exp)
* 逆序否定环视 (?<!exp)
*
* 正则的优先级
* \ 转义符
* () (?:) (?=) (?<=) (?!) (?<!) [] 括号和中括号
* ? + * {n,m} 限定符
* ^ $ dsdsdf 定位符和序列
* | 替换
* m|foot (m|f)oot
*
* 正则表达式的常用模式
* i 忽略大小写
* m 多行匹配模式
* s 点通配模式
* U 懒惰匹配模式
* D 结尾限制 'abc\n' /abc/ /abc/D
* u 支持utf-8转义表达式 [\x{4e00}-\x{9fa5}]
* x 忽略表达式中的空白
*
* 效率
* filter_var($email,FILTER_VALIDATE_EMAIL)
* filter_var($url,FILTER_VALIDATE_URL)
*/ /**
* 1xx 提示信息--请求以接受,继续处理
* 2xx 成功
* 3xx 重定向--要完成请求必须进行更进一步的操作
* 4xx 客户端错误
* 5xx 服务端错误
*
* 200 OK
* 400 Bad Request 客户端请求语法错误,不能被服务端所理解
* 401 Unauthorize 请求未经授权
* 403 Forbidden
* 404 Not Found
* 500 Internal Server Error 服务器发生不可预测的错误
* 503 Server Unavailabel 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
*/ /**
* 垃圾信息防御措施
* ip限制
* 获取客户端ip方法 ???
* 验证码
* Token
* createToken verifyToken
* 审核机制
*/ /**
* CURL
* $ch=curl_init()
* curl_setopt($ch,OPTIONS)
* $output=curl_exec($ch);
* // $info=curl_getinfo($ch);
* curl_close($ch)
* OPTIONS :
* CURLOPT_URL
* CURLOPT_RETURNTRANSFER
* CURLOPT_HEADER
* CURLOPT_POST
* CURLOPT_POSTFIELDS
* curl_setopt($ch,CURLOPT_POSTFIELDs,array('foo'=>'bar));
* //上传文件
* curl_setopt($ch,CURLOPT_POSTFIELDs,array('foo'=>'bar','upload'=>'@test.jpg'));
* CURLOPT_HTTPHEADER
* curl_setopt($ch,CURLOPT_HTTPHEADER,array('HTTP_ACCEPT://...',''));
* CURLOPT_COOKIEJAR, 设置cookie保存的文件
* curl_setopt($ch,CURLOPT_COOKIEJAR,tempnam('/tmp','prefix'));
* CURLOPT_COOKIEFILE 指定获取cookie的文件名
* curl_setopt($ch,CURLOPT_COOKIEFIEL,'/tmp/prefix3243234326,tmp');
* CURLOPT_COOKIE 设置cookie
* curl_setopt($ch,CURL_COOKIE,'name=jimmy');
*
*/ /**
* socket
* ob
*/ session_start(); print_r($_SESSION); //$_SESSION['name']='jimmy'; //setcookie(session_name(), session_id(), time()+3600,'/'); ?>
PHP核心技术与最佳实践--笔记的更多相关文章
- PHP核心技术与最佳实践——全局浏览
难得买到并喜欢一本好书,‘PHP核心技术与最佳实践’. 几天时间,先看了个大概,总结一下整体是什么样子的,怎么看怎么学. 1.总共14章: 2.第1.2章讲PHP的OOP: 其中第一章侧重于PHP的O ...
- 温习《PHP 核心技术与最佳实践》这本书
再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容 PHP 核心技术与最佳实践 1.面向对象思想的核心概念 1.1 面向对象的『形』与『本』 1.2 魔术方法的应用 1.2 ...
- web前端开发最佳实践笔记
一.文章开篇 由于最近也比较忙,一方面是忙着公司的事情,另外一方面也是忙着看书和学习,所以没有时间来和大家一起分享知识,现在好了,终于回归博客园的大家庭了,今天我打算来分享一下关于<web前端开 ...
- 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记
1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的.比如 用户表:支付宝8亿,微信10亿.CITIC对公140万,对私8700万. 订单表:美团每天几千 ...
- Mysql索引最佳实践笔记0524
#mysql5.7 innodb默认存储引擎 一.关于索引二.最佳实践三.避坑实践 一.关于索引 1.索引的作用 -提高查询效率 -数据分组.排序 -避免回表查询 -优化聚集查询 -用于多表join关 ...
- 《深入理解Java 7核心技术与最佳实践》读书笔记(2) Java语言动态性引言
Java语言是一种静态类型的编程语言.静态类型的含义是指在编译时进行类型检查.Java源代码中的每个变量的类型都要显式地进行声明.所有变量.方法的参数和方法返回值的类型在程序运行之前就必须是已知的.J ...
- 《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 ...
- 《深入理解Java7核心技术与最佳实践》读书笔记(1.1)---Project Coin介绍
OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议.在Coin项目开始之初,曾经广泛地向社区征求提议.在短短的一个月时间内就收到将近70条提 ...
随机推荐
- Android实现登录
登录界面布局文件 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- iOS创建、删除文件夹、获取沙盒路径
1.获取沙盒路径 // 获取沙盒路径 NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent: ...
- Caliburn.Micro 关闭父窗体打开子窗体
比如我们在做登录的时候需要关闭父窗体打开子窗体.使用Caliburn.Micro它的时候我们关闭登录窗口的时候主页面也会关闭. 解决方法就是在登录页面的CS里面写 IndexView iv = new ...
- rsa && sha1 js code
jsbn.js /* * Copyright (c) 2003-2005 Tom Wu * All Rights Reserved. * * Permission is hereby granted, ...
- Visio作图
1.Microsoft Visio介绍 Visio是一款便于IT和商务专业人员就复杂信息.系统和流程进行可视化处理.分析和交流的软件,也是Microsoft Office办公软件家族中的一个绘图工具软 ...
- XCLNetTools1.0(ASP.NET常用类库)
版权声明:本文为博主原创文章,未经博主允许不得转载. 2016-01-01开放所有源代码: 项目地址:https://github.com/xucongli1989/XCLNetTools 下载地址: ...
- Java集合框架的接口和类层次关系结构图
Collection和Collections的区别 首先要说的是,"Collection" 和 "Collections"是两个不同的概念: 如下图所示,&qu ...
- 避坑宝典:如何选择HTML5游戏引擎
原生手游市场已是红海,腾讯.网易等寡头独霸天下,H5游戏市场成为下一个风口.据笔者所知,很多H5游戏开发团队由于选择引擎不慎导致项目甚至团队夭折. 如何选择适合团队和项目的引擎,笔者通过学习和项目实践 ...
- 烂泥:通过binlog恢复mysql备份之前的数据
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章,我们讲解了如何通过mysql的binlog日志恢复mysql数据库,文章连接为<烂泥:通过binlog恢复mysql数据库>.其 ...
- XP系统下IIS常见的几个问题
随笔说明: 个人笔记.仅供参考 根据日常遇到的相关问题不定期增改 时间:2015年1月7日23:09 Soft:Microsoft .NET Framework 4(独立安装程序) Microsoft ...