Configuration
This package requires minimal configuration.
StubCompiler Configuration
The only required configuration is the path to your stubs directory:
$compiler = new StubCompiler('/path/to/stubs');
Stubs Directory Structure
Create a stubs/ directory with .stub template files:
stubs/
+-- controller.stub
+-- migration.stub
+-- model.stub
+-- request.stub
+-- service.stub
Stub File Format
Stubs use {{token}} placeholders:
<?php
// stubs/controller.stub
namespace {{namespace}}\Http\Controllers;
class {{class}}Controller
{
// ...
}
FileWriter Configuration
Configure via constructor parameters:
$writer = new FileWriter(
overwrite: false, // Whether to overwrite existing files
dirPermissions: 0755 // Permissions for created directories
);
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
overwrite | bool | false | Overwrite existing files |
dirPermissions | int | 0755 | Directory creation permissions |
Generator Configuration
Generators require three dependencies:
$generator = new MyGenerator(
compiler: $stubCompiler, // StubCompiler instance
writer: $fileWriter, // FileWriter instance
basePath: '/plugin/path' // Base path for outputs
);
Default Token Values
Set default replacements for all compilations:
$compiler->setDefaults([
'namespace' => 'MyPlugin',
'textDomain' => 'my-plugin',
'prefix' => 'myplugin_',
'author' => 'Your Name',
]);
These values are automatically included in every compile() call but can be overridden.
Related
- Usage Guide — Using the components
- API Reference — Method reference