php魔術方法

來源:互聯網
上載者:User

標籤:

<?php// Declare a simple classclass TestClass{    public $foo;    public function __construct($foo)     {        $this->foo = $foo;    }    public function __toString() {        return $this->foo;    }}$class = new TestClass(‘Hello‘);echo $class;   // Hello
?>
class CallableClass {    function __invoke($x) {        var_dump($x);    }}$obj = new CallableClass;$obj(5);//5var_dump(is_callable($obj));//is_callable — 檢測參數是否為合法的可調用結構  true
<?phpclass Connection {    protected $link;    private $server, $username, $password, $db;        public function __construct($server, $username, $password, $db)    {        $this->server = $server;        $this->username = $username;        $this->password = $password;        $this->db = $db;        $this->connect();    }        private function connect()    {        $this->link = mysql_connect($this->server, $this->username, $this->password);        mysql_select_db($this->db, $this->link);    }        public function __sleep()    {        return array(‘server‘, ‘username‘, ‘password‘, ‘db‘);    }        public function __wakeup()    {        $this->connect();    }}?>
<?phpclass MethodTest {    public function __call($name, $arguments)     {        // 注意: $name 的值區分大小寫        echo "Calling object method ‘$name‘ "             . implode(‘, ‘, $arguments). "\n";    }    /**  PHP 5.3.0之後版本  */    public static function __callStatic($name, $arguments)     {        // 注意: $name 的值區分大小寫        echo "Calling static method ‘$name‘ "             . implode(‘, ‘, $arguments). "\n";    }}$obj = new MethodTest;$obj->runTest(‘in object context‘);MethodTest::runTest(‘in static context‘);  // PHP 5.3.0之後版本?>

 

php魔術方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.