Download the PHP package schenke-io/laravel-relation-manager without Composer
On this page you can find all versions of the php package schenke-io/laravel-relation-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download schenke-io/laravel-relation-manager
More information about schenke-io/laravel-relation-manager
Files in schenke-io/laravel-relation-manager
Package laravel-relation-manager
Short Description Allow to plan, document and test model relations in Laravel
License MIT
Homepage https://github.com/schenke-io/laravel-relationship-manager
Informations about the package laravel-relation-manager
Laravel Relation Manager
Developing complex Laravel applications with many models can be difficult. Laravel Relation Manager helps by bringing all your model relationships together. It creates tests to make sure they work and documents them for easy reference. This saves you time, improves code quality, and keeps your project organized.
- Laravel Relation Manager
- Installation
- Configuration
- Usage
- Testing
- Changelog
- License
Installation
You can install the package via composer:
Install the config file of the package:
Configuration
The configuration file config/relation-manager.php
has the following keys available.
key | definition | type |
---|---|---|
modelNameSpace | namespace of the models (commonly App\Models) | String |
projectTestClass | empty test class which will be (over)written | String |
extendedTestClass | class the written class should extend from | String |
markdownFile | full path for the markdown file which is written | String |
testCommand | console command to run the tests | String |
useMermaidDiagram | true = mermaid, false = Graphviz | Boolean |
showPivotTablesInDiagram | should pivot tables be shown in the diagram | Boolean |
testDatabase | extend the tests to asserts of the database | Boolean |
Usage
This package's core functionality is provided by two components:
1) Configuration File: The config/relation-manager.php
file allows you to define directories, files and namespaces of your project.
2) Custom Relation Manager Command: This command, which extends the RelationManagerCommand
class, facilitates the configuration process.
In the command file:
- define models and their relations
- decide if you want to add reverse relations
- after the model-relation definition:
- write the test file
- run the test file (only)
- write text and graphical documentation
- echo tables
This command is called by default with php artisan relation-manager:run
.
The following methods can be used inside handle()
:
method | parameter | details |
---|---|---|
model($model) | name of the model | the model name is relative to the model namespace configured |
writeTest($strict) | false: define the minimum, true: define everything | write the test file as defined |
runTest | - | run the test file |
writeMarkdown | - | write a markdown file with the documentation |
showTables | - | Show the information as a table in the console |
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-relation-manager with dependencies
illuminate/contracts Version ^10.0|^11.28.1
nette/php-generator Version ^4.1.6
spatie/laravel-data Version ^3.11.2
spatie/laravel-package-tools Version ^1.0