Where are the FRAMEWORK and EXT constants set? In general, you don't want a class to depend on something that exists outside of the class. Maybe they should be class constants?
What is the purpose of enforcing your arbitrary restriction on characters that can be used in a file name and making it ucfirst()? What if I name my classes "Xxx_YyyÉéé.php"?
Add PHPDoc style comments for each method and class variable, as well as for each class, at a minimum including a brief description for each, @var tag/value for each class variable, and @return and @ tag/value for each method. Not only do the comments help users to read your code and modify as necessary, but many editors/IDEs pick them up for tool-tip type help.
You might want to assume or provide an option for PEAR naming conventions where underscores in the class name would be converted to "/" in the path.