欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用分级命名空间实现类的自动加载,写一个trait类, 理解它的功能与使用场景--1010

程序员文章站 2022-03-20 23:18:04
...
  1. 用分级命名空间实现类的自动加载

重点在于命名空间和类所在目录保持一致

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();
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

效果图:


用分级命名空间实现类的自动加载,写一个trait类, 理解它的功能与使用场景--1010

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类, 理解它的功能与使用场景--1010

运行实例 »

点击 "运行实例" 按钮查看在线实例

trait 像类但又不是类,有类的语法但是又不能实例化产生对象,这就好比单身狗不是狗,和众多生物一样要吃喝拉撒,有生产力,但就是没对象//应用场景:一个类需要从多个类中获取成员时使用,就好比女孩子可以有多个备胎,她可以从每个备胎那里都获得一点东西