博客列表 >php学习笔记(类的别名引入与命名冲突的解决方案),数据库常用操作命令总结

php学习笔记(类的别名引入与命名冲突的解决方案),数据库常用操作命令总结

庖丁
庖丁原创
2021年03月02日 15:28:44809浏览

1. 通过空间引用类的三种方式

  1. <?php
  2. namespace C {
  3. class Banji
  4. {
  5. //...
  6. }
  7. //1、非限定名称,访问当前空间下的类
  8. echo Banji::class;
  9. //2、限定名称,访问下级空间中的类
  10. echo C1\Banji::class;
  11. //3、完全限定名称,访问上级空间或者不属于该空间及下级空间的类
  12. echo \D\Banji::class;
  13. }
  14. namespace C\C1 {
  15. class Banji
  16. {
  17. //...
  18. }
  19. }
  20. namespace D {
  21. class Banji
  22. {
  23. //...
  24. }
  25. }

2.动态类的引用,必须使用完全限制名称

  1. <?php
  2. namespace C {
  3. class Banji
  4. {
  5. const NAME = '动态类';
  6. //...
  7. }
  8. $dongtai = '\C\Banji';
  9. // echo '动态类'
  10. echo $dongtai::NAME;
  11. }

3. 类的别名引入与命名冲突的解决方案是使用别名

别名的使用有两个应用场景:1、简化长的名字 2、解决命名冲突

  1. <?php
  2. namespace C\qq {
  3. class Banji
  4. {
  5. //...
  6. }
  7. //加载模块
  8. require '2-1.php';
  9. //当前类中有名字和引用类名重名时要使用别名
  10. use \C\weichat\Banji as grad;
  11. $bj = new grad;
  12. var_dump($bj);
  13. }

4. 自动加载类的示例代码

  1. <?php
  2. spl_autoload_register(function($class){
  3. $file = str_replace('\\',DIRECTORY_SEPARATOR,$class).'.php';
  4. require $file;
  5. });

5. 数据库常用操作命令

数据定义 create alter drop
数据操作 insert delete update select
数据控制 grant revoke
事件控制 commit rollback

  1. //创建数据库
  2. create database newphp;
  3. //删除数据库
  4. drop database newphp;
  5. //创建数据库并校验字符集
  6. create database newphp collate utf8mb4_unicode_ci;
  7. //查看建库语句
  8. show create database newphp;
  9. //创建数据表
  10. create table yuangong(
  11. yid int unsigned auto_increment primary key,
  12. name varchar(20) not null comment '姓名',
  13. gender enum('male','female') not null comment '性别',
  14. email varchar(100) not null comment '邮箱',
  15. birthday date not null comment '生日',
  16. create_at timestamp not null default current_timestamp comment '创建日期',
  17. updata_at timestamp not null default current_timestamp on update current_timestamp comment '更新日期'
  18. ) engine = innodb auto_increment = 1 collate utf8mb4_unicode_ci;
  19. //查看建表语句
  20. show create table yuangong;
  21. //查看库中所有的表
  22. show tables;
  23. //删除表操作
  24. drop table yuangong;
  25. //修改表操作
  26. //增加字段
  27. alter table yuangong add address varchar(100) comment '员工地址' after birthday;
  28. //更新字段
  29. alter table yuangong change address salary float unsigned not null default 3000 comment '员工工资' after birthday;
  30. //删除字段
  31. alter table yuangong drop address;
  32. //数据表操作CURD
  33. // mysql插入数据方法1
  34. insert yuangong(name,gender,salary,email,birthday)
  35. values('张三','male',5000,'zhangsan@163.com','1986-02-01');
  36. //mysql插入数据方法2
  37. insert yuangong set name='李四',gender='female',salary=3000,email='lisi@163.com',birthday='1984-02-21';
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议