php魔术方法

今天儿面试,问我魔术方法是啥子,我母鸡

回家看了看,发现

就是php默认的,制定的几个方法,会在特殊情况下启动,和JAVA的构造函数一样

魔术方法有:__construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup(), __toString(), __set_state,() __clone() __autoload()

如__construct()方法,就是在这个类NEW出来的时候运行的

__destruct ()方法,就是在这个类销毁时候出现时候运行的

,栗子(来自百度百科'魔术方法'):


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<?php

/**

 * 清晰的认识__construct() __destruct

 */

class Example {

    public static $link;

    //在类实例化的时候自动加载__construct这个方法

    public function __construct($localhost$username$password$db) {

        self::$link = mysql_connect($localhost$username$password);

        if (mysql_errno()) {

            die('错误:' . mysql_error());

        }

        mysql_set_charset('utf8');

        mysql_select_db($db);

    

    /**

     * 通过__construct链接好数据库然后执行sql语句......

     */  

    //当类需要被删除或者销毁这个类的时候自动加载__destruct这个方法

    public function __destruct() {

        echo '<pre>';

        var_dump(self::$link);

        mysql_close(self::$link);

        var_dump(self::$link);

    }

}

$mysql new Example('localhost''root''root''test');

例3输出结果为:

resource(2) of type (mysql link)

resource(2) of type (Unknown)


为什么这个玩意要叫魔术方法鸭?

很魔术嘛?

就叫做预制事件不好吗?

 

点名批评.jpg

(PHP的错,我没有错,理不直气也壮.jpg)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值