[Resolvido] Mini-framework para inclusão de arquivos
Bom, pensei em desenvolver um mini-framework com a seguinte intenção: evitar "trocentos" includes no início de nossas páginas. Imagine o seguinte cenário:
<?phpinclude('config.php');include('class.db.php');include('login.php');include('extra.php');......?>Em certas páginas, a lista chega a ser grande e exagerada. Então, a intenção é diminuir o máximo possível.
Estou partindo do princípio que todas suas classes estão localizadas em um diretório, tipo: classes e todos os arquivos de inclusões estão em outro, tipo: inc.
Então, segue o exemplo.
index.php
<?phprequire_once('config-include.php');loadFiles('classes','class.pg1.php,class.pg2');loadFiles('inc/','bla.inc,ble.inc.php');?>
>
Nota: repare o nome dos diretório podem vir ou não com / no final.
Nota2: repare que o nome do arquivo pode vir ou não com a extensão .php
config-include.php
<?php/*** Função para incluir todos os arquivos necessários em um dado momento* @author Leandro Vieira Pinho <leandroimasters@plugsites.net>* @version 1.0* @license TOTAL FREE* @param string $dir caminho do diretório onde os arquivos estão localizados* @param string $files nome dos arquivos sem a extensão .PHP*/function loadFiles($dir,$files) { // Verifica se o nome do diretório contém a barra no final $barraFinalDir = substr($dir,-1); // Acrescenta a barra no final do nome do diretório caso ela não tenha sido especificada if ( $barraFinalDir !== '/' ) { $dir = $dir . '/'; } // Divide a string em várias strings, onde cada uma delas é o nome de arquivo $files = explode(',',$files); // Faz um loop para inclusão dos arquivos foreach($files as $fileInclude) { // Verifica se a extensão do arquivo foi especificada $extensaoArquivo = substr($fileInclude,-4); // Se não for especificado a extensão .php, acrescenta a extensão ao nome do arquivo if ( $extensaoArquivo !== '.php') { $fileInclude = $fileInclude . '.php'; } // Verifica se os arquivos realmente existem; se não para o script e informado qual não existe if ( !file_exists($dir . $fileInclude) ) { exit('<p>O arquivo <strong>' . $fileInclude . '</strong> não foi encontrado no diretório informado: <strong>' . $dir . '</strong></p>'); } else { // Faz a inclusão dos arquivos desejados @include($dir . $fileInclude); } } // Fim do foreach de inclusão dos arquivos } // Fim da função loadFiles?>Bom, houve uma discussão legal aqui: [http://forum.imasters.com.br/index.php?showtopic=199911](http://forum.imasters.com.br/index.php?showtopic=199911). Mas mesmo assim postei este mini-framework. Caso alguém queria utilizá-lo ou melhorá-lo fique a vontade.Discussão (0)
Carregando comentários...