Loading own classes with interfaces |
[eluser]sl3dg3hamm3r[/eluser]
Hey there I'm moving away from dealing with associative arrays without any behaviours. This results in writing proper classes. I'm now a bit stucked with loading and instantiating them. I'm aware that there is codeigniter's load_class - function. But this will fail if my class should implement an interface, and furthermore only works when the class resides in the library-folder. As suggested here, I could implement the __autoload - interceptor into the config-file. This does it actually, but I wanted to figure out if there might be some other ways? Where do you keep actually your classes which are rather data-providers than functional libraries? E.g. an order-class... sl3dg3
[eluser]sl3dg3hamm3r[/eluser]
Hmmm that's a more tricky thing than I would have expected ![]() Code: function __autoload($class) { This fails as soon as CI tries to load e.g. its own Model-Class: Message: require(Model.php) [function.require]: failed to open stream: No such file or directory I don't know how I could prevent the autoloader from trying to load these classes?!? Of course, another way would be to simply include my class in the controller's constructor where I would need it: Code: require_once(BASEPATH."application/models/OrderItemConfig.php"); But as a matter of fact, this won't work for me since I want to serialize the objects to my session and also deserialize it - which means the class needs to be included BEFORE the session reads and deserializes the data. And to include the above line into the config-file is also not a nice solution, I won't need the class everywhere and anytime.... When it comes to performance, this would be a bad solution. Any other interesting, compelling ideas? ![]() |
Welcome Guest, Not a member yet? Register Sign In |