Same as other magic functions, these functions also adds some magic functionality to your code. __invoke calld once object is treated like a function. __clone is called once the object cloning is done. __toString will decide how the class should behave when treated as a string.
As we all know that PHP is the loosely coupled scripting languange. This means we can assign the values to the variables without declaring the variable.
Due to this loosely coupled architecture, PHP have provided two magic functions to handle the store and retrieve request of the undefined variable. Those two methods are __get and __set.
