命名空间、USE在命名空间中的使用、实操MySQL:
一、命名空间1、命名空间的定义:
代码演示2:
二、USE在命名空间中的使用概念:
autoload.php文件
demo1.php运行文件
代码截图:
运行结果:
小结:
三、MySQL的操作类型1、MySQL
DDL、DQL、DML操作
DCL操作
常用操作(CURD)
a. php命名空间只会对类、接口、函数、常量产生影响;
b. 命名空间是解决全局成员的命名冲突
c. 声明命名空间的关键字:namespace
d. 声明命名空间,需在第一行
namespace ns1;
class Demo1{}
class Demo1{}
function Demo1(){}
namespace ns2;
class Demo1{}
// 解决命名冲突问题
代码演示2:
namespace ns1;
class Demo1{
public static function show() {
return __METHOD__;
}
}
namespace ns2;
class Demo2{
public static function hello() {
return __METHOD__; //类文法的名称
}
public static function line() {
return __LINE__;
}
public static function file() {
return __FILE__;
}
}
// 类的完全限定名称 应该包含空间名
echo Demo2::hello() . "<br />"; //类限定的名称
echo Demo2::line() . "<br />"; //代码在哪一行
echo Demo2::file() . "<br />"; //绝对路径+文件名称
// 默认在本空间下解析demo2类
$total = Demo2::class;
echo $total . "<br />";
echo __NAMESPACE__ . "<br />";
// 回调 call_user_func,需要使用类的限定名称调用
echo call_user_func([$total, 'hello']) . "<br />";
echo call_user_func(['\ns2\Demo2', 'hello']); //找不到此类
// call_user_func_array();
// 回调 突然跳出主程序去执行事先预设好的(未知的)程序
二、USE在命名空间中的使用概念:
login.php文件
use:引入另外一个空间中的类
include enquire是引入文件
use不等于reuqire或者include,USE前提是已经把文件引入至当前文件
<?php
namespace app\controller;
class Login{
function login(){
return __METHOD__ . "<br />";
}
}
autoload.php文件
<?php
spl_autoload_register(function($className)
{
echo $className . "<br />";
// 将命名空间分隔符替换成操作系统目录分隔符 为了解决linux系统下,引入带有命名空间的类文件,路径失效的问题
$file = str_replace("\\", DIRECTORY_SEPARATOR, $className) . '.php';
//echo $file;
if (is_file($file) && file_exists($file))
require $file;
});
demo1.php运行文件
<?php
// 使用use 引入另外一个空间的类
namespace demo;
// 引入类的自动加载器
require __DIR__ . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR. 'autoload.php';
// ! use引入另外一个空间到当前控件,as是给该空间起别名,当前的别名与类目一致时,可省略
use app\controller\Login;
use app\controller;
//use app\controller as controller;
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 语言是用于访问数据库的最常用标准化语言
- 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 ‘用户名’@地址;
GRANT ALL ON shop.* TO 'JET01'@localhost;
- 4.撤销授权:GRANT ALL ON 数据库.* FROM JET01@LOCALHOST;
GRANT ALL ON shop.* TO JET01@LOCALHOST;
- 5.删除用户:DROP USER ‘用户名’@地址;
DROP USER 'JET01'@LOCALHOST;
常用操作(CURD)
- 1.创建(Create):
INSERT
- 2.更新(Update):
UPDATE
- 3.删除(Delete):
DELETE
- 4.读取(Read):
SELECT
- 1.INSERT:INSERT INTO 数据表(字段列表) VALUES(字段值列表);
insert into users(username,password,phone,add_time,pv) values('book',123,10086,NOW(),2);
- 2.UPDATE:update 数据表 set 字段=值,… where 条件
update users set username='winwin' where uid=21;
- 3.DELETE: delete 数据表 where 条件
delete from users where uid=18;
- 4.SELECT:select 字段列表 from 数据表 where 条件
【文章转自阿里云服务器代理商 http://www.558idc.com/aliyun.html 复制请保留原URL】
select username from users where uid;