Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
<?php
namespace _221116a;
// *子类调用父类里边的方法
class SanGuo{
public static function welcome(){
// return '欢迎,三国演义';
return __METHOD__;
}
}
class SuGuo extends SanGuo{
}
echo SuGuo::welcome().'<br>';
echo SuGuo::class.'<br>';
echo call_user_func([SuGuo::class,'welcome']);
<?php
namespace _221116b;
// *一个类实现多个接口
interface iWei{
public static function CaoCao();
}
interface iSu{
public static function LiuBei();
}
interface iWu{
public static function SunQuan();
}
class Jin implements iWei,iSu,iWu{
public static function CaoCao(){
return __METHOD__;
}
public static function LiuBei(){
return __METHOD__;
}
public static function SunQuan(){
return __METHOD__;
}
}
echo call_user_func([Jin::class,'CaoCao']).'<br>';
echo call_user_func([Jin::class,'LiuBei']).'<br>';
echo call_user_func([Jin::class,'SunQuan']).'<br>';
<?php
namespace _221116c;
// *采用trait
trait tSanGuo{
public static function zgl(){
return __METHOD__;
}
}
trait tSuiHu{
public static function sj(){
return __METHOD__;
}
}
class Student{
use tSanGuo;
use tSuiHu;
}
echo call_user_func([Student::class,'zgl']).'<br>';
echo call_user_func([Student::class,'sj']).'<br>';
<?php
// *实现自动所需的3个条件
// *1.一个文件只有一个类
// *2.这个类名和文件名称必须一致
// *3.这个类的命名空间,必须映射到类文件所在的路径
namespace admin\controller;
class Demo1{
public static function index(){
return __METHOD__;
}
}
<?php
// *实现自动所需的3个条件
// *1.一个文件只有一个类
// *2.这个类名和文件名称必须一致
// *3.这个类的命名空间,必须映射到类文件所在的路径
namespace admin\controller;
class Demo2{
public static function index(){
return __METHOD__;
}
}
<?php
// *实现自动所需的3个条件
// *1.一个文件只有一个类
// *2.这个类名和文件名称必须一致
// *3.这个类的命名空间,必须映射到类文件所在的路径
namespace admin\controller;
class Demo3{
public static function index(){
return __METHOD__;
}
}
<?php
namespace admin;
// namespace admin\controller;
// *非自动加载下的完全限定名称,限定名称,非限定名称这三种方法
// *自动加载器下的完全限定名称,限定名称,非限定名称这三种方法
// *自动加载器下判断类文件是否存在
// *一行代码
spl_autoload_register(function($class){
// require __DIR__ . DIRECTORY_SEPARATOR. $class.'.php';
$path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
// require $path.'.php';
$file = $path.'.php';
// *判断是否存在'\\'分隔的类文件,如果有则依赖该文件
if (file_exists($file)) {
require $file;
}
// require $class.'.php';
});
// echo __NAMESPACE__.'<br>';
// // *可使用非自动加载
// require __DIR__ . '/admin/controller/Demo1.php';
// require __DIR__.'/admin/controller/Demo2.php';
// require __DIR__.'/admin/controller/Demo3.php';
// *访问3个控制器中的方法(完全限定名称)
echo \admin\controller\Demo1::index().'<br>';
echo \admin\controller\Demo2::index().'<br>';
echo \admin\controller\Demo3::index().'<br>';
// *访问3个控制器中的方法(限定名称(相对路径))
echo controller\Demo1::index().'<br>';
echo controller\Demo2::index().'<br>';
echo controller\Demo3::index().'<br>';
// *非限定名称: 相对路径
use admin\controller\Demo1;
use admin\controller\Demo2;
use admin\controller\Demo3;
echo Demo1::index(). '<br>';
echo Demo2::index(). '<br>';
echo Demo3::index(). '<br>';
<?php
// *利用autoload.php文件代替自动加载器
namespace admin\controller;
require 'autoload.php';
echo Demo1::index(). '<br>';
echo Demo2::index(). '<br>';
echo Demo3::index(). '<br>';
<?php
spl_autoload_register(function($class){
// echo $class;
//require __DIR__ . DIRECTORY_SEPARATOR. $class.'.php';
$path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
// require $path.'.php';
$file = $path.'.php';
// *判断是否存在'\\'分隔的类文件,如果有则依赖该文件
if (file_exists($file)) {
require $file;
}
// require $class.'.php';
});
<?php
namespace db2;
// *连接数据库
// *1.连接数据库首先要加这句
use PDO;
// *2连接数据库
// $dsn='mysql:host=localhost;dbname=phpedu1;port:3306;charset=utf8';
// $username='root';
// $password='root';
// $db=new PDO($dsn,$username,$password);
$dbConfig = require 'database.php';
// print_r($dbConfig);
extract($dbConfig);
$dsn = $type. ':host='. $host.';dbname='.$dbname;
$db =new PDO($dsn, $username, $password);
// var_dump($db);
<?php
namespace db3;
// *数据库连接参数
return [
// *数据库类型
'type'=>'mysql',
// *主机ip
'host' => 'localhost',
// *默认数据库
'dbname' => 'phpedu1',
// *默认端口
'port' => '3306',
// *默认用户
'username' => 'root',
// *默认用户的密码
'password' => 'root',
//* 默认字符集编码
'charset' => 'utf8',
];
<?php
namespace db1;
// *连接数据库
// *1.连接数据库首先要加这句
use PDO;
// *2连接数据库
require __DIR__ .'/config/connect.php';
// var_dump($db);
<?php
namespace db4;
use PDO;
use PDOStatement;
// *插入-1
// * 1. 连接数据库
require __DIR__ . '/config/connect.php';
//* 2. CURD
// *新增
// *INSERT INTO 表名 (字段名1,字段名2,字段名3,...) VALUES (值1,值2,值3,...)
//* INSERT 表名 (字段名1,字段名2,字段名3,...) VALUES (值1,值2,值3,...)
//* 如是mysql,且单条,还可以简化
// *INSERT 表名 SET 字段名1=值1,字段名2=,值2,字段名3=值3,...
//* SELECT * FROM `staff` WHERE 1
/**
* *1. SQL关键字全部大写
* *2. 表名,字段名必须要反引号,防止和关键字冲突
*/
// $sql = "INSERT `staff` SET `name`='张三',`sex`=0,`email`='12345@php.cn'";
$sql="INSERT INTO staff(`name`,`sex`,`eamil`)VALUES('李四',0,'1234567@php.cn')";
//* 创建sql语句对象
// *new PDOStatement
$stmt =$db->prepare($sql);
// var_dump($stmt);
//* 执行sql
if ($stmt->execute()) {
echo '插入成功';
}