当前位置:首页 » 文件传输 » php访问一个类的成员
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

php访问一个类的成员

发布时间: 2022-08-27 03:28:17

❶ PHP中,怎么在成员函数当中调用自己的成员属性除了静态调用之外还有别的方法吗

和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分。如果要在类外调用公用的静态成员函数,要用类名和域运算符“∷”。
如 Box∷volume( ); 实际上也允许通过对象名调用静态成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已。 静态成员函数的作用是为了能处理静态数据成员。 可以说,静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,静态成员函数并不属于某一对象,它与任何对象都无关,静态成员函数没有this指针。
由此决定了静态成员函数不能访问本类中的非静态成员。 在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。假如在一个静态成员函数中有以下语句: cout<<height<<endl; //若height已声明为static,则引用本类中的静态成员,合法 cout<<width<<endl; //若width是非静态数据成员,不合法。但是,并不是绝对不能引用本类中的非静态成员,只是不能进行默认访问,因为无法知道应该去找哪个对象。如果一定要引用本类的非静态成员,应该加对象名和成员运算符“.”。如 cout<<a.width<<endl; //引用本类对象a中的非静态成员

❷ php类中的数组成员无法访问

public function __set($filed, $value)//$filed

if(array_key_exists($field, $this->fields))//$field,与上不同,改为统一的field

然后private $fields改为public;
就可以:$u=new User();$u->a='xxx';echo $u->fields['a'];

若想访问$u->a,则在 __set方法里加上:$this->$field = $value;

❸ PHP将匿名类被嵌套进普通类时,如何访问这个外部类的私有成员和受保护成员

请提供一个get方法,或者php8使用new class()实例化

❹ PHP 里面 ”::“,”-> “ 这两个符号是什么意思

:: 是调用静态方法或者成员变量
例如: demo 是个静态类. 有个show的方法;
那么调用的时候就得这么来: demo::show();

如果 demo 是个非静态类.
那就用:
$obj = new demo();
$obj->show();

❺ php -> =>的问题

在PHP里面 ->用来引用对象的成员,包括属性和方法,=>只用来数组赋值。

❻ 关于 php 类成员属性声明和访问的问题

你总共提了三个问题,三个问题都是关于访问权限控制的,建议你将面向对象的访问权限控制的那部分给学习一下。
(1)类里的变量是否一定要声明为成员属性,
答:不一定,在一个类中,有构造函数、属性、方法;未在方法和构造函数中声明的变量为属性,属性是体现这一个类(对象)的特性的描述,他是这个类的特性的描述,这个类的状态的改变将会随着这些属性值的改变而改变。如果某一变量不属于这个类的属性,当然可以声明在别的地方,只要在访问权限内,当然也可以访问,就像foreach($this->post as $key=>$value),$key与$value都不是类的属性,当然不用声明在类的属性部分了,这里的$key与$value便成了这个方法的局部变量。
(2)非类的属性,绝对不能用$this->来访问,$this指的是当前对象,$this->所指向的是当前对象的属性或许方法,既然不是类的属性,当然不能用$this->来访问了,

❼ 如何访问PHP中的静态函数中的私有成员

私有成员只有在函数内部才能访问,直接self::key就可以了

❽ php this,self 静态对象,成员的访问

$app是外部对象,既然有static关键字,为什么还可以用this访问呢?
A: 通常动态对象中可以访问静态成员。只是不推荐但不禁止$this->静态成员。主要用"类名::静态成员"这种形式

问题标注里写出了,$this-req的req是哪里的对象呢?
A: 好像这些代码已经混乱了$this->req明显是下面Request类才有的成员

,private static和static private意义相同吗?
A:相同无区别

❾ PHP中拜访类中静态对象的成员方法

1、echo
Human:$name
:类声明完毕,就存在static属性,并不依赖于对象。因此,静态属性只有一个(意思是在内存里,存放的位置并不是在对象里;如果在对象里,那实例化一个对象,就相应的有该静态的位置,如height属性);
2、print_r($p1):打印结果只有height属性,而没有name;
3、静态属性的值变化后,所有对象的该属性值都会受到影响。
对于方法,无论是静态的、还是普通的,都是存在于类内存空间中。证明也很简单,new一个对象,print_r(对象)即可。
希望本文所述对大家的php程序设计有所帮助。