function __construct($name, $sex, $age, $school)
{
$this->name=$name;
$this->sex=$sex;
$this->age=$age;
$this->school=$school;
}
function __get($property_name)
{
//echo "在直接获取私有属性值的时候,自动调用了这个__get()方法<br>";
if(isset($this->$property_name)) {
return($this->$property_name);
}else {
return(NULL);
}
}
//__set()方法用来设置私有属性
function __set($property_name, $value)
{
// echo "在直接设置私有属性值的时候,自动调用了这个__set()方法为私有属性赋值<br>";
$this->$property_name = $value;
}
function setAge($age) //为外部提供一个公有设置年龄的方法
{
if($age<0 || $age>130) //在给属性赋值的时候,为了避免非法值设置给属性
return;
$this->age=$age;
}
function getAge() //为外部提供一个公有获取年龄的方法
{
return($this->age);
}
分享到:
相关推荐
PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload 1、__get、__set 这两个方法是为在...
在PHP5中给我们提供了专门为属性设置值和获取值的方法,“__set()”和“__get()”这两个方法,这两个方法不是默认存在的,而是我们手工添加到类里面去的,像构造方法(__construct())一样,类里面添加了才会存在,...
`__construct()`是构造函数,`__destruct()`是析构函数,`__get()`和`__set()`处理属性访问,`__call()`处理未定义的方法调用。 4. **数据库操作**:mysqli扩展提供了更强大的MySQL数据库交互功能,包括预处理语句...
结合 `__get()` 和 `__set()`,开发者可以创建更加灵活且可扩展的类结构,使得在处理私有属性时有更多的控制权。这在处理用户输入或需要进行数据验证的场景中尤其有用。通过这两个方法,可以轻松地实现属性的隐藏、...
建立画布(__construct函数) 设置画布背景($this->set_bgcolor();) 获取随机字符串($this->get_randnum ();) 文字写到图片上(imagestring函数) 添加干扰点/线($this->set_ext_line(); $this->...
`__set()` 和 `__get()` 方法允许动态设置和获取对象属性,但仅当尝试访问未声明为公共的属性时才触发。例如: ```php class Test { protected $a = 9; public function __set($name, $value) { $this->$name = ...
PHP 5还引入了魔术方法(Magic Methods),如__construct、__destruct、__get、__set等,这些方法在特定情况下自动调用,为开发者提供了更多的控制点。例如,__construct用于对象初始化,而__get和__set则允许动态地...
// Set the base object properties parent::__construct($session, $output); if ( ! $session->valid()) throw new RuntimeException('SSH connection failed.'); $this->session = $...
魔术方法可以分为以下几类:__sleep、__wakeup、__toString、__set_state、__construct、__destruct、__call、__get、__set、__isset、__unset。这些方法可以在特定的情况下自动被调用,例如在对象被 serialize 时...
除了`__get()`和`__set()`,PHP还有其他魔术方法,如`__construct()`(构造函数)、`__destruct()`(析构函数)、`__call()`(调用不存在的方法)等,它们都为面向对象编程提供了更多可能性。在实际开发中,熟练掌握...
* __set 和 __get * 静态成员 构造函数和析构函数 在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。 在 PHP5 中,构造函数被统一命名为 __...
同时,还会涵盖魔术方法如`__construct`用于对象初始化,`__get`和`__set`用于动态访问属性,以及`__call`处理未定义的方法等。 2. **模式**: 模式是解决常见软件设计问题的模板或最佳实践。例如,单例模式确保一...
例如,`__construct`是类的构造函数,`__destruct`是析构函数,`__get`和`__set`用于动态属性访问。 3. 数据类型:PHP支持多种数据类型,包括标量类型(如整型、浮点型、字符串和布尔型)、复合类型(如数组和对象...
__set()、__get()、__isset()、__unset()四个方法的应用 这些方法用于提供对对象属性的动态访问。 - `__set()`:当尝试设置未定义的属性时调用。 - `__get()`:当尝试获取未定义的属性时调用。 - `__isset()`:当...
`__get()` 和 `__set()` - 动态属性访问 - `__get($property)` 在尝试获取一个不存在的属性时被调用。 - `__set($property, $value)` 在尝试设置一个不存在的属性时被调用。 这两个方法可以用于实现动态属性的...
本篇文章将深入探讨PHP的面向对象程序设计类,包括类的定义、实例化以及特殊方法`__set()`和`__get()`的使用。 1. **类的定义** 类是面向对象编程的基本单位,它封装了数据和操作这些数据的方法。在PHP中,我们...
在PHP编程语言中,`get_class_methods()` 是一个非常有用的内置函数,用于获取类中定义的所有公共、受保护和私有方法的名称。这个函数在分析类结构、编写测试用例或者实现元编程时非常实用。本文将详细介绍 `get_...
2. 面向对象的特性:继承、多态、接口、抽象类、魔术方法(__construct, __destruct, __get, __set等)。 3. 异常处理:异常类的定义、抛出异常(throw)、捕获异常(try-catch)。 4. 函数与变量:函数定义、参数...