MVC em PHP Puro – Parte I

A dois anos atrás eu conheci o Zend Framework, fiquei bastante encantada, porem encontrei um pouco de dificuldade, o projeto não deu continuidade e voltei a um projeto em PHP Puro, desde então fiquei pensando em como trabalhar o parte de MVC com o PHP sem a utilização de Framework, assim como os exemplos dados na web eram muito vagos, a maioria apresenta apenas como “Listar” algo vindo do banco de dados em MVC, mas nunca a parte interessante e inicial que é o processo de cadastro.
 
Meu objetivo neste post, mais especificamente nesta primeira parte, é dar a vocês um caminho, de como criar e organizar um projeto PHP Puro com MVC, mostrarei como organizar os arquivos em pastas, como preencher o arquivo índex.php , .htaccess , e a conexão com o banco de dados. Vamos lá?

Bem, em verdade não é meu objetivo explicar detalhadamente o significado de MVC, aprofundar no assunto não é o objetivo, isto é bem mais tranquilo de ser encontrado no Google, ok?
 
O básico disso tudo é que View = Interface com o usuário(formulário de cadastro), Controller = faz a intervenção entre o que é requisitado na view e o Model, e o próprio Model que são as partes referentes a banco de dados.
 
Para desenvolver em PHP MVC decidi por escolher a IDE Eclipse PHP, feito pela Indingo e que serve para utilizar o Zend Framework, com base nisto crie um projeto com o nome que você deseja, dentro dela crie as seguintes pastas: controllers, views e models, e ainda crie os documentos htaccess(txt), e index.php.
 
Vale lembrar que não sou expert em PHP MVC e ainda estou aprendendo, o que estou trazendo aqui é o básico, existe um mundo a se expandir.
Bom no arquivo htaccess coloque o seguinte código:
 
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
rewriteRule ^.*$ index.php [PT,L]
o arquivo índex.php é o responsável por iniciar nossa aplicação, neste caso preencha o mesmo com o seguinte código:

Neste código ele está incluindo a classe Controller e instanciando a classe(objeto), e depois chama a função da classe.  O arquivo de Classe Controller.php é o responsável por chamar a view de login, mas neste post não iremos tratar dos logins, portanto é necessário instanciar no índex.php aquele controller que será sua pagina inicial do sistema, então vamos para a próxima parte que nos interessa.
Na pasta models, crie o arquivo Model.php, ele será responsável pela conexão com o banco, veja o código de exemplo logo abaixo:

 

Observe que, no meu caso utilizei um banco de dados SQL Server, por isso a utilização da sintaxe “mssql”, preencha corretamente a função(metodo) conexão com todos os valores das variáveis.
 
No banco de dados crie a sua tabela de cadastro de cliente, pois esse será o nosso assunto para o post de parte II, criaremos a view(formulário de cadastro), o controller e o model, necessários para o cadastro de cliente no banco.
 
No meu caso utilizei os seguintes campos como exemplo:
NomeUsuario, Login, senha, CodigoTipoPessoa, Cnpj, Cpf, RazaoSocial, DataCadastro, NomeFantasia, InscricaoEstadual, InscricaoMunicipal, CodigoTipoUsuario, Endereco, Cep, TelefoneComercial, TelefoneResidencial, TelefoneRecados, Celular, Fax, Email

 

Até a próxima.
Share

Publicado por

Fabiana Tavares

Analyst / Developer of PHP Systems. In the hours Vagas Biker, survivalist, camper, mountaineer, and fan in love with Atletico-MG