2018-06-27 基础应用

时间:2022-12-08 20:51:16

(1)PHP mktime() 函数

mktime() 函数返回一个日期的 UNIX 时间戳。

语法 mktime(hour,minute,second,month,day,year,is_dst);

结论:注意参数顺序。

 


 

(2)PDO中一共提供了三种不同的错误处理模式

① PDO::ERRMODE_SILENT:不报错误
② PDO::ERRMODE_WARNING:以警告的方式报错
③ PDO::ERRMODE_EXCEPTION:以异常的方式报错

silent 沉默的      exception 例外

 


 

(3)validating过滤器和sanitizing过滤器

validating过滤器:
1.用于验证用户输入。
2.严格的格式规则。(比如 URL 或 E-Mail 验证)
3.如果成功则返回预期的类型,失败则返回 false。
sanitizing过滤器:
1.用于允许或禁止字符串中指定的字符。
2.无数据格式规则。
3.始终返回字符串。

Validation 用于校验数据。例如,在filter_var($variable)中传入FILTER_VALIDATE_EMAIL,会校验$variable是否为合法的email地址。

Sanitization 用于修正数据,不校验数据。例如,在filter_var($variable)中传入FILTER_SANITIZE_EMAIL$variable变量中不符合email地址规则的字符将会被修剪。

Validation 校验通过返回数据,校验失败返回false
Sanitization 返回修正后的数据,无论修正是否起作用。

单词:Validating 验证     sanitizing 消毒,净化

 


 

(4)__clone方法

class A{
    public $num=100;
}
$a = new A();
$b = clone $a;
$a->num=200;
echo $b->num;

结果为:100。

这种方式是完全克隆了一个a,a和b指向内存中不同的数据(只不过数据值是相同的而已),修改任意一个不会对另一个造成影响。

 


 

(5)PHP 重载

PHP所提供的"重载"(overloading)是指动态地"创建"类属性和方法。我们是通过魔术方法(magic methods)来实现的。

一、属性重载

  在给不可访问属性赋值时,__set() 会被调用。public void __set ( string $name , mixed $value )。
  读取不可访问属性的值时,__get() 会被调用。public mixed __get ( string $name )。
  当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用。public bool __isset ( string $name )。
  当对不可访问属性调用 unset() 时,__unset() 会被调用。public void __unset ( string $name )。

  注意:参数  $name 是指要操作的变量名称。__set() 方法的  $value 参数指定了  $name 变量的值。

                  属性重载只能在对象中进行。在静态方法中,这些魔术方法将不会被调用。所以这些方法都不能被 声明为 static。从 PHP 5.3.0 起, 将这些魔术方法定义为 static 会产生一个警告。

二、方法重载

        在对象中调用一个不可访问方法时,__call() 会被调用。public mixed __call (string $name , array $arguments )。

        在静态上下文中调用一个不可访问方法时,__callStatic() 会被调用。public static mixed __callStatic (string $name , array $arguments )。

 


 

(6)php请求方式:

表单提交的方式:只有GET和POST。

HTTP的请求方式:

      基本的四种:POST、GET、PUT、DELETE;

      其他的几种:OPTIONS、HEAD、TRACE、CONNECT、......。

简单描述:

GET: 请求指定的页面信息,并返回实体主体。
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
HEAD: 只请求页面的首部。
OPTIONS: 允许客户端查看服务器的性能。
TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。
PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别。
MOVE: 请求服务器将指定的页面移至另一个网络地址。
COPY: 请求服务器将指定的页面拷贝至另一个网络地址。
LINK: 请求服务器建立链接关系。
UNLINK: 断开链接关系。
WRAPPED: 允许客户端发送经过封装的请求。
Extension-mothed:在不改动协议的前提下,可增加另外的方法。


(7)PHP array_count_values() 函数

array_count_values() 函数对数组中的所有值进行计数。返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数。

$a=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($a));

结果为:Array ( [A] => 2 [Cat] => 1 [Dog] => 2 )。


(8)PDO对象中的成员方法:

当PDO对象创建成功以后,与数据库的连接已经建立,就可以使用PDO对象了,下面哪个不是PDO对象中的成员方法?

A .errorInfo()   B.  bindParam()    C .exec()    D. prepare()

正确答案:B。解析:答案B是PDOStatement的成员方法,不是PDO的成员方法。

关于PDO和PDOStatement的成员方法:

  PDO PDOStatement
beginTransaction 启动一个事务  
commit 提交一个事务  
__construct 创建一个表示数据库连接的 PDO 实例  
errorCode 获取跟数据库句柄上一次操作相关的 SQLSTATE 获取跟数据库句柄上一次操作相关的 SQLSTATE
errorInfo 获取跟上一次语句句柄操作相关的扩展错误信息 获取跟上一次语句句柄操作相关的扩展错误信息
exec 执行一条 SQL 语句,并返回受影响的行数  
execute 没有该方法 执行一条预处理语句
getAttribute 取回一个数据库连接的属性 检索一个语句属性
getAvailableDrivers 返回一个可用驱动的数组  
inTransaction 检查是否在一个事务内  
lastInsertId 返回最后插入行的ID或序列值  
prepare 为执行准备一条SQL语句。  
query 执行SQL语句返回结果集。  
quote Quotes a string for use in a query  
rollBack 回滚一个事务  
setAttribute 设置属性 设置一个语句属性
bindColumn   绑定一列到一个 PHP 变量
bindParam   绑定一个参数到指定的变量名
bindValue   把一个值绑定到一个参数
closeCursor   关闭游标,使语句能再次被执行。
columnCount   返回结果集中的列数
debugDumpParams   打印一条 SQL 预处理命令
fetch   从结果集中获取下一行
fetchAll   返回一个包含结果集中所有行的数组
fetchColumn   从结果集中的下一行返回单独的一列。
fetchObject   获取下一行并作为一个对象返回。
getColumnMeta   返回结果集中一列的元数据
nextRowset   在一个多行集语句句柄中推进到下一个行集
rowCount   返回受上一个 SQL 语句影响的行数
setFetchMode  

为语句设置默认的获取模式。