Biblioteca externa: usar diretório completo

Prezados, boa tarde.

É possível referenciar um diretório inteiro de bibliotecas externas ao invés de ficar incluindo arquivo por arquivo?

Tenho uma biblioteca bem extensa e está improdutivo ficar indicando cada um dos arquivos .php que vou utilizar.

Desde já, grata pela atenção.

sim é possível, mas para tal tem que ter conhecimento de :

https://www.php.net/manual/pt_BR/language.oop5.autoload.php

essa biblioteca externa demonstra o uso do autoload.

https://drive.google.com/file/d/1QlQsoYXWGMtbXjBaX3Kt_Y4ITGnColjo/view?usp=sharing

aqui o exemplo em v9.3.008

https://drive.google.com/file/d/1QjHi_fAhzj-FnYy3zJMMlf_lneo5zofP/view?usp=sharing <-- importar como aplicação

A aplicação é uma controle que se faz uso da biblioteca:

https://v9.infinitusweb.com.br/forum_sc/control_campo_select_dinamico

Resumindo, o autoload só faz o include da biblioteca quando você a instancia.

Dentro da estrutura de pastas principal da biblioteca eu criei um arquivo Config.inc.php e só faço inclusão dele na aplicação com sc_include_library:

<?php
//By Haroldo - 2016
function __autoload($Class) {
	$iDir= null;

	    if(isset($path_lib_php)) 	$cDir[] =$path_lib_php;
		if(isset($path_libs)) 		$cDir[] =$path_libs;
	   	$cDir[] = '../_lib/libraries/sys/GlobalClass/class';
  	 	$cDir[] = '../_lib/libraries/grp/GlobalClass/class';	
  	 	$cDir[] = '.';

   		foreach ($cDir as $dirname):
			$file="{$dirname}/{$Class}.class.php";
	   		if(!$iDir && file_exists($file) && !is_dir($file) ):
      			include_once($file);
	    	    $iDir = true;
				Break;
   			endif;
		endforeach;
	
	
	if (!$iDir):
		trigger_error("Arquivo da classe não encontrado : {$Class}.class.php", E_USER_ERROR);
	endif;
	
}
?>

Para tal só precisa adicionar os caminhos onde se encontram as classes.
A função varre o array com as pastas (que você atribui em um array com o caminho das classes), ao instanciar a classe o php executa o autoload que localiza o arquivo class dentro da estrutura de pastas e faz seu include.

TAGS> HAROLDO, BIBLIOTECAS, EXTERNAS, AUTOLOAD, CLASSE, PHP, OOP