In my case, I'm using both static and nonstatic class properties, and I might even have main program code referencing the static part of the class before defining the class. Since static portions of classes don't have constructors, just add a manual constructor to initialize any variables requiring nontrivial calculation:
class A { static $a; // Initialized by Init() static function Init() { A::$a=nontrivial(); { }...A::Init(); // Initialize static part of class...$obj=new A(); // Using initialized class as an object