tohmua / mr-oak
Installs: 13 852
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/tohmua/mr-oak
Requires
- psr/http-message: ^1.0
- symfony/console: ^2.8.20
Requires (Dev)
- phpspec/prophecy: ~1.0
- phpunit/phpunit: 4.8.*
- psr/container: ^1.0
This package is not auto-updated.
Last update: 2025-10-26 06:43:36 UTC
README
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.
When you run MrOAK you are required to supply two parameters.
Template: A path to <your_module_template>. This can either be an absolute path or the name of a package in the vendor directory.
Module Path: A path to where you wish your new module to reside.
MrOAK will then take everything in the <your_module_template> directory and copy it to the path/to/new/module.
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.
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.
"scripts": { "create-module": [ "vendor/bin/MrOak create --namespace Acme\\\\ <your_module_template> " ] }
You can then just run composer create-module src/NewModule
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.
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.