博客列表 >php namespace 和对象有创建

php namespace 和对象有创建

牛粪也香的博客
牛粪也香的博客原创
2019年11月02日 11:25:00734浏览

image.png

image.png

结果:

image.png

代码:

create_obj.php

<?phpnamespace admin;class People{ public $attr=100;//属性 public $new=200;//属性 public function show()//方法 { return $this->attr; } public function newself() { $obj= new People();//优化:这里的new People(),应该改成new self(); $obj= new self();//可以防止类名变了,而后面的new 类名 跟着改! var_dump($obj); echo $obj->new; } //真正生产环境中用 public function getinfo($value='') { // $obj= new self();// 可以推出==> $this =new self(); // 而$this 指的类本身,所以就不需要再实例化了 // echo $this->new;//而函数一般用return,所以 return $this->new; }}$obj = new People();//实例化一个对象$obj1 = new People();//$obj $obj1 非同一个对象,但来自同一个类var_dump($obj);var_dump($obj1);
var_dump($obj instanceof People );//查看是否是某个类的实例//访问对象echo $obj->attr."<hr>";//访问对象中的属性echo $obj->show();//访问对象中的方法echo "<hr>";$obj= new People();var_dump($obj);$obj->newself();
$new= new People();echo "<hr>";$new->getinfo();echo $new->getinfo();//总结://讲了 类的创建  属性 方法 的创建  调用; 内部创建 new self() ->推出$this 伪对象。

namespace.php

<?phpnamespace red;//必须为脚本的第一行代码//第一种创建方式class test{}namespace green;class test{}namespace blue;class test{}//---------------两种方式不能出现在同一个php文件中-------常用第一种方式--------------//同一个php文件中,不能有多种空间定义格式//第二种方式namespace one{  class test{}
}namespace two{  class test{}}namespace three{    class test{}}
//这时就可以创建全局空间////这时这就是一个匿名空间namespace{
class test{}}


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