Articles of design patterns

faça header, barra lateral e rodapé constante no site

Estou programando com Php e eu preciso desses elementos constantes através da página da Web: header, barra lateral e rodapé (todos os arquivos php) Todos esses arquivos definem as funções respectivas como create_header () e assim por diante que geram o html e eu tenho um css que mapeie esses elementos (usando div id = […]

PHP MVC: vários bancos de dados, múltiplos mapeadores de dados?

Estou trabalhando no meu projeto HMVC. Agora estou usando mapeadores de dados para mover dados entre os modelos (objects de domínio) e um database MySQL. Cada mapeador recebe um adaptador MySQL como dependência. O adaptador injetado recebe uma instância PDO (uma conexão de database) como dependência e executa consultas sql no database. Também uso um […]

Qual é o melhor padrão de design para projetar a interface de uma WebPage?

Estou tentando construir a interface do meu site WEB usando OOP. Para isso, eu preciso ter vários objects como menu, miniaturas, checkboxs de conteúdo unidas para formar um layout completo. Eu sei que OOP não é usado para apresentação, mas eu preciso fazer isso mesmo. Alguém pode me ajudar nisso?

Conselhos sobre a criação de um aplicativo de codeigner para servir microsites personalizados

Eu estou construindo um aplicativo de codeigniter que servirá microsites personalizados. Essencialmente, cada microsite será uma coleção de sete visualizações diferentes, todas carregadas pelos methods de um único controlador. Para “Tema”, cada microsite haverá pastas diferentes contendo diferentes versões desses arquivos de exibição (e seus arquivos css, js e imagens associados) e o controlador saberá […]

Essa é uma implementação sã da injeção do construtor?

Na sequência da minha pergunta sobre localizadores de serviços , decidi usar a injeção do construtor em vez disso. Considere o seguinte código: fooBarBazModel)) { $this->fooBarBazModel = new FooBarBazModel( $this->getDb() ); } return $this->fooBarBazModel; } } // Example client classs: /** * Depends on db, logger and foomodel. */ class Foo { private $db; private […]

Codeigniter MVC, devo mover minha lógica de negócios do modelo para Controlador para usar o ORM?

Estou tentando migrar meu projeto atual usando o construtor de consulta CI normal para usar um ORM, pois meu database está crescendo e eu tenho mais de 20 FK e relação entre tabelas. então estou procurando por um bom orm para CI. Encontrei o IgnitedRecord, mas enfrentei um enorme problema. modelos de exemplo / users.php: […]

Análise XML a partir de documento não XML

em um arquivo xml / non-xml pode existir algum bloco XML que preciso analisar e replace por alguma outra seqüência .. O Cenário é algo assim … Some Text Some Text Não há garantia de que o documento seja um documento XML adequado. (podem existir algumas Tags fechadas ou alguns outros erros comuns que as […]

Php design question – um ajudante ajudará aqui?

Eu tenho que listar vários elementos que vêm de uma fonte de database A e eles são: team_id, team_name e team_score (traduzido por causa de explicação). Eu preciso fazer um loop sobre eles e exibir essa informação. Então, eu tenho, do lado DAO: public function listOfTeams() { $select = $this->select() ->from(array(‘t’=>’teams’), array(‘cod_team’,’name’,’score’)); return $this->fetchAll($select); } […]

ServiceLocator e o princípio aberto / fechado

Eu gostaria de: Faça os serviços normalmente necessários visíveis para todas as classs que precisam deles, com um mínimo de boilerplate, e sem sacrificar a testabilidade! É um pequeno projeto e acho que DI pode ser um exagero, mas talvez eu esteja errado? De qualquer forma, tenho me concentrado no padrão do ServiceLocator, conforme descrito […]

Herança do modelo Laravel através da relação polimórfica

Eu estava procurando uma maneira de implementar o Laravel Model Herdação e fui inspirado pela inheritance de tabela múltipla descrita na resposta aceita aqui: Como implementar inheritance de tabela única usando Eloquent de Laravel? @lukasgeiter termina com: “Assim, como você pode ver, um database limpo vem com seu preço. Será um pouco mais complexo para […]