关于访问类中属性
<?php
class User
{
public $name = 'maichael';
public $age = 30;
// 访问类中属性
// 方法1.
public function class1(){
// 创建类实例
$class1 = new user;
return '姓名:'.$class1->name.'年龄:'.$class1->age;
}
// 方法2.
public function class2(){
// $this始终与当前类绑定,为PHP系统进行维护和赋值
return "姓名:{$this->name} 年龄:{$this->age}";
}
// 类种方法变量与类属性区别
// 简单说 该变量需要在多个方法中使用时,创建为类属性
// 该变量仅在当前方法中使用时,创建为类中方法变量
public function class3(){
$city = '成都';
return "姓名:{$this->name} 年龄:{$this->age} 城市:{$city}";
}
// 类方法访问外部成员 函数直接访问 变量用global访问
public function class4(){
$func = func();
global $a;
return func() . $a;
}
// 改进类中方法
public function class5(string $a , Closure $closure){
return $closure().$a;
}
// 静态方法直接用类调用被所有示例所共享
static public $nationality = '加拿大';
static public function class6(){
return '国籍是'. self::$nationality;
}
}
$user = new User;
// 方法1
echo $user->class1();
// 输出姓名:maichael年龄:30
// 方法2
echo $user->class2();
// 输出姓名:maichael年龄:30
echo '<hr>';
// 类中变量
echo $user->class3();
// 输出 姓名:maichael 年龄:30 城市:成都
// 类种方法访问外部成员
function func(){
return 'PHP';
}
$a = '中文网';
echo $user->class4();
// 输出PHP中文网
// 改进类中方法
$func = function (){
return 'PHP';
};
echo $user->class5($a,$func);
// 静态方法
echo $user->class6();
// 输出国籍是加拿大
|