Nota
Atualmente, a documentação desta página não é suportada em português.
Por favor, sinta-se a vontade para nos enviar um pull request para o Github ou use o botão IMPROVE THIS DOC para propor suas mudanças diretamente.
Você pode consultar a versão em inglês deste tópico através do seletor de idiomas localizado ao lado direito do campo de buscas da documentação.
addBehavior
($name, array $options = [])¶Behaviors fornecem uma maneira fácil de criar partes de lógica horizontalmente reutilizáveis relacionadas às classes de tabela. Você pode estar se perguntando por que os behaviors são classes regulares e não traits. O principal motivo para isso é event listeners. Enquanto as traits permitiriam partes reutilizáveis de lógica, eles complicariam o uso de eventos.
Para adicionar um behavior à sua tabela, você pode chamar o método addBehavior()
.
Geralmente o melhor lugar para fazer isso é no método initialize()
:
namespace App\Model\Table;
use Cake\ORM\Table;
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
}
}
Como acontece com as associações, você pode usar sintaxe plugin e fornecer opções de configuração adicionais:
namespace App\Model\Table;
use Cake\ORM\Table;
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp', [
'events' => [
'Model.beforeSave' => [
'created_at' => 'new',
'modified_at' => 'always'
]
]
]);
}
}
Você pode descobrir mais sobre behavior, incluindo os behaviors fornecidos pelo CakePHP no capítulo sobre Behaviors (Comportamentos).