Getting started
Routing and controllers
Command line
Databases (SQL)
Databases (NoSQL)
Security
Packages
Learn more
- Array helper
- Caching
- Collections
- Command, event and query buses
- Date and time
- File system
- HTML helper
- Humanizer
- Image manipulation
- Internationalization
- Logging
- Number helper
- Pagination
- Retry helper
- Sessions
- String helper
- URL builder
- UUID helper
- Validation
- Views
Official packages
Installation
Requirements
- PHP 8.4.0 or higher *
-
ext-json
-
ext-mbstring
If you plan to use the database library then you'll also need to install ext-pdo
.
It it also suggested to have the posix
and pcntl
extensions enabled if you want to take advantage of all the features offered by the reactor command line tool.
* Tested on PHP 8.4.0
Setup
Installing Mako is easy and can be with done in a few simple steps thanks to composer.
First you'll have to create a new project:
composer create-project mako/app <project name>
Next you'll have to make the app/storage/*
directories writable (command my vary depending on your system):
chown www-data:www-data -R app/storage
Note that only the most essential services are enabled by default. Enable the ones that you need by uncommenting them in the
app/config/application.php
configuration file.
Get started
Mako includes a simple development server which can be started with the following command:
php app/reactor server
Open http://localhost:8000
in your browser of choice and you're ready to start coding!
The included development server is great when getting started and for quick prototyping but your should probably use a VM or Docker setup that closely resembles your production environment for advanced projects.
Updating
Mako and all your other dependencies can easily be updated when a new patch release is made available using the following command:
composer update
If you want to bump the Mako version (e.g. from 10.0.*
to 10.1.*
) then you'll have to update your composer.json
file before running the update command.
Some releases might require some minor code changes. These will be documented in the upgrade guides.