The PHP framework to write less and do more., (*1)
Summary
Intro
MToolkit is a simple PHP toolkit, it is compliant with the PSR-4 Standard:
- A fully qualified class name has the following form: <NamespaceName>(<SubNamespaceNames>)*<ClassName>.
- The fully qualified class name MUST have a top-level namespace name, also known as a "vendor namespace".
- The fully qualified class name MAY have one or more sub-namespace names.
- Each namespace separator is converted to a DIRECTORY_SEPARATOR when loading from the file system.
- Underscores have no special meaning in any portion of the fully qualified class name.
- Alphabetic characters in the fully qualified class name MAY be any combination of lower case and upper case.
- All class names MUST be referenced in a case-sensitive fashion., (*2)
It was born from a requirement: develop a website quickly and powerfully., (*3)
I know, someone can say "Use Zend Framwork, CakePHP!", but I could reply: "They are very good toolkits, but they aren't the toolkit that I want!" :P, (*4)
The development model of MToolkit is rolling release. I search some people (developer or not) to increase and modify this strategy: my goal is to manage the versioning of this framework., (*5)
The experiences with other toolkits in different platforms have led me to create this toolkit., (*6)
MToolkit was born like a mash-up of two frameworks: .NET and Qt. o_O, (*7)
Yes, the framework of the evil and the desktop framework for excellence., (*8)
I have seen some similarities between Laravel and MToolkit, cool! :D, (*9)
Install
To have a full installation of the framework, add into your composer.json file:, (*10)
{
"require": {
"mtoolkit/mtoolkit": "0.1.*"
}
}
Or run the console command:, (*11)
composer require mpstyle/mtoolkit
Some good features
- Completely Object Oriented
- Autoload of classes (PSR-0 and PSR-4 Standard)
- Autorun of pages and of RPC Json web services from controller classes
- Javascript frameworks compatibility (jQuery, Bootstrap, AngularJS, etc)
- Master page concept (http://msdn.microsoft.com/it-it/library/system.web.ui.masterpage.aspx)
- Decoupling between business logic and graphics
- Fluent setters
Like Qt, MToolkit has a lot of modules, one for every type of usage.
Here you are the list:
- Core
- Network
- Model
- Controller
- View
- Cache
- Entity, (*12)
Let's start
Create a folder for your project., (*13)
composer.json:, (*14)
{
"require": {
"mpstyle/mtoolkit": "dev-master"
}
}
On the root of your project create a new file (Settings.php) with this content:, (*15)
<html>
<head>
<title>Entry page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<b><?php echo $this->helloWorld(); ?></b>
</body>
</html>
And now you can create your web app., (*16)