zeanwork.com.br  >>  Documentação  >>  Components
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.


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;
	}
}