Overriding and Overloading
Special Methods PHP Programming
Overriding and Overloading


Overloading in PHP provides means to dynamically "create" properties and methods. These dynamic entities are processed via magic methods one can establish in a class for various action types. In other terms creating properties/methods at run-time is called property overloading/method overloading.

Property overloading

In PHP, property overloading can be done by magic methods like __set, __unset, __isset, __get method. Overloading can be done by magic methods like __call and __call_static. PHP's interpretation of "overloading" is different than most object oriented languages. Overloading traditionally provides the ability to have multiple methods with the same name but different quantities and types of arguments.

Scope Return Type Method Params Syntax Extra Note
public void __set string $name , mixed $value public void __set ( string $name , mixed $value ) run when writing data to inaccessible properties.
public mixed __get string $name public mixed __get ( string $name ) utilized for reading data from inaccessible properties
public bool __isset string $name public bool __isset ( string $name ) triggered by calling isset or empty on inaccessible properties
public void __unset string $name public void __unset ( string $name ) invoked when unset is used on inaccessible properties.

Method overloading

When we try to call a method that doesn't exist in PHP, __call is called and that way we achieve Method Overloading.

Syntax Description
public mixed __call ( string $name , array $arguments ) __call is triggered when invoking inaccessible methods in an object context.
public static mixed __callStatic ( string $name , array $arguments ) __callStatic is triggered when invoking inaccessible methods in a static context.


In OOPs meaning of overriding is to replace parent class method in child class. Or in simple technical word method overriding mean changing behavior of the method. In OOP overriding is process by which you can re-declare your parent class method in child class. So basic meaning of overriding in OOP is to change behavior of your parent class method.

Normally method overriding required when your parent class have some method, but in your child class you want the same method with different behavior. By overriding of method you can completely change its behavior from parent class. To implement method overriding in OOP we commonly create same method in child class.

Special Methods PHP Programming
Overriding and Overloading

  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.



Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.

Manage research, learning and skills at defaultlogic.com. Create an account using LinkedIn to manage and organize your omni-channel knowledge. defaultlogic.com is like a shopping cart for information -- helping you to save, discuss and share.

  Contact Us