博客列表 >508使用use 导入空间/别名

508使用use 导入空间/别名

1A7498的博客
1A7498的博客原创
2018年05月12日 18:36:53677浏览
<?php
namespace ONE;
require 'XinXi.php';
//spl_autoload_register(function ($className)
//{
//    require $className.'.php';
//});
class ONE
{
    //属性声明
    private $name='';// 姓名
    private $age=0;// 年龄
    private $email='123.123';// 邮箱
    private $data=[];//自定义数据收集器
    //构造方法
    public function __construct($name='',$age=0,$email='123.123')
    {
        $this->name=$name;
        $this->age=$age;
        $this->email=$email;
    }

    //魔术方法:查询器
    public function __get($name)
    {
        $msg=null;
        if(isset($this->$name)){
            $msg= $this->$name;
        }elseif(isset ($this->data[$name])){
            $msg= $this->data[$name];
        }else{
            $msg='无此属性';
        }
        return $msg;
    }

    //魔术方法:设置器
    public function __set($name,$value)
    {
        if(isset($this->$name)){
            $this->$name=$value;
        }else{
            $this->data[$name]=$value;//如果属性不存在,创建它并保存到类属性$data数组中
        }
    }
}
$one = new ONE('XXL',18,'456.456');
echo print_r($one);
echo '<hr>';
echo '姓名:'.$one->name.'<br>年龄:'.$one->age.'<br>邮箱:'.$one->email;
echo '<hr>';
use XinXi\XinXi as xigua;//导入外部空间类并取别名xigua;
$xinxi = new xigua();
echo '姓名:'.$xinxi->name.'<br>年龄:'.$xinxi->age.'<br>邮箱:'.$xinxi->email();


?>
<?php
namespace XinXi;
class XinXi
{
    protected $name='';
    protected $email='';
    protected $age='';
    const school = 'xiaoxue';
    //构造方法
    public function __construct($name='lei1',$email='123.123',$age=1)
    {
        $this->name = $name;
        $this->email = $email;
        $this->age = $age;
    }
    //查询器
    public function __get($name)
    {
        return $this->$name;
    }
    //设置器
    public function __set($name, $value)
    {
        return $this->name =$value;
    }

    public function getConst()//在类中访问类常量,使用self来引用当前类名
    {
        return self::school;//避免类名改变时修改内部对它的引用
    }
    public function email(){
        return $this->email;
    }
}

?>

当使用require 'XinXi.php';时,use引入本同目录下XinXi.php没有问题,当使用spl_autoload_register自动加载时,提示找不到文件,需要新建文件夹XinXi才能正常使用

QQ截图20180512183648.png






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