La cuestión es esencialmente sobre el desarrollo de complementos de php cargables dinámicamente en php que no causen interferencia con otros complementos o el código principal.
La única forma que conozco requeriría rediseñar el class_lib.php original y crear una clase 'Plugin' que actuaría como una clase proxy que en cada llamada a función/método ejecutaría una nueva instancia php y pasaría los argumentos de la función con una llamada json_decode y luego eco la respuesta con json_encode.
function proxyExternalFunction($fileName, $functionName, $args, $setupStatements = '') {
$output = array();
$command = $setupStatements.";include('".addslashes($fileName)."');echo json_encode(".$functionName."(";
foreach ($args as $arg) {
$command .= "json_decode('".json_encode($arg)."',true),";
}
if (count($args) > 0) {
$command[strlen($command)-1] = ")";//end of $functionName
}
$command .= ");";//end of json_encode
$command = "php -r ".escapeshellarg($command);
exec($command, $output);
$output = json_decode($output,true);
}
esto tendría que hacerse para cada función de llamada/método a través de una clase de proxy ... no es tan eficiente, y que nunca funcionaría para objetos matrices/asociativos que contienen referencias a recursos u otra variable unserializable referencias.
Otra opción más eficiente sería http://www.php.net/runkit que le permite interactuar con una instancia de php incorporada de larga ejecución.
Debe explicar lo que está tratando de lograr, o más específicamente por qué. Simplemente puede reinstalar el objeto descargando y recargando la definición de clase. – mario
¿Volverá a cargar el script? – Rob
¿Por qué una nueva instancia de MyClass() no funcionará? – lepe