The problem still remains that you can't call a derived classes static method in the base class.

Static calls are called "static" for a reason - class names are resolved... well, statically :) - meaning, in compile time. E.g., "self" means "the class I'm currently in". Since there's no object, there's no vehicle to contain information like "no, I did't really mean ActiveRecord, I meant some other class derived from ActiveRecord" when you call a static method. There's simply no place - at least currently with PHP 5.x - which could carry such information. To fix it would mean to create such a place - some kind of hidden "this class" parameter or something else of this form.

Reply via email to