博客列表 >PHP基础知识:命名空间的使用、自动加载器和数据库操作

PHP基础知识:命名空间的使用、自动加载器和数据库操作

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2021年02月25日 14:42:20733浏览

一、命名空间的使用:

1.非限定名称:当前空间下使用,类名无空间前缀
2.限定名称:相对路径,类名无全局空间前缀
3.完全限定名称:绝对路径从根空间开始访问\表示根空间
4.通过use关键字来调用命名空间的类,可以通过as关键字简化或起别名避免冲突;如果别名和类名相同时,use语句可以省略as关键字和别名;
5.案例

  1. <?php
  2. //命名空间引用方式
  3. // 非限定名称
  4. namespace one
  5. {
  6. class Demo{}
  7. $str=Demo::class;//非限定名称(当前空间中成员的调用)
  8. echo $str."<br>";
  9. $str=two\Demo::class;//限定名称(相对当前空间相对路径)
  10. echo $str."<br>";
  11. }
  12. namespace one\two
  13. {
  14. class Demo{}
  15. $str = \one\Demo::class;//完全限定名称(从跟空间开始,调用其他空间的成员)
  16. echo $str;
  17. }
  18. namespace {
  19. echo "<hr>";
  20. }

二、自动加载函数

1.自动加载函数:spl_autoload_register();
2.自动加载函数的参数:匿名函数(闭包);
3.自适用目录分割符常量:DIRECTORY_SEPARATOR;
4.自动加载器

  1. <?php
  2. //自动加载函数
  3. spl_autoload_register(function($class){
  4. //将类空间名称与类文件所在的路径进行映射,实现自动加载
  5. $url=str_replace("\\",DIRECTORY_SEPARATOR,$class);
  6. require $url.".php";
  7. });

三、数据库操作

1.数据库

  • 创建
    create database 数据库名 collate 校验字符集;常见校验字符集:utf8mb4_unicode_ci`

  • 选择默认数据库
    use 数据库名;

  • 查看所有数据库
    show databases;或者select

  • 查看建库语句
    show create database 数据库名;

  • 状态(只能在命令行执行)
    status

  • 删除
    drop database 数据库;

2.数据表

  • 创建
  1. create table staffs(
  2. sid int unsigned auto_increment not null primary key,
  3. name varchar(20) not null comment '姓名',
  4. gender enum('male','female') not null comment '性别',
  5. email varchar(150) not null comment '邮箱',
  6. birthday date not null comment '生日',
  7. create_at timestamp not null default current_timestamp comment '创建日期',
  8. update_at timestamp not null default current_timestamp on update current_timestamp comment '更新日期'
  9. ) engine = innodb auto_increment = 1 collate = utf8mb4_unicode_ci;
  • 结构
    desc 表名;

  • 建表语句
    show create table 表名;

  • 查看数据库中的表
    show tables;

  • 增加字段
    alter table staffs add salary int unsigned not null default 2000 after gender;

  • 更新字段
    alter table staffs change salary salary float unsigned not null default 3000 after gender;

  • 删除字段
    alter table staffs drop email;

  • 删除表
    drop table staffs;

  • 清空表数据
    truncate table staffs;

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议