Comments (5)
Hi @popovserhii
for now there is no generator and no custom registration for module commands. But it would be a useful improvement.
Feel free to create a PR. Otherwise wait till I find some time to implement it.
from l5modular.
If you'll explain how or give some resource where I can read about it, then I check if I could do it.
from l5modular.
Ok, there are three different aspects to cover:
- A make command must be implemented
- The module service provider needs to look into the configured console commands folder and register the commands if it finds some.
- The configuration
The make command
You could extend the ConsoleMakeCommand. You can see some examples in the src/Console folder. Take note, there is a MakesComponent trait. It handles almost al the stuff that differs to the original make commands.
Besides that there is the artisan make:module
command, which should also generate a console command, if configured so.
Registering the existing commands
The registerModule method is called for every module. There needs to be something like $this->registerConsoleCommands($name)
. I don't know yet how to register console commands, but the first google search looks like it should be possible.
Configuration
In the config/modules.php are two arrays where the new component must be present.
Within generate
to let the user decide wether a console command should be generated with the artisan module:make
command or not.
And within default.structure
to let the user decide where the console commands needs to be placed (and also for the service provider)
Please let me know, if you decide to give the implementation a go. So that we don't work on it simultaneously.
from l5modular.
I forgot to mention, everything must be covered with unit tests / integration tests and should have no code smells, repetition, etc. (according to Code Climate)
from l5modular.
I didn't thought anyone would do this so i didn't included it. If I may add, place the generated command in this directory.
laravel-project/
app/
└── Modules/
└── FooBar
├── Console
│ └── FooBarCommand.php // generate the command here
├── Http
│ └── Controllers
│ └── FooBarController.php
├── Models
│ └── FooBar.php
├── resources
│ ├── lang
│ │ └── en.php
│ └── views
│ └── welcome.blade.php
└── routes
├── api.php
└── web.php
from l5modular.
Related Issues (20)
- Migration Split HOT 2
- Auth redirect HOT 2
- studly_case() undefined HOT 3
- include auto discovery HOT 1
- Extend Laravel's scaffolding commands to generate in a certain module HOT 25
- Add functional arrilot/laravel-widgets HOT 4
- create config and contract service binding HOT 3
- config files for a specific module HOT 3
- Nested Modules HOT 1
- Migrations in the old way HOT 5
- Help setting up L5Modular V2 to work with existing V1 Modules HOT 1
- Error when using action() HOT 3
- Livewire support HOT 4
- Class L5Modular not found HOT 9
- Translation file wrongly generated HOT 2
- The manual on l5modular.com is no longer available HOT 2
- Modules namespaces and routes HOT 5
- unable to check route:list after moving controller to folder HOT 3
- Target class [Illuminate\Database\Eloquent\Factory] does not exist. HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from l5modular.