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().


Want to learn PHP 7?

Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!

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.