Configuration

PluginContext Options

When creating a PluginContext, you must provide these required options:

OptionTypeDescription
filestringPath to main plugin file (__FILE__)
slugstringPlugin slug (e.g., my-plugin)
prefixstringPrefix for hooks/options (e.g., myplugin_)
textDomainstringText domain for translations
versionstringPlugin version

Example

$context = PluginContext::create([
    'file' => __FILE__,
    'slug' => 'my-awesome-plugin',
    'prefix' => 'map_',
    'textDomain' => 'my-awesome-plugin',
    'version' => '2.1.0',
]);

Paths Configuration

The Paths class supports named path aliases:

$paths = $app->paths();

// Default aliases (auto-configured)
$paths->path('@plugin')   // Plugin root
$paths->path('@src')      // /app
$paths->path('@config')   // /config
$paths->path('@views')    // /resources/views
$paths->path('@lang')     // /resources/lang

Custom Aliases

$paths->addAlias('@custom', '/my/custom/path');

Application Configuration

The Application class accepts an optional container:

use WPZylos\Framework\Container\Container;

$container = new Container();
$app = new Application($context, $container);

If no container is provided, a default PSR-11 container is created.