批改状态:合格
老师批语:完成的不错。
用分级命名空间实现类的自动加载
重点在于命名空间和类所在目录保持一致
1.先创建一个text1.php用来保存要自动加载的内容
<?php
namespace _1010\a\b\c;
class k
{
public static function demo()
{
echo "类自动加载成功!";
}
}
?>点击 "运行实例" 按钮查看在线实例
再创建一个demo1.php用来自动加载
<?php namespace _1010; include "a\b\c/text1.php"; use _1010\a\b\c\k; echo k::demo(); ?>
点击 "运行实例" 按钮查看在线实例
效果图:

2.写一个trait
<?php
namespace _10101;
trait kk
{
public static function l($q,$w)
{
return ($q-$w);
}
}
echo $a=kk::l(9999,111);
echo '<br>';
trait kkk
{
public static function m($e,$r)
{
return ($e+$r);
}
}
echo $b=kkk::m(555555,1111111);
echo '<br>';
class k
{
use kk;
use kkk;
public static function t($b,$a)
{
return "{$b}+{$a}=".($b+$a);
}
}
echo k::t($b,$a);
?>
点击 "运行实例" 按钮查看在线实例
trait 像类但又不是类,有类的语法但是又不能实例化产生对象,这就好比单身狗不是狗,和众多生物一样要吃喝拉撒,有生产力,但就是没对象//应用场景:一个类需要从多个类中获取成员时使用,就好比女孩子可以有多个备胎,她可以从每个备胎那里都获得一点东西
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号