Laravel Orchid is an open-source package (MIT license) to speed up development and create applications in the style of administration. It abstracts typical business application templates so that developers can quickly implement beautiful and elegant interfaces with little effort.
- Form builder – no need to describe HTML fields of the same type each time.
- Screen – a comfortable balance between CRUD generation and tedious coding.
- Fields – over 40 varieties.
- Permissions – offers convenient management in development and support.
- Menus, charts, notifications, etc.
Delivered as a Laravel package and interacted with other components. It can act as a basis for back-office based applications, administration panels, or a content management system.
Note! The manual contains information on using the package but does not explain the use of the framework. It is strongly recommended you read the Laravel documentation.
Laravel Orchid is not a "boxed turnkey solution". You need proper coding skills to use it. It's designed to make developers' lives easier when building complex systems, not providing you with one out of the box.
The Laravel ecosystem is rich in various admin panels. Maybe, You have already solved your problems using Nova, Voyager, BackPack, QuickAdminPanel, or the like. Here you were led by a desire to find out if the platform will simplify and improve your work. We hope to answer this question.
All previous packages are designed to simplify CRUD database operations, and they can be divided into several methods:
Scaffolding – The scaffolding method consists of generating physical files according to specified specifications, thereby being the fastest at the initial stage of application development. As a rule, developers delete such packages after age since they cannot update files with manual changes for updated criteria.
Visual programming – is a method in which the developer drags or selects pre-prepared objects, thus building the application instead of writing program code. This view is based on the assumption that most programs are simple procedural sequences. However, once a program becomes more than a pretty trivial example, its complexity will soon afflict the novice programmer.
One file – a method that invites the developer to describe all the necessary actions in one class, which binds to the Eloquent model. But suppose we try to go beyond a CRUD application’s scope. In that case, libraries concentrated in such a paradigm will not help us because we do not work with that class.
Unlike scaffolding, this package will be helpful at any stage of development, and not just at the beginning, remaining fast for growth due to a ready-made set of components. It does not provide visual programming, so you need to write code on the keyboard and not click with the mouse. And instead of one, the main class provides many small components for encapsulation and reuse.
A classic web application is a subsystem with a common three-tier architecture, which comprises:
Presentation level – a graphical interface presented to the user (browser), including scripts, styles, and other resources.
The level of applied logic – in our cases, this framework is the link where most business logic is concentrated, works with the database (Eloquent), sending resources, and various processing.
Level of resource management – We implement data storage using database management systems (MySQL, PostgreSQL, Microsoft SQL Server, SQLite).
It reduces development time directly related to the distribution of responsibilities between each level. It is especially noticeable when it is necessary to create auxiliary code. At the same time, it takes most of the beneficial work over by the application layer.
As various examples of opposing duties can be cited:
- Generation of
Bladetemplate engine or the
- Using ORM or stored procedures.
Depending on the choice of decisions, responsibilities will be allocated, where each decision has both advantages and disadvantages.
Similarly, the platform endows the application layer with new responsibilities for managing the mapping and bridging of data.
Classic | Orchid ├── Route | ├── Route ├── Model | ├── Model ├── Controller | └── Screen └── View | ├── HTML | ├── CSS | └── JS |
To suggest improvements to this tutorial, create a new issue. If you have questions or find a documentation error, please show the chapter and accompanying the text to indicate an error.