Download the PHP package mezon/application without Composer
On this page you can find all versions of the php package mezon/application. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mezon/application
More information about mezon/application
Files in mezon/application
Package application
Short Description Small application script
License MIT
Homepage https://github.com/alexdodonov/mezon-application
Informations about the package application
Base application class
Intro
All your applications will be derived from this class or will be using classes which are siblings of this Application class.
Functionality
This class provides:
- routing
- transformation actionActionName methods into static routes /action-name/ which handles GET and POST methods
- loading routes from config file (php or json)
Loading routes from config file
With time your application will grow and number of routes will increase. So we have provided convenient way to store all routes in a standalone config file. So it is not necessary to initialize all routes in an Application (or any derived class) object's constructor.
Let's find out how you can use it.
First of all create config file ./conf/routes.php in your projects directory. It must look like this:
Note that the 'method' field is not set then it will be defaulted to GET.
You can also specify your own config file.
Then just call Application::loadRoutesFromConfig()
Common application class
Intro
This class provides simple application routine with more complex rendering and error handling.
Extended routes processing
In Application class routes may return only strings. But CommonApplication class allows you to return arrays of string which will be placed in the template placeholders.
Simple example:
Here route's handler generates two parts of the page /simple-page/ - 'title' and 'main'. These two part will be inserted into {title} and {main} placeholders respectively.
More complex example:
Here we pass instance of the class View (or any class derived from View) to the application page compilator. It will call View::render method which must return compiled html content.
Routes config
You can also keep al routes in configs. You can use json configs:
This data must be stored in the './conf/' dir of your project. Or load configs explicitly as shown below (using method loadRoutesFromConfig).
And we also need these methods in the application class.
Note that you can load multiple configs with one call of the method loadRoutesFromConfigs
Or the same:
Action messages
You can create file with the list of messages which will be substituted in the template variable action-message
This file must be stored in the directory %your-application-class-directory%/res/action-messages.json
Then if the class will find $_GET['action-message']
parameter, then action-message
substitution will be triggered.
View
Static view
You can simply output content of the *.tpl file as common view. It can be usefull if you need to render static pages or static page parts. It will let you to avoid creating separate class and separate view methods for these purposes.
It is quite simple:
For more details about Mezon templates see
Controller
tba
All versions of application with dependencies
mezon/conf Version 1.2.*
mezon/html-template Version >=1.1.4 <1.2.0
mezon/http-request-params Version 1.0.*
mezon/infrastructure-layer Version 1.2.*
mezon/presenter Version 1.3.*
mezon/rest-exception Version 1.0.*
mezon/router Version 1.5.*
mezon/template-engine Version 1.0.*
mezon/utils Version >=1.0.9