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:
<?phpinclude_once("controllers/Controller.php");$controller = new Controller();$controller->invoke();?>
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:
<?phpclass Model{public function conexao() {$servername = "localhost";$usuario = "usuario do banco";$senha = "senha do banco";$dbase = "nome_banco";// Conexao com o SQL Server$link = mssql_connect($servername, $usuario, $senha);if(!$link){
die("Não foi possível estabelecer conexão com o SQL Server.");
}// Verifica a conexao com o SQL Server$db = mssql_select_db($dbase, $link); // Selecao do Banco de Dadosif(!$db){
die("Não foi possível estabelecer conexão com o banco de dados.");
} ////Verifica a conexao com o Banco de Dados}}?>
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.
Comentários
Postar um comentário