toKernel universal PHP Framework

Fully Object-Oriented extensible framework to make website or CMS development simple and flexible.

toKernel is a framework with philosophy

By design, the framework's kernel is monolithic which brings a lot of advantages. It is NOT a loader for a mere collection of classes. The versatility of this framework allows you to create web applications, command line applications and run the same application in either mode including interactive mode.

Widgets makes it easy !

There is more to it than just comfort. Imagine, you're trying to build a web page with different parts. For example: home page, where the user login form, latest 5 articles, news and other parts needed. How to do it, if you're in Home or another controller? Use different models in same action or call helpers?

So, in our case, it's very easy to do. Just build a widget for any of addon and include it in any part of any template. However, the widget "Latest news" of "News" addon can be included in any page template.

Learn more

Addons and modules,
Smart solution !

As expected from a framework, to Kernel provides ways for you to extend its functionality to suit you own requirements. An addon in toKernel is the combination of model, view, controller classes found in other framework but with some additional components. Each addon has one main controller class and can have as many modules as required!

A module is a class in the addon package. For example: Addon "News" can have modules like "frontend_model", "backend_model", "manage_news", "display_news", etc... and! why load the whole "news management" code in one file, if you only want to display news on website frontend? It's smart to split your code of addon/controller related on your needs.

Learn more

toKernel security

Today, creating a website without thoroughly paying attention to avoiding the techniques used by attackers is like leaving your house doors open at all time. It's an invitation to have your site defaced, you information stolen or, worse yet, your customers' data. It's giving anybody an opportunity to blow your reputation.

Learn more

... some thoughts

Many PHP framework projects boast themselves as being "more flexible", "easy to use", "very fast" and the like. As you may have noticed, the fastest code is the one that never runs ;-) And how can a framework be easy to use and understand when it has thousands of uncommented lines of code and little else? A project will be "easy to use" if it has clear and concise documentation and its source code has extensive and meaningful comments. This project has a lot of advantages compared with other framework projects, but we can not describe them in just a few words. They will become clear when reading the upcoming documentation and the source code if you are up to it.

Many framework projects claim that classes in a library must the independent from one another. But why? In this case, all we get is a collection of classes and not a real framework. For example the class 'email' should check the recipient's address is well-formed before sending a message. Then can it should be allowed to use the 'validate' class, which is responsible for checking the validity of email addresses among others. Or the 'form' class should have access to the 'filter' class to filter data and ensure valid html output will be produced. We think frameworks should have integrated kernels. This is what why we said this is a monolithic framework and not a collection of independent classes.

But then, you decide for yourself...

"Every word of every software developer deserves respect and it is not a philosophy of inventing the bicycle"