Ontem o Omar do iMaster me apresentou a função spl, ele é ótimo para quem está estudando MVC. Ele é mais ou menos assim:
function my_autoloader($class){include 'model/'.$class.'.php';}
spl_autoload_register('my_autoloader');
Eu hospedei o código no index.php. Se você for tentar chamar uma classe assim $produto=new produto() e se ele não encontrar a classe, nesse caso, o PHP vai procurar a solução no spl_autoload, nesse caso particular ele vai procurar o arquivo model/produto.php.
Eu gostei dessa função, assim eu fiquei imaginando em usar a função para abrir um arquivo da pasta view, por exemplo, o viewMenu. O viewMenu não é uma classe, mas sim um formulário. Mesmo assim, o truque funciona, assim:
function my_autoloader($class){
if(substr($class,0,4)=="view"){
require 'View/'.$class.'php';}
spl_autoload_register('my_autoloader');
Para fazer funcionar, eu escrevi $view=new viewMenu( ). E funcionou!
Esse é um recurso super bacana, bem como as constantes do define('constante','valor'). O problema é que o ciclo de vida deles é bem curto. Qualquer solicitação post ou get acaba com a vida deles. O mesmo drama acontece com as classes do MVC.
Pesquisei um pouco mais o PHP e ouvi dizer que existe uma extensão chamada phpize que dá vida a essas mágicas para todos os módulos do PHP, mas na hora de procurar na internet, eu não achei a extensão para o Windows.
Além de não achar a extensão, eu descobri que a função right( ) e left( ) não funcionam no meu código, apesar da versão ser 8.2. Eu tive que trocar por substr($variavel,0,4) para os primeiros quatro caracteres da esquerda e substr($variavel,-4) para os quatro últimos caracteres da direita.
Enfim, não me resta outra escolha senão continuar com a minha improvisação, usar a minha imaginação para dar mais vida a uma variável local o máximo que eu puder.
Pergunta
Frank K Hosaka
Ontem o Omar do iMaster me apresentou a função spl, ele é ótimo para quem está estudando MVC. Ele é mais ou menos assim:
function my_autoloader($class){include 'model/'.$class.'.php';} spl_autoload_register('my_autoloader');
Eu hospedei o código no index.php. Se você for tentar chamar uma classe assim $produto=new produto() e se ele não encontrar a classe, nesse caso, o PHP vai procurar a solução no spl_autoload, nesse caso particular ele vai procurar o arquivo model/produto.php.
Eu gostei dessa função, assim eu fiquei imaginando em usar a função para abrir um arquivo da pasta view, por exemplo, o viewMenu. O viewMenu não é uma classe, mas sim um formulário. Mesmo assim, o truque funciona, assim:
function my_autoloader($class){ if(substr($class,0,4)=="view"){ require 'View/'.$class.'php';} spl_autoload_register('my_autoloader');
Para fazer funcionar, eu escrevi $view=new viewMenu( ). E funcionou!
Esse é um recurso super bacana, bem como as constantes do define('constante','valor'). O problema é que o ciclo de vida deles é bem curto. Qualquer solicitação post ou get acaba com a vida deles. O mesmo drama acontece com as classes do MVC.
Pesquisei um pouco mais o PHP e ouvi dizer que existe uma extensão chamada phpize que dá vida a essas mágicas para todos os módulos do PHP, mas na hora de procurar na internet, eu não achei a extensão para o Windows.
Além de não achar a extensão, eu descobri que a função right( ) e left( ) não funcionam no meu código, apesar da versão ser 8.2. Eu tive que trocar por substr($variavel,0,4) para os primeiros quatro caracteres da esquerda e substr($variavel,-4) para os quatro últimos caracteres da direita.
Enfim, não me resta outra escolha senão continuar com a minha improvisação, usar a minha imaginação para dar mais vida a uma variável local o máximo que eu puder.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.