It looks like as of bcompiler 0.9.3 geoff's code above works correctly with the output:
static
construct
testOut
Compilador de código de bytes de PHP (bcompiler)
- Introducción
- Instalación/Configuración
- Constantes predefinidas
- Funciones de bcompiler
- bcompiler_load_exe — Lee y crea clases desde un archivo exe de bcompiler
- bcompiler_load — Lee y crea clases desde un archivo comprimido con bz
- bcompiler_parse_class — Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario
- bcompiler_read — Lee y crea clases ded un gestor de archivo
- bcompiler_write_class — Escribe una clase definida como código de bytes
- bcompiler_write_constant — Escribe una constante definida como código de bytes
- bcompiler_write_exe_footer — Escribe la posición de inicio y la firma al final de un archivo de tipo exe
- bcompiler_write_file — EScribe un archivo fuente de php como código de bytes
- bcompiler_write_footer — Escribe el carácter \x00 para indicar el Final de los datos compilados
- bcompiler_write_function — Escribe una función definida como código de bytes
- bcompiler_write_functions_from_file — Escribe todas las funciones definidas en un archivo como código de bytes
- bcompiler_write_header — Escribe la cabecera de bcompiler
- bcompiler_write_included_filename — Escribe un archivo incluido como código de bytes
rustushki ¶
2 years ago
geoff at spacevs dot com ¶
3 years ago
static vars on classes do not work with bcompiler, eg.
<?PHP
class testClass {
static public $i;
static public function testStatic() {
echo "static\n";
testClass::$i = new testClass();
}
public function __construct() {
echo "construct\n";
}
public function testOut() {
echo "testOut\n";
}
}
testClass::testStatic();
testClass::$i->testOut();
?>
the call to "testOut" will silently fail.
