{# /** * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) * * Licensed under The MIT License * For full copyright and license information, please see the LICENSE.txt * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) * @link https://cakephp.org CakePHP(tm) Project * @since 1.7.0 * @license https://www.opensource.org/licenses/mit-license.php MIT License */ #} {{ element('Bake.file_header', { namespace: "#{namespace}", classImports: [ 'Cake\\Console\\CommandCollection', 'Cake\\Core\\BasePlugin', 'Cake\\Core\\ContainerInterface', 'Cake\\Core\\PluginApplicationInterface', 'Cake\\Http\\MiddlewareQueue', 'Cake\\Routing\\RouteBuilder', ], }) }} /** * Plugin for {{ namespace }} */ class {{ name }}Plugin extends BasePlugin { /** * Load all the plugin configuration and bootstrap logic. * * The host application is provided as an argument. This allows you to load * additional plugin dependencies, or attach events. * * @param \Cake\Core\PluginApplicationInterface $app The host application * @return void */ public function bootstrap(PluginApplicationInterface $app): void { } /** * Add routes for the plugin. * * If your plugin has many routes and you would like to isolate them into a separate file, * you can create `$plugin/config/routes.php` and delete this method. * * @param \Cake\Routing\RouteBuilder $routes The route builder to update. * @return void */ public function routes(RouteBuilder $routes): void { $routes->plugin( '{{ plugin }}', ['path' => '/{{ routePath }}'], function (RouteBuilder $builder) { // Add custom routes here $builder->fallbacks(); } ); parent::routes($routes); } /** * Add middleware for the plugin. * * @param \Cake\Http\MiddlewareQueue $middlewareQueue The middleware queue to update. * @return \Cake\Http\MiddlewareQueue */ public function middleware(MiddlewareQueue $middlewareQueue): MiddlewareQueue { // Add your middlewares here return $middlewareQueue; } /** * Add commands for the plugin. * * @param \Cake\Console\CommandCollection $commands The command collection to update. * @return \Cake\Console\CommandCollection */ public function console(CommandCollection $commands): CommandCollection { // Add your commands here $commands = parent::console($commands); return $commands; } /** * Register application container services. * * @param \Cake\Core\ContainerInterface $container The Container to update. * @return void * @link https://book.cakephp.org/4/en/development/dependency-injection.html#dependency-injection */ public function services(ContainerInterface $container): void { // Add your services here } }