命名空间、USE在命名空间中的使用、实操MySQL:

编辑: admin 分类: 电脑知识 发布时间: 2023-06-14 来源:互联网
一、命名空间1、命名空间的定义:

a. php命名空间只会对类、接口、函数、常量产生影响;
b. 命名空间是解决全局成员的命名冲突
c. 声明命名空间的关键字:namespace
d. 声明命名空间,需在第一行

代码演示1:
  1. namespace ns1;
  2. class Demo1{}
  3. class Demo1{}
  4. function Demo1(){}
  5. namespace ns2;
  6. class Demo1{}
  7. // 解决命名冲突问题


代码演示2:
  1. namespace ns1;
  2. class Demo1{
  3. public static function show() {
  4. return __METHOD__;
  5. }
  6. }
  7. namespace ns2;
  8. class Demo2{
  9. public static function hello() {
  10. return __METHOD__; //类文法的名称
  11. }
  12. public static function line() {
  13. return __LINE__;
  14. }
  15. public static function file() {
  16. return __FILE__;
  17. }
  18. }
  19. // 类的完全限定名称 应该包含空间名
  20. echo Demo2::hello() . "<br />"; //类限定的名称
  21. echo Demo2::line() . "<br />"; //代码在哪一行
  22. echo Demo2::file() . "<br />"; //绝对路径+文件名称
  23. // 默认在本空间下解析demo2类
  24. $total = Demo2::class;
  25. echo $total . "<br />";
  26. echo __NAMESPACE__ . "<br />";
  27. // 回调 call_user_func,需要使用类的限定名称调用
  28. echo call_user_func([$total, 'hello']) . "<br />";
  29. echo call_user_func(['\ns2\Demo2', 'hello']); //找不到此类
  30. // call_user_func_array();
  31. // 回调 突然跳出主程序去执行事先预设好的(未知的)程序



二、USE在命名空间中的使用概念:
  1. use:引入另外一个空间中的类
  2. include enquire是引入文件
  3. use不等于reuqire或者include,USE前提是已经把文件引入至当前文件
login.php文件
  1. <?php
  2. namespace app\controller;
  3. class Login{
  4. function login(){
  5. return __METHOD__ . "<br />";
  6. }
  7. }

autoload.php文件
  1. <?php
  2. spl_autoload_register(function($className)
  3. {
  4. echo $className . "<br />";
  5. // 将命名空间分隔符替换成操作系统目录分隔符 为了解决linux系统下,引入带有命名空间的类文件,路径失效的问题
  6. $file = str_replace("\\", DIRECTORY_SEPARATOR, $className) . '.php';
  7. //echo $file;
  8. if (is_file($file) && file_exists($file))
  9. require $file;
  10. });

demo1.php运行文件
  1. <?php
  2. // 使用use 引入另外一个空间的类
  3. namespace demo;
  4. // 引入类的自动加载器
  5. require __DIR__ . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR. 'autoload.php';
  6. // ! use引入另外一个空间到当前控件,as是给该空间起别名,当前的别名与类目一致时,可省略
  7. use app\controller\Login;
  8. use app\controller;
  9. //use app\controller as controller;
  10. echo (new controller\Login)->login();

代码截图:


运行结果:


小结:

1、由此可见,use之前需要使用require引入自动加载类(atutoload.php)文件;
2、通过自动加载器,demo.php通过自动加载器加载Login.php文件的login方法
3、use引入另外一个空间到当前空间,as是给该空间起别名,当前别名与类目录一致时,可以省略



三、MySQL的操作类型1、MySQL
  • MySQL: 关系型数据库管理系统
  • MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言
2、操作类型:DDL、DQL、DML、DCL
  • DDL: 数据定义语言(Data Definition Language)
    登录:mysql -u root -p
    查询 show databases;
    选择数据表 use 数据库名;
  • DQL: 数据查询语言(Data Query Language)
  • DML: 数据操作语言(Data Manipulation Language)
  • DCL: 数据控制语言(Data Control Language)

DDL、DQL、DML操作
  • 登录:mysql -u root -p


  • 查询:show databases;


  • 选择数据表:use 数据库名


  • 查询表结构:desc users;


  • 查询表数据:select * from users;


DCL操作
  • 1.查看用户权限:show grants for ‘’@地址;


  • 2.创建用户:CREATE USER ‘用户名’@地址 IDENTIFIED BY ‘密码’;


  • 3.给用户授权:GRANT 权限1, … , 权限n ON 数据库.* TO ‘用户名’@地址;
  1. GRANT ALL ON shop.* TO 'JET01'@localhost;


  • 4.撤销授权:GRANT ALL ON 数据库.* FROM JET01@LOCALHOST;
  1. GRANT ALL ON shop.* TO JET01@LOCALHOST;


  • 5.删除用户:DROP USER ‘用户名’@地址;
  1. DROP USER 'JET01'@LOCALHOST;


常用操作(CURD)
  • 1.创建(Create):INSERT
  • 2.更新(Update):UPDATE
  • 3.删除(Delete):DELETE
  • 4.读取(Read):SELECT

  • 1.INSERT:INSERT INTO 数据表(字段列表) VALUES(字段值列表);
  1. insert into users(username,password,phone,add_time,pv) values('book',123,10086,NOW(),2);


  • 2.UPDATE:update 数据表 set 字段=值,… where 条件
  1. update users set username='winwin' where uid=21;


  • 3.DELETE: delete 数据表 where 条件
  1. delete from users where uid=18;


  • 4.SELECT:select 字段列表 from 数据表 where 条件
  1. select username from users where uid;

【文章转自阿里云服务器代理商 http://www.558idc.com/aliyun.html 复制请保留原URL】