|
||||||||||
|
|
Layout de diretoriosNovembro 21, 2008 on 12:02 pm | In Informatica, php, Tutorial | No CommentsBom, eu irei na verdade aqui dar sequencia ao meu modelo de aplicação MVC, se você não conhece pode dar uma lida neste Post, seguindo a ideia vamos agora partir da ideia do layout de diretorios para nossa aplicação, usando Url Amigaveis, primeiro temos que ter em mente que poderemos ter diversos App, ou aplicativos que funcionarão como modulos (ex: Admin, Cliente, Contas, RH e assim vai) e para cada modulo estará o modelo MVC ( ou MVP ). Iremos separar também nossas libs (Library ou bibliotecas no bom português), para que possamos atualiza-las independente do sistema (modulos) que tivermos. Iremos também separar uma pasta chamada var que serão as variaves do sistema, são arquivos que irão sendo atualizados mudados conforme o tempo de site (no meu caso os templates do smarty e outros arquivos como xml) e iremos separar os arquivos chamados publicos (que são aqueles arquivos onde as pessoas podem visualizar e roubar de você), no caso são arquivos JS, CSS, Imagens e coisas do genêro. Então por enquanto teremos : CODE:
Colocando modulos no app e pensando que teremos o modulo rais teremos em MVC a seguinte estrutura : CODE:
No caso ainda no view utilizando um sistema de templates para separar codigo de tela, eu tenho mais duas pastas que irão separar mais codigo, em vez de construir inputs, selects, e alguns outros na tela com codigo, dou preferencia para buscar uma classe que possa criar para min e eu retornar o codigo pronto para o template, assim separando o que é um codigo contrutor. CODE:
Pensando agora no resto da estrutra, as bibliotecas ( /lib ) o que iremos ter ? No meu caso eu terei algumas bibliotecas suporte e principalmente aqui uma biblioteca (camada de persistência - Base de dados), veja como fica: CODE:
O layout da publico é super simples e podemos criar diversas regras no .htaccess para moderamos o uso desta estrutura CODE:
No meu caso a var que contém os dados de teamplates compilados e cache deles. CODE:
É isso ai pessoal, logo mais vou continuar escrevendo dos htaccess de cada pasta e do index para nos acessarmos tudo isso com um unico arquivo só. Ficaria muito grande esse index e access aqui neste mesmo texto, então ficamos para a próxima. phpConf 2008Novembro 18, 2008 on 12:30 pm | In Informatica, Trabalho, php, Tutorial | No CommentsE lá vamos nós, ou melhor dizendo eu, confirmada minha presença nos 3 dias da php Conference Brasil 2008, vou deixar aqui a programação que pretendo assistir e participar, espero ver vocês lá. Quinta feira : No período da manhã vou assitir a palestra/curso sobre SOA com o César Schneider. Sexta-feira : O que eu gostaria de assistir é "Camadas do desenvolvimento Web", "Vulnerabilidades", "OpenSocial", "SPL", "PHP Doc"... é algumas das palestras que me interessam ainda estou incerto do que irá me fazer melhor. Sábado : Sábado é um grande mistério se irei aparecer, ainda mais em relação as palestras, veremos até la o que irá aconteçer. LinksNovembro 14, 2008 on 2:36 pm | In Festas, Informatica, Mente, php | No CommentsBom, como eu não tenho custume de colocar links na categoria de Links hoje eu vou fazer um post para isso, para alguns links interessantes que sempre utilizo, sejam eles no trabalho ou por mera diversão, quem sabe é algo útil ou divertido a você também.
Namespaces no PHPNovembro 7, 2008 on 1:13 pm | In Informatica, php, Tutorial | 4 CommentsTodo mundo vem falando da grande discução do namespace no PHP, ja que vai ser uma característica nova e nem tudo mundo está acontento do uso ou de como vai ser usado, por isso desta discução enorme, porém ainda existe muitas pessoas que nem sabe o que é namespace, por isso vou escrever para tirar as dúvidas e para exemplificar seu funcionamento. O PorqueO uso de namespace é bom para evitarmos conflitos com nomes de classes, métodos e para o uso de classes com nomes gigantes ex: Super_ultra_mega_nome_da_classe_que_faz_algo, surgindo diversas facilidades na hora de usarmos pacotes e incluirmos bibliotecas. Antes de tudoMétodos estáticos, no caso quando se usa métodos estáticos não há a necessidade de se instanciar a classe, segue exemplo abaixo CODE:
A discuçãoA grande discução disto tudo foi qual seria o separador do namespace, em muitas linguagens usa-se o "::" também (alias, mesmo separador que o estático), porem com a chamada em maiúscula Foo::bar(), neste caso ele pode ser confundido com um separador para chamadas de métodos estáticos, o que criaria uma confusão, neste caso então rolou uma discução em qual outro separador deveria ser usado, em principio discutiu-se muito o separador ":::" com o separador "\", no caso foi escolhido o \ por diversos motivos, que pode-se ser visto aqui. ExemplosNeste primeiro exemplo vamos lidar com nomes de classes gigantes para vermos como fica com a declaração do namespace: mysql_base.php CODE:
CODE:
Lidando com nomes de classes e metodos que possam surgir com nomes iguais arquivo1.php CODE:
CODE:
Vamos a outro exemplo simples de como podemos lidar nomes de funções/métodos iguais diante do sistema CODE:
Autoloading de Objetos no PHPNovembro 3, 2008 on 1:12 pm | In Informatica, php | 1 CommentUma das coisas mais chatas é ter que inserir milhares de includes, gerencia-los e não errar nos Paths quando você tem as classes em diferentes pastas, no PHP 5 isso foi resolvido com o construtor __autoload(), o que ele faz é que quando você chama uma class/interface que não foi definida ele lê automaticamente para você, vejamos um exemplo : PHP:
Porém ela pode ser muito mais, imaginando que você tenha as classes em diferentes diretorios e esta usando um MVC, ou tem sua propria estrutura com diversas camadas, você pode na primeira camada criar esta função para que ela leia diferentes pastas procurando sua classe e assim que achar chama-la, sem se preucupar em chamar nenhuma classe, somente utiliza-las : PHP:
|
![]()
Powered by WordPress. Theme designed by Lunarpages Web Hosting. |