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

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

风吹的博客
风吹的博客原创
2019年11月12日 16:46:41676浏览
  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();
?>

运行实例 »

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

效果图:


自动加载.png

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.png

运行实例 »

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

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议