Posts Tagged ‘Layerful’

Layerful Screencast: Transparent Layer in Action

Okay, so what is a transparent layer? How does it benefit a developer?

Well, please watch the screencast (4min, 12MB) first, you will see the transparent layer in action.

To me, I wanted to make a framework that is more feature-rich than Kohana but at the same time is not intrusive. By having this transparent middle-man layer, a developer is able to seamlessly enhance the Kohana framework without altering the existing user application.

It might not be useful to everyone but what the heck, it at least is useful to one person, me. :D

Layerful + Kohana + Zend Framework = Easy User Applications

Here is a brief overview of the system workflow:

Application framework workflow

Of course the actual system will be a lot more complex due to cross-referencing components, modules, libraries, helpers, but you get the idea. :)

Layerful Framework Performance in Kohana

Yesterday I have (sort of) announced the work on the framework based on Kohana and Zend Framework.

It is in early development stage but here is how it performs in Kohana. Granted it doesn’t do much at this stage. The screenshot below showcases the performance of the ‘transparent layer’ support, using the default Kohana profiler.

Layerful Framework Performance

I will soon post a chart on how the framework relates to and integrates with Kohana and Zend Framework. :)

Kohana extended, transparently :)

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. :)