1、PHP中__isset在类中定义格式如下 public function __isset(参数1),这里注意必须是2个__,必须是__isset,而且必须是要带1个参数,多一个少一个都不行
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果如下:
空白,说明没有报错
现在我们试着不加参数看下
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset(){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果如下:
Fatal error: Method Animal::__isset() must take exactly 1 argument in D:\E-class\class-code\classing\index.php on line 11
由此可见,__isset方法有且只能有一个参数
案例二、
实践目标:
1、当isset不存在的属性时,系统会自动触发对象所在类的定义好的__isset方法
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
isset($ani->name);
?>
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法 试着少写一个_
public function _isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
isset($ani->name);
?>
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
empty($ani->name);
?>
1、PHP中__unset在类中定义格式如下 public function __unset(参数1),这里注意必须是2个__,必须是__unset,而且必须是要带1个参数,多一个少一个都不行
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __unset($name){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果如下:
空白
说明没有报错,现在我们来试着不写参数看下
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __unset(){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果为:
Fatal error: Method Animal::__unset() must take exactly 1 argument in D:\E-class\class-code\classing\index.php on line 11
由此可见,__unset魔术方法,参数有且只能有一个
案例二、
实践目标:
1、当unset不存在的属性时,系统会自动触发对象所在类的定义好的__unset方法
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __unset($name){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
unset($ani->name);
?>
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法 试着少写一个_
public function _unset($name){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
unset($ani->name);
?>
1、PHP中__isset在类中定义格式如下 public function __isset(参数1),这里注意必须是2个__,必须是__isset,而且必须是要带1个参数,多一个少一个都不行
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果如下:
空白,说明没有报错
现在我们试着不加参数看下
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset(){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果如下:
Fatal error: Method Animal::__isset() must take exactly 1 argument in D:\E-class\class-code\classing\index.php on line 11
由此可见,__isset方法有且只能有一个参数
案例二、
实践目标:
1、当isset不存在的属性时,系统会自动触发对象所在类的定义好的__isset方法
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
isset($ani->name);
?>
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法 试着少写一个_
public function _isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
isset($ani->name);
?>
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __isset($name){
echo "自动执行了Animal类中的__isset方法<br/>";
}
}
$ani = new Animal();
empty($ani->name);
?>
1、PHP中__unset在类中定义格式如下 public function __unset(参数1),这里注意必须是2个__,必须是__unset,而且必须是要带1个参数,多一个少一个都不行
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __unset($name){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果如下:
空白
说明没有报错,现在我们来试着不写参数看下
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __unset(){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
?>
运行结果为:
Fatal error: Method Animal::__unset() must take exactly 1 argument in D:\E-class\class-code\classing\index.php on line 11
由此可见,__unset魔术方法,参数有且只能有一个
案例二、
实践目标:
1、当unset不存在的属性时,系统会自动触发对象所在类的定义好的__unset方法
具体代码如下:
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法
public function __unset($name){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
unset($ani->name);
?>
<?php
class Animal{
public function eat(){
}
public function sleep(){
}
//魔术方法 试着少写一个_
public function _unset($name){
echo "自动执行了Animal类中的__unset方法<br/>";
}
}
$ani = new Animal();
unset($ani->name);
?>