Alternativa o require_once - Comunidade Portuguesa de PHP
Transcrição
Alternativa o require_once - Comunidade Portuguesa de PHP
Alternativa o require_once Posted by msimoes - 2007/06/27 22:46 _____________________________________ Boas, Deixo aqui uma pequena classe para utilização em requires em qualquer momento durante uma aplicação. Esta classe tem o objecto de manter o registo de quais os ficheiros que já se encontram "loaded" em vês de ser utilizado o require_once. NOTA: esta classe é baseada parcialmente no loader.php do Joomla! 1.5, com algumas alterações da minha responsabilidade. UTILIZAÇÃO: 1. Para iniciar o uso da classe basta fazer o require do ficheiro, sem inicialização da classe visto que não é suposto ser usada como objecto. require path.to.'myLoader.php' 2. Utilizar a função load() ( não a load que se encontra dentro da classe ) com parametros: $path = caminho para o ficheiro + ficheiro ( trocar as '/' por '.' e remover o '.php' que é inserido automaticamente ) $base = se esta variável não for definida a inicialização do path tem por base a localização do myLoader.php, de outra forma, será utilizado o caminho indicado. ( uso um exemplo real utilizado no Joomla! 1.5 ) load( 'joomla.base.object' ); Este exemplo, após a função tratar do que é enviado, seria traduzido por: require_once( $base . '/joomla/base/object.php' ); Esta classe é muito simples, mas facilita em muito a necessidade de uso dos "requires" e aumenta a performance de qualquer aplicação removendo os *_once e mantendo a informção numa variável estática ( static ) <?php /*** * @version $Id: myLoader.php $ * @author Miguel Simões <[email protected]> * @license GNU/GPL, see LICENSE * This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. ***/ class myLoader { public function load( $path , $base ) { static $myLibraries; if( !isset( $myLibraries ) ) $myLibraries = array(); if( !isset( $myLibraries ) ) { $myLibraries = true; if( is_null( $base ) ) $base = dirname( __FILE__ ); require $base . DS . str_replace( '.', '/' , $path ) . '.php'; } return true; } } function load( $path , $base = null ) { PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 30 September, 2016, 15:02 myLoader::load( $path , $base ); } ?> Cumprimentos, Miguel Simões ============================================================================ Re:Alternativa o require_once Posted by mAiN_iNfEcTiOn - 2007/07/28 02:53 _____________________________________ Eu juro que não percebi... 1º Passo, chamo faço o require do file da classe; CHECK 2º Passo, utilizar a função load(). Ora eu tive a ver o código e se eu mandasse entao o exemplo que disseste: load( 'joomla.base.object' ); isso não iria surtir num erro?! Eu não vejo onde é que fazes a divisão de código por pontos! ex: split(".",$path); (Eu temo que diga uma asneira, mas isso tá relacionado com os arrays? é que nao tou a ver como fazes a divisão para depois a string ficar no formato: '/joomla/base/object.php' ============================================================================ Re:Alternativa o require_once Posted by msimoes - 2007/07/28 18:31 _____________________________________ Boas, A passagem do "." para o separador de directoria encontra-se em: require $base . DS . str_replace( '.', '/' , $path ) . '.php'; Usando como exemplo o código por ti colocado, o resultado final ficaria: require $base . DS . 'joomla' . DS . 'base' . DS . 'object' . '.php; Cumprimentos, Miguel Simões ============================================================================ Re:Alternativa o require_once Posted by mAiN_iNfEcTiOn - 2007/07/28 20:05 _____________________________________ Ahhhh malandro... mas isso nao constava no excerto que deste inicialmente :laugh: Pois, primeiro fazes o replace dos pontos pelo delimitador ... presumo que a constante DS seja o delimitador. eh bem :)... mas entao neste caso o codigo de replace estará estático... senão seria: PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 30 September, 2016, 15:02 require $base . DS . str_replace( '.', DS , $path ) . '.php'; Certo? (AFINAL CONSTAVA :X lolol) Post edited by: mAiN_iNfEcTiOn, at: 2007/11/15 10:47 ============================================================================ PHP-PT.com Forum - Comunidade Portuguesa de PHP Joomlaboard Forum Component version: 1.1.4 Stable Generated: 30 September, 2016, 15:02
Documentos relacionados
PDF, AJUDA!
procurei.Agora é o seguinte,como faço para imprimir esse mesmo resultado para pdf.Ja tive a ver várias librarias mas não sei como começar.Eu sei fazer pdf,s mas so não consigo nem sei é como vou bu...
Leia maisDuvida ajuda pff Re:Duvida ajuda pff
Pelo que percebi, tu pretendes que, após inserir o produto, ele vá para a página referente à categoria que foi seleccionada ao inserir o produto (numa espécie de preview para ver se o produto foi l...
Leia mais