Updates framework to support automated framework subclasses

All framework classes have been renamed to use the SihnonFramework_ prefix.
The class autoloader now looks for subclasses of the framework classes in the Sihnon_Lib directory, and
automatically creates them if they don't exist. The autoloader correctly creates interfaces and abstract
classes as needed, by using reflection to check the type of the parent class.
All references to classes within the framework now use the Sihnon_ prefix.
The PluginFactory supports multiple scan directories, and will search both the framework and subclass class
tree to find candidate plugins.
This commit is contained in:
2010-10-10 18:32:16 +01:00
parent 676fef1deb
commit 81521eae5f
25 changed files with 145 additions and 90 deletions

View File

@@ -0,0 +1,24 @@
<?php
class SihnonFramework_Exception extends Exception {};
class SihnonFramework_Exception_NotImplemented extends Sihnon_Exception {};
class SihnonFramework_Exception_MissingDefinition extends Sihnon_Exception {};
class SihnonFramework_Exception_DatabaseException extends Sihnon_Exception {};
class SihnonFramework_Exception_DatabaseConfigMissing extends Sihnon_Exception_DatabaseException {};
class SihnonFramework_Exception_DatabaseConnectFailed extends Sihnon_Exception_DatabaseException {};
class SihnonFramework_Exception_NoDatabaseConnection extends Sihnon_Exception_DatabaseException {};
class SihnonFramework_Exception_DatabaseQueryFailed extends Sihnon_Exception_DatabaseException {};
class SihnonFramework_Exception_ResultCountMismatch extends Sihnon_Exception_DatabaseException {};
class SihnonFramework_Exception_ConfigException extends Sihnon_Exception {};
class SihnonFramework_Exception_UnknownSetting extends Sihnon_Exception_ConfigException {};
class SihnonFramework_Exception_CacheException extends Sihnon_Exception {};
class SihnonFramework_Exception_InvalidCacheDir extends Sihnon_Exception_CacheException {};
class SihnonFramework_Exception_CacheObjectNotFound extends Sihnon_Exception_CacheException {};
class SihnonFramework_Exception_InvalidPluginName extends Sihnon_Exception {};
?>