Components
Components são pacotes de métodos (classe) que são compartilhados entre os controllers.
Estas pacotes servem para evitar a redundância de códigos, que também se repetirão em várias aplicações futuras, isso faz o seu trabalho muito mais produtivo.
Alguns exemplos de components que serão utilizados em várias aplicações e que farão que seu trabalho seja mais produtivo é autenticação de usuários, envio de e-mails, upload de arquivos, redimensionamento de imagens, forçador de downloads, criador de XML, manipudador de session, manipulador cookie, entre muitos outros que a comunidade pode vir a desenvolver e disponibilizar para a utilização. Alguns desses components citados o Zeanwork já possui.
Como você deve ter visto na estrutura do Zeanwork, temos um diretório somente para armazenar os arquivos dos components, é localizado em Features/Components/. Você também deve ter visto os padrões do Zeanwork, o nome do arquivo deve ser no padrão lowerCamelCase, seguindo com a extensão .php. Por exemplo: nomeDoComponent.php.
Todo component deve ser uma classe, portando o nome da classe deve corresponder o nome do arquivo criado, acrescentando Component. Por exemplo: Você criou um arquivo chamado nomeDoComponent.php, o nome da classe deve ser NomeDoComponentComponent, seguindo o padrão CamelCase.
Todos os components devem ser estendidos da classe Component, pois o seu component deve herdar os métodos do Zeanwork.
Veja exemplo dos métodos básicos de um component:
Estas pacotes servem para evitar a redundância de códigos, que também se repetirão em várias aplicações futuras, isso faz o seu trabalho muito mais produtivo.
Alguns exemplos de components que serão utilizados em várias aplicações e que farão que seu trabalho seja mais produtivo é autenticação de usuários, envio de e-mails, upload de arquivos, redimensionamento de imagens, forçador de downloads, criador de XML, manipudador de session, manipulador cookie, entre muitos outros que a comunidade pode vir a desenvolver e disponibilizar para a utilização. Alguns desses components citados o Zeanwork já possui.
Criando seus próprios components
Como você deve ter visto na estrutura do Zeanwork, temos um diretório somente para armazenar os arquivos dos components, é localizado em Features/Components/. Você também deve ter visto os padrões do Zeanwork, o nome do arquivo deve ser no padrão lowerCamelCase, seguindo com a extensão .php. Por exemplo: nomeDoComponent.php.
Todo component deve ser uma classe, portando o nome da classe deve corresponder o nome do arquivo criado, acrescentando Component. Por exemplo: Você criou um arquivo chamado nomeDoComponent.php, o nome da classe deve ser NomeDoComponentComponent, seguindo o padrão CamelCase.
Todos os components devem ser estendidos da classe Component, pois o seu component deve herdar os métodos do Zeanwork.
Veja exemplo dos métodos básicos de um component:
class TestComponent extends Component {
//Components que serão utilizados dentro deste component
public $components = array();
public function initialize(&$controller){
return true;
}
public function startup(&$controller){
return true;
}
public function shutdown(&$controller){
return true;
}
}



