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