Ubiquity is a powerful and fast PHP framework, which is quiet about two years old but already getting some attention from the PHP community with 469 stars. The project come with lots of very interesting features, but most promising is its great performance compared to others PHP Frameworks. The framework is actually the number One on PHP Benchmarks comparator with a score of 78 for the Hello World and Rest API. Tech Empower Benchmark show also the best performance for multiple queries test.
Getting started with Ubiquity
Ubiquity could be installed from command line console or from a web interface, something similar to PhpMyAdmin but for the framework. Start by downloading the devtools installer then you can create your first project using :
$ composer global require phpmv/ubiquity-devtools
$ Ubiquity new quick-start -a
The directory structure for the project will be something like :
app
ā cache
ā config
ā controllers
ā models
ā views
Configure and Launch
You can quickly start the new project with serve command, then you can connect to http://localhost:8090 to access the default framework home page :
$ Ubiquity serve
From the first page, click on Webtools, in the bottom right of the page, the access the admin interface. Then you can choose the tools you need :
The web applicationĀ WebtoolsĀ saves time in repetitive operations. You can even use it to create controllers. Go to theĀ controllersĀ section, enterĀ DefaultControllerĀ in theĀ controllerNameĀ field and create the controller:
The same operations could be done from console using the command :
$ Ubiquity controller DefaultController
More features
If you are interested you can explore demo applications to see the capabilities of the framework. Some demo applications available like a Todo list management app, in addition to demo applications for main features in framework. There are much more features including :
- MVC
- Dependency injection
- PSR-4 Autoloader
- Router based on annotations
- ORM implementing Data Mapper
- Multi-databases & multi-database types support (PDO Mysql/PostgreSQL/SQLite, Mysqli, Swoole coroutine Mysql, Tarantool, MongoDB)
- Multi-level cache
- Rest Server
- Web admin interface (Webtools)
- Scaffolding (CRUD, REST, Controllers, views, authentification…)
- Console Admin interface (Devtools)
- Assets & themes management
- Managed servers: fpm/fastcgi with Apache or nginX,Ā ngx_php,Ā Workerman,Ā Swoole,Ā Roadrunner,Ā PHP-PMĀ with ReactPHP (Dev only)
Ubiquity is an Open Source software released under an Apache V2 License. More information at https://ubiquity.kobject.net/