MrOAK
Create base modules or other file structures based on templates. Similar to Laravel's Artisan command however templates are not tied to a specific framework and are intended to be specific for a projects needs., (*1)
When you run MrOAK you are required to supply two parameters., (*2)
Template: A path to <your_module_template>. This can either be an absolute path or the name of a package in the vendor directory., (*3)
Module Path: A path to where you wish your new module to reside., (*4)
MrOAK will then take everything in the <your_module_template> directory and copy it to the path/to/new/module., (*5)
Whilst doing this it will replace references in your template files and file names to both {Namespace} and {Module} with the values supplied to MrOAK., (*6)
Install
composer require tohmua/mr-oak
composer require <your_module_template>
Parameters
| Arguments |
Description |
Template |
The name or path to the template you wish to use |
Module Path |
Path where you wish the new module to reside |
| Options |
Description |
--namespace |
Namespace for the module |
Usage
vendor/bin/MrOak create -h
vendor/bin/MrOak create --namespace="YourProject\\" <your_module_template>" path/to/new/module
Note: It is recommended that you alias this in your composer.json file as a script. In most use cases things like the template and namespace will not need to change so they can be omitted via an alias. e.g., (*7)
"scripts": {
"create-module": [
"vendor/bin/MrOak create --namespace Acme\\\\ <your_module_template> "
]
}
You can then just run composer create-module src/NewModule, (*8)
Templates
<your_module_template> can either be the path to a directory e.g. vendor/my-template/module or the composer name e.g. my-template/module., (*9)
MrOAK will take a copy of everything in that directory replacing references to both {Namespace} and {Module} in files and file names with the config supplied., (*10)
Examples