批改状态:合格
老师批语:如果要在页面中回显新增的记录, 可以按以下思路:
1. 获取到新增记录的主键id
2. 根据id进行查询
3. 将查询结果显示在信息列表中, 再刷新它就可以了
一、写一个分级的命名空间, 并实现类的自动加载,
分级命名空间,创建如下代码类:
<?php
namespace _1010\one\two\three;
class Test1
{
public static function demo1()
{
return '原理是这样';
}
}
class Test2
{
public static function demo2()
{
return '请问你在干什么';
}
}
class Test3
{
public static function demo3()
{
return '你好啊';
}
}点击 "运行实例" 按钮查看在线实例
在另一个脚本中引入,这个脚本,再用use 创建
<?php //命名空间的别名引用 namespace _1010; include __DIR__.'/test.php'; //use 如果省略as,那么当前类的别名就是当前类去掉空间名称的类名 //use 默认从全局开始,可以省略掉:\,as 给当前的空间名称起一个别名; use _1010\one\two\three\Test1; echo Test1::demo1(); echo '<hr>'; use _1010\one\two\three\Test2; echo Test2::demo2(); echo '<hr>'; use _1010\one\two\three\Test3; echo Test3::demo3();
点击 "运行实例" 按钮查看在线实例

二、写一个trait类, 理解它的功能与使用场景
<?php
namespace _1010;
use PDO;
//trait是个方法集,可以当父类来使用
trait Db
{
//连接数据库
public function connect($dsn, $username, $password)
{
return new PDO($dsn, $username, $password);
}
}
trait Create //创建一个添加数据的方法trait类库
{
public function get($data)
{
$table='student';
//字段列表
$fields=' ( name, course, grade) ';
//值列表
$values=' (:name, :course, :grade) ';
$sql=' INSERT INTO '.$table.$fields. 'VALUES' .$values;
$stmt = $this->pdo->prepare($sql);
$stmt->execute($data);
}
}
//客户端调用:工作类
class Client
{
//在宿主类中引用上面声明的二个Trait类/方法库
use Db;
use Create;
public $pdo=null;
public function __construct($dsn,$username,$password)
{ //调用的是Trait:Db中的方法
$this->pdo = $this->connect($dsn, $username, $password);
}
//调用的是Trait:Create的方法
public function xin($data){
return $this->get($data);
}
}
$dsn='mysql:dbname=myblog';
$username='root';
$password='root';
$db = new Client($dsn,$username,$password);
$data = [
'name' => '周星驰',
'course' => 'js',
'grade' => 80,
];
$res = $db->xin($data);点击 "运行实例" 按钮查看在线实例
未执行的时候,数据库

执行后的数据库,请老师帮忙检察指导一下,谢谢

总结:朱老师,我这个trait类的方法是新增数据库数据,
但是没有优化好。测试了中是可以新加数据的。
但是没有做出能在页面中显示出来添加成功的数据。希望老师帮忙指导优化一下!谢谢
trait类,用在的场景就是复制一个类中的方法,需要用子类继承使用的时候不用真的改变其他正常父类的方法。从而方便自己团队使用!另外可以当成一个类方法的库。一个子类可以继承多个trait类的方法!
PS:今日11月5日,最近学习到larveal 框架了,都是用命名空间自动加载类的方法。目前在往这方面的视频加强学习!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号