I have started working on a project which uses both Kohana and Zend Framework. I use Kohana for low level system structure (e.g. MVC) and Zend Framework for higher level components.
What I wanted to do is to create a framework on top of these two great open source frameworks, this way building applications will be a lot easier in the future because I will have all the basic (and advanced) functionalities ready to go. :) In a nutshell, the framework will act as a ‘middle-man’ layer.
One of the goals of my framework is to act as transparent as possible. This means, the user can simply drop the framework at a convenient location, place a hook file in Kohana add it as a normal Kohana module, and that’s it! Let the magic begins!
One major achievement for me today is how I made the framework absolutely transparent. Normally this is how you extend a Kohana library or helper:
class valid extends valid_Core {}
Thanks to Kohana’s cascading file system, it will automatically start looking for ‘valid_Core’ in the modules and system directories.
Now, I wanted to add my framework, and assume my framework has an enhanced version of valid_Core, and I want to use that, what do I do? See below:
class valid extends valid_Core {}
That’s right, it is *exactly* the same syntax as before! You don’t have to alter your existing application in anyway to take advantage of more libraries and helpers. :)
And of course if the library or helper isn’t present in my framework, it will automatically fall back to the Kohana one. And if for some reason you don’t like the enhanced version, you can easily disable them. :)
That’s it for today. In the next few days I’m going to play with the new Kohana unit test library (only available in the SVN repository for now). I wonder how it compares to SimpleTest and PHPUnit.
P.S. The name of my framework is called ‘Layerful’, I will release it in open source license once it’s mature enough. :)
Related posts