А можно избавиться от строки $obj = new MyClass(); и создавать экземпляр автоматически в момент $obj->displayVar();?
Естественно заранее не создавая "впрозапас" по экземпляру каждого класса.
Не совсем четкое требование, но по описанию похоже на синглтон. Т.е. вызывать вот так:
MyClass::getInstance()->displayVar();
MyClass::getInstance()->foo();
MyClass::getInstance()->bar();
Объект создастся в момент первого вызова.
В классе реализовать вот так:
class MyClass {
protected static $instance = null;
protected __construct() { }
public static function getInstance() {
if (is_null($this->instance)) {
self::$instance = new self();
}
return self::$instance;
}
}