<?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核心技术与最佳实践--笔记的更多相关文章

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

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

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

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

  3. web前端开发最佳实践笔记

    一.文章开篇 由于最近也比较忙,一方面是忙着公司的事情,另外一方面也是忙着看书和学习,所以没有时间来和大家一起分享知识,现在好了,终于回归博客园的大家庭了,今天我打算来分享一下关于<web前端开 ...

  4. 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记

    1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的.比如 用户表:支付宝8亿,微信10亿.CITIC对公140万,对私8700万. 订单表:美团每天几千 ...

  5. Mysql索引最佳实践笔记0524

    #mysql5.7 innodb默认存储引擎 一.关于索引二.最佳实践三.避坑实践 一.关于索引 1.索引的作用 -提高查询效率 -数据分组.排序 -避免回表查询 -优化聚集查询 -用于多表join关 ...

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

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

  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. 《深入理解Java7核心技术与最佳实践》读书笔记(1.1)---Project Coin介绍

    OpenJDK中的Coin项目(Project Coin)的目的就是为了收集对Java语言的语法进行增强的建议.在Coin项目开始之初,曾经广泛地向社区征求提议.在短短的一个月时间内就收到将近70条提 ...

随机推荐

  1. Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入

    package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...

  2. Android中的XML解析

    在安卓中主要有三种XML文档解析方式:DOM(Document Object Model), SAX(Simple API for XML), PULL 他们的主要特点如下表:   特点 主要类 DO ...

  3. Swift开发第十二篇——protocol组合&static和class

    本篇分为两部分: 一.Swift 中 protocol 组合的使用 二.Swfit 中 static和class 的使用 一.Swift 中 protocol 组合的使用 在 Swift 中我们可以使 ...

  4. iOS-UITableView的优化(纯手打原创)

    TableView的优化 一:什么是TableView的优化以及为什么要优化 1)CPU(中央处理器)和GPU(图形处理器)   CPU主要从事逻辑计算的一些工作 GPU主要从事图形处理方面的工作 2 ...

  5. jar 命令 打包装class文件的文件夹

    由于将spring源代码导入到eclipse后,缺少jar包,     所以从maven仓库中下载spring发布的spring-core  jar包. 为了方便理解目录结构,使用tree命令: tr ...

  6. IT行业常见职位职业路线图

    我曾经面试过一些计算机相关毕业的应届生,问他希望做什么工作时,他回答只要是软件开发就好了,再细问一下你了解到的软件开发是怎样的?除了软件开发,还有其它什么工作?就答不出来了. 这里我先给出一张IT知识 ...

  7. macbook安装win7

    通常大家都喜欢购买苹果电脑,因为配置高,速度快,但是却不喜欢使用ios系统,这时候需要在macbook上安装windows系统 全新的macbook进行windows的安装,基本大家都会,使用boot ...

  8. javascript和web debug技术

    在前端开发中,调试技术是必不可少的技能,本文将介绍五种前端开发必备的调试技术. Weinre移动调试 DOM 断点 debugger断点 native方法hook 远程映射本地调试 Weinre 在移 ...

  9. informatica powercenter学习笔记(LookUp 使用)

    LOOKUP TRANSFORMATION的使用点评: LOOKUP基本用法不熟的话请参考下附属信息. 用法感受: 1 LOOKUP的作用跟我们以前在EXCEL的函数功能类似,就是隔表取值.优点就是用 ...

  10. ORACLE绑定变量隐式转换导致性能问题

    年后一次系统升级后,监控数据库的工具DPA发现数据库的Total Wait时间突然飙增,如下截图所示,数据库的总体等待时间对比升级前飙增了非常多 另外就是发现出现了较多的等待事件,主要有latch: ...