PDO笔记、命名空间 PDO SQL语句预处理

1 命名空间

  • 概念:命名空间是一种封装事物的方法,例如:类,方法,函数等。
  • 作用:用来解决类名或应用程序名冲突问题
  • 举例:项目中会用到第三方类,第三方类加载进来后,可能与项目中的类名冲突

1.1定义命名空间的要求

  1. 使用namespace关键字,来声明一个命名空间;
  2. 所有的代码都可以存在于命名空间中,但只有三种代码会受影响常量(const)、函数、类
  3. 除了以上三种外,其他代码可以写在空间中,但不受空间影响,相当于全局代码,可以在任何地方使用
  4. 全局代码所在的空间称为:根空间、全局空间
  5. 声明命名空间的语句,必须是PHP脚本的第一行代码:空格、空行都不行;

1.2 定义子命名空间

  • 文件夹可以有子目录,命名空间也有子空间
  • 目录的分隔符号正斜杠(/),空间路径的分隔符号是反斜杠(\)
  • 举例:namepspace Father / child / grandchildren;

1.3 同一个文件定义多个命名空间

1.3.1 简单组合
  • 不建议同一个文件定义多个空间
    在这里插入图片描述
1.3.2 大括号语法
  • 用大括号把空间的代码包起来
1.3.3 不包含在命名空间中的代码

在这里插入图片描述

1.4 访问命名空间中元素的方式

  • 非限定名称(不含前缀)。
  • 如果访问$obj= new Student()
  • 它的完整路径是:$obj =new curSpace\Student()
  • 限定名称(含有相对前缀)。
  • 如果访问$obj= new Home\Student()
  • 它的完整路径是:$obj =new curSpace\ Home\Student()
  • 完全限定名称(含有绝对路径
  • 如果访问$obj= new Home\Controller\Student()
  • 它的完整路径是:$obj =new Home\Controller\Student()

1.5 namespace关键字与魔术常量__NAMESPACE__

1.5.1 namespace关键字
  • 声明空间关键字
  • 可以用来直接代替当前空间名,相当于self关键字
1.5.2 魔术常量__NAMESPACE__
  • 获取当前命名空间的字符串名称

1.6 命名空间的别名/导入

  • 首先导入空间中的类,常量和函数不能导入
  • 使用use关键字导入空间中的类。如:use Home\Controller\Student
  • 使用use关键字导入空间名。
  • 使用as关键字,可以给空间或类起别名。
  • 给空间起别名:use Home\Controller as Controller
  • 给空间中的类起别名:use Home\Controller\Student as Student2

1.7 命名空间在项目中的使用

//(1)类的自动加载
spl_autoload_register(function($className){
   
    //将带空间的类名,转成真实的类文件路径
    //传递过来的类名为:\Libs\Frame\Db
    //类文件真实路径为:./Libs/Frame/Db.class.php
    $fileName="./".str_replace('\\','/',$className).".class.php";
    //如果类文件存在,则包含
    if(file_exists($fileName))
        require_once ($fileName);
});
//(2)创建数据库类的对象
$arr=array(
    'db_host'=>'localhost',
    'db_user'=>'root',
    'db_pass'=>'',
    'db_name'=>'newdb3',
    'charset'=>'utf8'
);

$db=\Libs\Frame\Db::getInstance($arr);
var_dump($db);

2 PDO

2.1什么是PDO

  • PDO就是PHP Data Object的简称
  • PDO主要用来代替数据库操作类
  • PDO就是一个系统类
  • PDO拓展为PHP访问数据库定义了一个轻量级的、一致性的接口无论使用什么类型数据库,都可以通过一致的函数(方法)来执行查询和获取数据
  • PDO是一个数据库访问抽象层,作用是统一各种数据的访问接口,不需封装数据库从操作类,只需使用PDO的方法就可以对各种数据库进行操作。在选择不同数据库时,只需修改PDO的DSN即可

2.2 PDO访问流程

在这里插入图片描述

2.3 PDO连接MySQL

  • 创建一个表示数据库连接的PDO对象
  • PDO::__construct(string $dsn [,string $username [,string $password ] ] )<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值