Hacking with PHP has been updated for PHP 7 - click here! >>

Magic functions

Whenever you see a function name start with a double-underscore, it is a "magic" function - one that PHP has provided that you have not declared yourself. PHP reserves all functions starting with __ as magic, which means while you can use them yourself, you may find that a later version of PHP uses them as a magic function, and causes conflict.

So far we've seen __sleep(), __wakeup(), __clone(), __construct(), and __destruct() - functions that give you special control over your objects that you would not otherwise be able to have. In order to have a full understanding of OOP in PHP there are five more functions you should know about: __autoload(), __get(), __set(), __call(), and __toString().


If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!

Next chapter: __autoload() >>

Previous chapter: Saving objects

Jump to:


Home: Table of Contents

Copyright ©2015 Paul Hudson. Follow me: @twostraws.