Plugin Development Documentation
Complete guide to creating powerful plugins for Edge Suite Plugin Manager
Edge Suite Plugin Manager
Complete guide to creating powerful plugins for Edge Suite Plugin Manager
Get up and running with plugin development in minutes. Learn the basics and start creating.
Discover all the powerful auto-registration features available in the plugin system.
System requirements and dependencies needed for plugin development.
The Edge Suite Plugin Manager is a powerful system that allows you to easily extend Edge Suite with custom plugins. It provides a complete solution for adding new functionality through modular, hot-swappable plugins.
plugins/ directory.
The Edge Suite Plugin Manager comes with powerful auto-registration capabilities:
Models, Controllers, Services, and Middleware are automatically discovered and registered with Laravel's systems.
Each plugin can have its own configuration schema with validation, making setup straightforward.
Plugin routes are automatically registered with custom middleware, prefixes, and domains.
Seamless integration with Edge Suite admin panel, including menu registration and permissions.
Built-in lifecycle hooks allow plugins to perform setup, cleanup, and validation operations during install, activate, deactivate, and uninstall events.
Before developing plugins, ensure your system meets these requirements:
Every plugin must follow this structure to be recognized by Edge Suite Plugin Manager:
plugin.json and Plugin.php are required. All other files are optional but follow conventions for auto-loading.
These two files must be present in every plugin:
These files are automatically loaded if present:
Edge Suite Plugin Manager provides powerful lifecycle hooks that allow your plugins to execute custom logic during important events like installation, activation, deactivation, and uninstallation.
Your Plugin.php class can implement any of these optional hook methods:
Understanding when each hook is called:
onInstall() hook is calledonActivate() hook is calledfalse, activation is cancelledonDeactivate() hook is calledonUninstall() hook is calledonActivate() to return false if your plugin requirements aren't met, preventing activation until issues are resolved.
Learn how to create plugins with proper configuration and structure.
The manifest file defines your plugin's metadata and configuration schema:
The main plugin class handles initialization and lifecycle events:
Take advantage of auto-registration features:
Create models in Models/ directory - they're automatically registered with Laravel's service container:
Controllers are automatically loaded with your plugin's namespace:
Create routes.php and they're automatically registered with your namespace:
Real-world examples to help you get started with plugin development.
A plugin that creates its own database table and manages data:
A weather plugin that uses external APIs and configuration:
To install and test your plugins:
Ready to start building? Here are some resources: