cloudbase / skeleton
The official CloudBase plugin template package.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:project
pkg:composer/cloudbase/skeleton
Requires
- cloudbase/plugin-core: ^1.2.1
Requires (Dev)
- symfony/routing: ^7.3
README
A template project for creating CloudBase plugins.
composer create-project cloudbase/skeleton my-plugin
Routes & Controllers
Controllers
Your plugin controllers need to be defined inside config/services.yaml - a default definition has been created
for you which will more often than not require no changes - unless you'd like your controllers to live outside
your plugins src/Controllers directory:
CloudBase\Skeleton\Controller\: resource: '../src/Controller' tags: [ 'controller.service_arguments' ] autowire: true public: true
Routes
Your controllers are responsible for defining their own routes as attributes. See the example controller provided
at src/Controller/PluginController.php.
Your controller methods must return a Symfony\Component\HttpFoundation\Response object.
You can render plain text by returning a new Response():
return new Response('Hello, world!', 200);
Templates
CloudBase uses Latte as its templating engine. You can return rendered Latte templates:
return $this->renderedLatteResponse('@vendor/package/index');
The above code will render your plugins views/index.latte template.