This website requires JavaScript.

ORM based PHP backend with Laravel Admin panel

No coding is required to have powerful Laravel Admin panel and RESTful services. Once installed and configured, you only need to build the Doctrine XML mapping files.

If you have a Doctrine project or are going to develop a new one, then this project does not limit you in anything. You may or may not use API of this project. You can call Doctrine ORM methods as you are used to. But you get a ready-made Laravel Admin and RESTful Services out of the box.

Everything is very simple. The main purpose is to get the mapping files. You can use reverse engineering or write them by hand. Learn Doctrine how to do that. When the mapping is done, just run a console command to generate the entities and database tables. And that’s it.

Out of the box

RESTful
language
Ready-made CRUD services. Which allows you to filter objects by properties of related objects by the received parameters in JSON or URL encoding. With sorting, ordering and two pagination modes.
OAuth
security
Integration of the OAuth 2.0 authorization framework. Bearer token management in the admin panel.
Json Query
code
The HTTP request parameters or payload are converted to a PHP associative array. This array is a PHP analog of JSON object. It is used to build a DQL query with cleanup, validation, and strong typing of the input values.
ACL
policy
User and group management. Group and entity permission management.
Laravel Admin
dashboard
Adaptive design. User access management. Exclusive search capabilities. Soft deletion and restoration. When you create a mapping for a new entity, it automatically becomes managed and available in the admin panel and REST services. No coding required.

Architecture

The figure below shows the interaction of project modules using an example of processing the HTTP request.

Installation

The PHP code is hosted on github in the private repository. Email us to get access. Once access is granted, simply add the required packages and dependencies to the composer config file. JavaScript packages are publicly available at the NPM. Please note that front-end of the admin panel is based on the commercial template from keenthemes.com and you must purchase a license to use it on your site.

It is possible to install only the necessary packages depending on your needs. Each package contains instructions for installing it.

  • ormbackend/laravel-doctrine The main package. Should always be installed. Contains core classes, the Json Query and RESTful services. The default implementation of ACL is included also.
  • ormbackend/laravel-doctrine-acl An extended ACL implementation allows you to manage user group permissions for a given entity.
  • ormbackend/laravel-doctrine-web Helper classes for use in MVC mode. Required for Laravel Admin panel.
  • ormbackend/laravel-doctrine-admin Laravel Admin panel.
  • ormbackend/laravel-doctrine-oauth OAuth token management for Laravel Admin panel.
  • ormbackend/laravel-doctrine-example Example integration. Good point to start from scratch.
You have a Laravel project that uses the Doctrine already
done_all

Check dependencies, PHP and Doctrine versions. Install and configure packages.

Add \OrmBackend\Publishable interface to the entities that should be accessible from services and the admin panel. This interface is just a marker.

There is a potential conflict of \App\Model\User and \App\Model\Role entities with those available in your project. You can choose not to install the package entities and resolve the conflict yourself or install new models to a separate folder.

You have a Laravel project with or without any other ORM
done_all

Check dependencies, PHP version. Install and configure packages. Follow the package installation guide.

Generate mapping files using reverse engineering tools and edit them. Run a console command to generate the ORM classes. Note that the default table prefix is d_.

If you have an Eloquent model in your project, you can put the entities to a separate folder. Read the instructions on the Laravel-Doctrine site to learn how to set up authentication.

You start a project from scratch
done_all

Check dependencies, PHP versions. Install Laravel and run it. Install and configure necessary packages.

Start working on the customer's tasks.

Work with us

If this project is interesting to you, we would be very glad to know your opinion. We will respond get back to you in a couple of hours.

Feedback
message
face
contact_mail
description
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.