3v4l.org

run code in 500+ PHP versions simultaneously
<?php class Participante { // Propiedades (variables de la clase) public $nickname; public $archivos; // Constructor (se ejecuta al crear el objeto) public function __construct($nickname) { $this->nickname = $nickname; $this->archivos = $archivos; } // Método (función de la clase) public function subirArchivo($nombre, $tipo, $tamañoMB) { if ($tamañoMB >50){ return "El archivo no puede ser mayor de 50 Mb"; }else if ( $tipo !== "foto" || $tipo !== "video"){ return " El archivo debe ser una foto o video"; } //else { return [ "nombre" => $nombre, "tipo" => $tipo, "tamaño" => $tamañoMB ]; //} echo " Archivo guardado exitosamente"; } // Método cerrar public function verArchivos(){ $archivo = subirArchivo (); } } // Crear un objeto de la clase $participante = new Participante("Salfus"); // Acceder a sus propiedades echo $participante->nickname . "\n"; // Llamar a un método echo $participante->subirArchivo("archivo1", "foto", "51") . "\n"; echo $participante->subirArchivo("archivo2", "video", "5") . "\n"; echo $participante->subirArchivo("archivo3", "pdf", "51") . "\n"; echo $participante->verArchivos() . "\n";
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ahAE4
function name:  (null)
number of ops:  33
compiled vars:  !0 = $participante
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   37     0  E >   NEW                                                  $1      'Participante'
          1        SEND_VAL_EX                                                  'Salfus'
          2        DO_FCALL                                          0          
          3        ASSIGN                                                       !0, $1
   40     4        FETCH_OBJ_R                                          ~4      !0, 'nickname'
          5        CONCAT                                               ~5      ~4, '%0A'
          6        ECHO                                                         ~5
   43     7        INIT_METHOD_CALL                                             !0, 'subirArchivo'
          8        SEND_VAL_EX                                                  'archivo1'
          9        SEND_VAL_EX                                                  'foto'
         10        SEND_VAL_EX                                                  '51'
         11        DO_FCALL                                          0  $6      
         12        CONCAT                                               ~7      $6, '%0A'
         13        ECHO                                                         ~7
   44    14        INIT_METHOD_CALL                                             !0, 'subirArchivo'
         15        SEND_VAL_EX                                                  'archivo2'
         16        SEND_VAL_EX                                                  'video'
         17        SEND_VAL_EX                                                  '5'
         18        DO_FCALL                                          0  $8      
         19        CONCAT                                               ~9      $8, '%0A'
         20        ECHO                                                         ~9
   45    21        INIT_METHOD_CALL                                             !0, 'subirArchivo'
         22        SEND_VAL_EX                                                  'archivo3'
         23        SEND_VAL_EX                                                  'pdf'
         24        SEND_VAL_EX                                                  '51'
         25        DO_FCALL                                          0  $10     
         26        CONCAT                                               ~11     $10, '%0A'
         27        ECHO                                                         ~11
   48    28        INIT_METHOD_CALL                                             !0, 'verArchivos'
         29        DO_FCALL                                          0  $12     
         30        CONCAT                                               ~13     $12, '%0A'
         31        ECHO                                                         ~13
         32      > RETURN                                                       1

Class Participante:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ahAE4
function name:  __construct
number of ops:  6
compiled vars:  !0 = $nickname, !1 = $archivos
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    8     0  E >   RECV                                                 !0      
    9     1        ASSIGN_OBJ                                                   'nickname'
          2        OP_DATA                                                      !0
   10     3        ASSIGN_OBJ                                                   'archivos'
          4        OP_DATA                                                      !1
   11     5      > RETURN                                                       null

End of function __construct

Function subirarchivo:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 7
Branch analysis from position: 5
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 47) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 13
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
filename:       /in/ahAE4
function name:  subirArchivo
number of ops:  19
compiled vars:  !0 = $nombre, !1 = $tipo, !2 = $tamañoMB
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   14     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
          2        RECV                                                 !2      
   15     3        IS_SMALLER                                                   50, !2
          4      > JMPZ                                                         ~3, ->7
   16     5    > > RETURN                                                       'El+archivo+no+puede+ser+mayor+de+50+Mb'
   15     6*       JMP                                                          ->13
   17     7    >   IS_NOT_IDENTICAL                                     ~4      !1, 'foto'
          8      > JMPNZ_EX                                             ~4      ~4, ->11
          9    >   IS_NOT_IDENTICAL                                     ~5      !1, 'video'
         10        BOOL                                                 ~4      ~5
         11    > > JMPZ                                                         ~4, ->13
   18    12    > > RETURN                                                       '+El+archivo+debe+ser+una+foto+o+video'
   21    13    >   INIT_ARRAY                                           ~6      !0, 'nombre'
   22    14        ADD_ARRAY_ELEMENT                                    ~6      !1, 'tipo'
   23    15        ADD_ARRAY_ELEMENT                                    ~6      !2, 'tama%C3%B1o'
         16      > RETURN                                                       ~6
   27    17*       ECHO                                                         '+Archivo+guardado+exitosamente'
   28    18*     > RETURN                                                       null

End of function subirarchivo

Function verarchivos:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/ahAE4
function name:  verArchivos
number of ops:  4
compiled vars:  !0 = $archivo
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   32     0  E >   INIT_FCALL_BY_NAME                                           'subirArchivo'
          1        DO_FCALL                                          0  $1      
          2        ASSIGN                                                       !0, $1
   33     3      > RETURN                                                       null

End of function verarchivos

End of class Participante.

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
148.1 ms | 1358 KiB | 13 Q