class User
{
private static $User;
public static function get()
{
if (empty(self::$User)) {
echo "Create New Object<br/>";
return self::$User = new User();
}
echo "Already Created<br/>";
return self::$User;
}
}
User::get();
User::get();
User::get();
User::get();
This is my code. when I run this code then output given this code is,
Create New Object
Already Created
Already Created
Already Created
But why? My expected output is,
Create New Object
Create New Object
Create New Object
Create New Object
Because when we call a static function in class then it's full newly call this class and all time it creates a new object because all time the user is empty when calling this function. but why this code saves previous class data?