批改状态:合格
老师批语:
a. php命名空间只会对类、接口、函数、常量产生影响;
b. 命名空间是解决全局成员的命名冲突
c. 声明命名空间的关键字:namespace
d. 声明命名空间,需在第一行
namespace ns1;class Demo1{}class Demo1{}function Demo1(){}namespace ns2;class Demo1{}// 解决命名冲突问题

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:引入另外一个空间中的类include enquire是引入文件use不等于reuqire或者include,USE前提是已经把文件引入至当前文件
<?phpnamespace app\controller;class Login{function login(){return __METHOD__ . "<br />";}}
<?phpspl_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;});
<?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 -u root -p查询 show databases;选择数据表 use 数据库名;






GRANT ALL ON shop.* TO 'JET01'@localhost;

GRANT ALL ON shop.* TO JET01@LOCALHOST;

DROP USER 'JET01'@LOCALHOST;

INSERTUPDATEDELETESELECT
insert into users(username,password,phone,add_time,pv) values('book',123,10086,NOW(),2);

update users set username='winwin' where uid=21;

delete from users where uid=18;

select username from users where uid;

Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号