11 – Plugins
Teste os seus limites, enfrente os seus medos e não deixe que nada impeça você de pelo menos tentar!
Publicação de Plugins no site do CakePHP:
No CakePHP 3 o plugin é a forma mais adequada de reutilizar código e compartilhar com a comunidade nossos melhores recursos para o Cake.
Basicamente um plugin pode conter um apliicativo a ser usado dentro do Cake como um mini ou sub aplicativo.
Ele pode conter
Controllers
Models
Views/Templates
Entre outros
E dentro destes:
Componentes, Helpers, Behaviors, etc
Então é um super recurso do Cake.
Empacotamos nosso código, hospedamos no GitHub gratuitamente e publicamos no Packagist para que possa ser usado por nós e por toda a comunidade com grande facilidade.
Depois podemos atualizar via git ou no próprio GitHub com os ótimos recursos do mesmo.
Plugin Assets
Os recursos da web de um plugin (mas não arquivos PHP) podem ser atendidos através do plugin no diretório webroot, assim como os assets da aplicação principal:
/vendor/meuVendor/NomePlugin/webroot/
css/
js/
img/
flash/
pdf/
Linkando para Assets em Plugins
Você pode usar o sintaxe plugin ao vincular aos recursos do plugin usando o View\Helper\HtmlHelper script, image ou css methods:
// Gera a URL /contact_manager/css/styles.css
echo $this->Html->css('ContactManager.styles');
// Gera a URL /contact_manager/js/widget.js
echo $this->Html->script('ContactManager.widget');
// Gera a URL /contact_manager/img/logo.jpg
echo $this->Html->image('ContactManager.logo');
Chamar Element no layout do plugin
/vendor/ribafs/cake-control-br/src/Template/Layout/default.ctp
$this->element('CakeControlBr.topmenu');
Habilitar o plugin
Execute a seguinte linha:
bin/cake plugin load ContactManager
Isso colocará o plugin Plugin::load('ContactManager'); no src/Application.php.
Autoloading Plugin Classes
Ao usar bake para criar um plugin ou quando instalar um plugin usando o Composer, você normalmente não precisa fazer alterações em seu aplicativo para faça com que o CakePHP reconheça as classes que vivem dentro dele.
Em qualquer outro caso, você precisará modificar o arquivo do composer.json do seu aplicativo. Para conter as seguintes informações:
"autoload": {
"psr-4": {
"CakeAclBr\\": "src"
}
}
Atualizar plugin após alterar composer.json
Sempre que alterar o composer.json execute:
composer update
Mais detalhes
https://book.cakephp.org/authorization/1.1/en/index.html
https://book.cakephp.org/authentication/1.1/en/index.html
https://book.cakephp.org/debugkit/3.x/en/index.html
Comments fornecido por CComment