3v4l.org

run code in 300+ PHP versions simultaneously
<?php class BookMediator { private $authorObject; private $titleObject; function __construct() { $this->authorObject = new BookAuthorColleague($this); $this->titleObject = new BookTitleColleague($this); } function getAuthor() {return $this->authorObject;} function getTitle() {return $this->titleObject;} // when title or author change case, this makes sure the other // stays in sync function change(BookColleague $changingClassIn) { if ($changingClassIn instanceof BookAuthorColleague) { if ('upper' == $changingClassIn->getState()) { if ('upper' != $this->getTitle()->getState()) { $this->getTitle()->setTitleUpperCase($this->getAuthor()->getAuthor()); $this->getTitle()->setTitleLowerCase($this->getAuthor()->getAuthor()); } } elseif ('lower' == $changingClassIn->getState()) { if ('lower' != $this->getTitle()->getState()) { $this->getTitle()->setTitleLowerCase($this->getAuthor()->getAuthor()); $this->getTitle()->setTitleUpperCase($this->getAuthor()->getAuthor()); } } } elseif ($changingClassIn instanceof BookTitleColleague) { if ('upper' == $changingClassIn->getState()) { if ('upper' != $this->getAuthor()->getState()) { $this->getAuthor()->setAuthorUpperCase($this->getTitle()->getTitle()); $this->getAuthor()->setAuthorLowerCase($this->getTitle()->getTitle()); } } elseif ('lower' == $changingClassIn->getState()) { if ('lower' != $this->getAuthor()->getState()) { $this->getAuthor()->setAuthorLowerCase($this->getTitle()->getTitle()); $this->getAuthor()->setAuthorUpperCase($this->getTitle()->getTitle()); } } } } } abstract class BookColleague { private $mediator; function __construct($mediator_in) { $this->mediator = $mediator_in; } function getMediator() {return $this->mediator;} function changed($changingClassIn) { getMediator()->titleChanged($changingClassIn); } } class BookAuthorColleague extends BookColleague { private $author; private $state; function __construct($mediator_in) { parent::__construct($mediator_in); } function getAuthor() {return $this->author;} function setAuthor($author_in) {$this->author = $author_in;} function getState() {return $this->state;} function setState($state_in) {$this->state = $state_in;} function setAuthorUpperCase($message) { $this->setAuthor(strtoupper($message)); $this->setState('upper'); $this->getMediator()->change($this); } function setAuthorLowerCase($message) { $this->setAuthor(strtolower($message)); $this->setState('lower'); $this->getMediator()->change($this); } } class BookTitleColleague extends BookColleague { private $title; private $state; function __construct($mediator_in) { parent::__construct($mediator_in); } function getTitle() {return $this->title;} function setTitle($title_in) {$this->title = $title_in;} function getState() {return $this->state;} function setState($state_in) {$this->state = $state_in;} function setTitleUpperCase($message) { $this->setTitle(strtoupper($message)); $this->setState('upper'); $this->getMediator()->change($this); } function setTitleLowerCase($message) { $this->setTitle(strtolower($message)); $this->setState('lower'); $this->getMediator()->change($this); } } $mediator = new BookMediator(); $author = $mediator->getAuthor(); $title = $mediator->getTitle(); $author->setAuthorLowerCase("hallo"); writeln($author->getAuthor()); writeln($title->getTitle()); $title->setTitleUpperCase("huhu"); writeln($author->getAuthor()); writeln($title->getTitle()); $author->setAuthorUpperCase("huhggu"); writeln($author->getAuthor()); writeln($title->getTitle()); function writeln($line_in) { echo $line_in.'<br/>'; }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  (null)
number of ops:  49
compiled vars:  !0 = $mediator, !1 = $author, !2 = $title
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  100     0  E >   NEW                                              $3      'BookMediator'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $3
  102     3        INIT_METHOD_CALL                                         !0, 'getAuthor'
          4        DO_FCALL                                      0  $6      
          5        ASSIGN                                                   !1, $6
  103     6        INIT_METHOD_CALL                                         !0, 'getTitle'
          7        DO_FCALL                                      0  $8      
          8        ASSIGN                                                   !2, $8
  106     9        INIT_METHOD_CALL                                         !1, 'setAuthorLowerCase'
         10        SEND_VAL_EX                                              'hallo'
         11        DO_FCALL                                      0          
  109    12        INIT_FCALL_BY_NAME                                       'writeln'
         13        INIT_METHOD_CALL                                         !1, 'getAuthor'
         14        DO_FCALL                                      0  $11     
         15        SEND_VAR_NO_REF_EX                                       $11
         16        DO_FCALL                                      0          
  110    17        INIT_FCALL_BY_NAME                                       'writeln'
         18        INIT_METHOD_CALL                                         !2, 'getTitle'
         19        DO_FCALL                                      0  $13     
         20        SEND_VAR_NO_REF_EX                                       $13
         21        DO_FCALL                                      0          
  112    22        INIT_METHOD_CALL                                         !2, 'setTitleUpperCase'
         23        SEND_VAL_EX                                              'huhu'
         24        DO_FCALL                                      0          
  115    25        INIT_FCALL_BY_NAME                                       'writeln'
         26        INIT_METHOD_CALL                                         !1, 'getAuthor'
         27        DO_FCALL                                      0  $16     
         28        SEND_VAR_NO_REF_EX                                       $16
         29        DO_FCALL                                      0          
  116    30        INIT_FCALL_BY_NAME                                       'writeln'
         31        INIT_METHOD_CALL                                         !2, 'getTitle'
         32        DO_FCALL                                      0  $18     
         33        SEND_VAR_NO_REF_EX                                       $18
         34        DO_FCALL                                      0          
  118    35        INIT_METHOD_CALL                                         !1, 'setAuthorUpperCase'
         36        SEND_VAL_EX                                              'huhggu'
         37        DO_FCALL                                      0          
  120    38        INIT_FCALL_BY_NAME                                       'writeln'
         39        INIT_METHOD_CALL                                         !1, 'getAuthor'
         40        DO_FCALL                                      0  $21     
         41        SEND_VAR_NO_REF_EX                                       $21
         42        DO_FCALL                                      0          
  121    43        INIT_FCALL_BY_NAME                                       'writeln'
         44        INIT_METHOD_CALL                                         !2, 'getTitle'
         45        DO_FCALL                                      0  $23     
         46        SEND_VAR_NO_REF_EX                                       $23
         47        DO_FCALL                                      0          
  127    48      > RETURN                                                   1

Function writeln:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  writeln
number of ops:  4
compiled vars:  !0 = $line_in
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  125     0  E >   RECV                                             !0      
  126     1        CONCAT                                           ~1      !0, '%3Cbr%2F%3E'
          2        ECHO                                                     ~1
  127     3      > RETURN                                                   null

End of function writeln

Class BookMediator:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  __construct
number of ops:  13
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   NEW                                              $1      'BookAuthorColleague'
          1        FETCH_THIS                                       $2      
          2        SEND_VAR_EX                                              $2
          3        DO_FCALL                                      0          
          4        ASSIGN_OBJ                                               'authorObject'
          5        OP_DATA                                                  $1
    8     6        NEW                                              $5      'BookTitleColleague'
          7        FETCH_THIS                                       $6      
          8        SEND_VAR_EX                                              $6
          9        DO_FCALL                                      0          
         10        ASSIGN_OBJ                                               'titleObject'
         11        OP_DATA                                                  $5
    9    12      > RETURN                                                   null

End of function __construct

Function getauthor:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getAuthor
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E >   FETCH_OBJ_R                                      ~0      'authorObject'
          1      > RETURN                                                   ~0
          2*     > RETURN                                                   null

End of function getauthor

Function gettitle:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getTitle
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   11     0  E >   FETCH_OBJ_R                                      ~0      'titleObject'
          1      > RETURN                                                   ~0
          2*     > RETURN                                                   null

End of function gettitle

Function change:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 61
Branch analysis from position: 3
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 32
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 31
Branch analysis from position: 13
1 jumps found. (Code = 42) Position 1 = 60
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 120
Branch analysis from position: 120
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 31
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 60
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 60
Branch analysis from position: 42
1 jumps found. (Code = 42) Position 1 = 120
Branch analysis from position: 120
Branch analysis from position: 60
Branch analysis from position: 60
Branch analysis from position: 61
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 120
Branch analysis from position: 63
2 jumps found. (Code = 43) Position 1 = 67, Position 2 = 92
Branch analysis from position: 67
2 jumps found. (Code = 43) Position 1 = 73, Position 2 = 91
Branch analysis from position: 73
1 jumps found. (Code = 42) Position 1 = 120
Branch analysis from position: 120
Branch analysis from position: 91
Branch analysis from position: 92
2 jumps found. (Code = 43) Position 1 = 96, Position 2 = 120
Branch analysis from position: 96
2 jumps found. (Code = 43) Position 1 = 102, Position 2 = 120
Branch analysis from position: 102
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 120
Branch analysis from position: 120
Branch analysis from position: 120
filename:       /in/kEBZt
function name:  change
number of ops:  121
compiled vars:  !0 = $changingClassIn
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   14     0  E >   RECV                                             !0      
   15     1        INSTANCEOF                                               !0, 'BookAuthorColleague'
          2      > JMPZ                                                     ~1, ->61
   16     3    >   INIT_METHOD_CALL                                         !0, 'getState'
          4        DO_FCALL                                      0  $2      
          5        IS_EQUAL                                                 $2, 'upper'
          6      > JMPZ                                                     ~3, ->32
   17     7    >   INIT_METHOD_CALL                                         'getTitle'
          8        DO_FCALL                                      0  $4      
          9        INIT_METHOD_CALL                                         $4, 'getState'
         10        DO_FCALL                                      0  $5      
         11        IS_NOT_EQUAL                                             $5, 'upper'
         12      > JMPZ                                                     ~6, ->31
   18    13    >   INIT_METHOD_CALL                                         'getTitle'
         14        DO_FCALL                                      0  $7      
         15        INIT_METHOD_CALL                                         $7, 'setTitleUpperCase'
         16        INIT_METHOD_CALL                                         'getAuthor'
         17        DO_FCALL                                      0  $8      
         18        INIT_METHOD_CALL                                         $8, 'getAuthor'
         19        DO_FCALL                                      0  $9      
         20        SEND_VAR_NO_REF_EX                                       $9
         21        DO_FCALL                                      0          
   19    22        INIT_METHOD_CALL                                         'getTitle'
         23        DO_FCALL                                      0  $11     
         24        INIT_METHOD_CALL                                         $11, 'setTitleLowerCase'
         25        INIT_METHOD_CALL                                         'getAuthor'
         26        DO_FCALL                                      0  $12     
         27        INIT_METHOD_CALL                                         $12, 'getAuthor'
         28        DO_FCALL                                      0  $13     
         29        SEND_VAR_NO_REF_EX                                       $13
         30        DO_FCALL                                      0          
         31    > > JMP                                                      ->60
   21    32    >   INIT_METHOD_CALL                                         !0, 'getState'
         33        DO_FCALL                                      0  $15     
         34        IS_EQUAL                                                 $15, 'lower'
         35      > JMPZ                                                     ~16, ->60
   22    36    >   INIT_METHOD_CALL                                         'getTitle'
         37        DO_FCALL                                      0  $17     
         38        INIT_METHOD_CALL                                         $17, 'getState'
         39        DO_FCALL                                      0  $18     
         40        IS_NOT_EQUAL                                             $18, 'lower'
         41      > JMPZ                                                     ~19, ->60
   23    42    >   INIT_METHOD_CALL                                         'getTitle'
         43        DO_FCALL                                      0  $20     
         44        INIT_METHOD_CALL                                         $20, 'setTitleLowerCase'
         45        INIT_METHOD_CALL                                         'getAuthor'
         46        DO_FCALL                                      0  $21     
         47        INIT_METHOD_CALL                                         $21, 'getAuthor'
         48        DO_FCALL                                      0  $22     
         49        SEND_VAR_NO_REF_EX                                       $22
         50        DO_FCALL                                      0          
   24    51        INIT_METHOD_CALL                                         'getTitle'
         52        DO_FCALL                                      0  $24     
         53        INIT_METHOD_CALL                                         $24, 'setTitleUpperCase'
         54        INIT_METHOD_CALL                                         'getAuthor'
         55        DO_FCALL                                      0  $25     
         56        INIT_METHOD_CALL                                         $25, 'getAuthor'
         57        DO_FCALL                                      0  $26     
         58        SEND_VAR_NO_REF_EX                                       $26
         59        DO_FCALL                                      0          
         60    > > JMP                                                      ->120
   27    61    >   INSTANCEOF                                               !0, 'BookTitleColleague'
         62      > JMPZ                                                     ~28, ->120
   28    63    >   INIT_METHOD_CALL                                         !0, 'getState'
         64        DO_FCALL                                      0  $29     
         65        IS_EQUAL                                                 $29, 'upper'
         66      > JMPZ                                                     ~30, ->92
   29    67    >   INIT_METHOD_CALL                                         'getAuthor'
         68        DO_FCALL                                      0  $31     
         69        INIT_METHOD_CALL                                         $31, 'getState'
         70        DO_FCALL                                      0  $32     
         71        IS_NOT_EQUAL                                             $32, 'upper'
         72      > JMPZ                                                     ~33, ->91
   30    73    >   INIT_METHOD_CALL                                         'getAuthor'
         74        DO_FCALL                                      0  $34     
         75        INIT_METHOD_CALL                                         $34, 'setAuthorUpperCase'
         76        INIT_METHOD_CALL                                         'getTitle'
         77        DO_FCALL                                      0  $35     
         78        INIT_METHOD_CALL                                         $35, 'getTitle'
         79        DO_FCALL                                      0  $36     
         80        SEND_VAR_NO_REF_EX                                       $36
         81        DO_FCALL                                      0          
   31    82        INIT_METHOD_CALL                                         'getAuthor'
         83        DO_FCALL                                      0  $38     
         84        INIT_METHOD_CALL                                         $38, 'setAuthorLowerCase'
         85        INIT_METHOD_CALL                                         'getTitle'
         86        DO_FCALL                                      0  $39     
         87        INIT_METHOD_CALL                                         $39, 'getTitle'
         88        DO_FCALL                                      0  $40     
         89        SEND_VAR_NO_REF_EX                                       $40
         90        DO_FCALL                                      0          
         91    > > JMP                                                      ->120
   33    92    >   INIT_METHOD_CALL                                         !0, 'getState'
         93        DO_FCALL                                      0  $42     
         94        IS_EQUAL                                                 $42, 'lower'
         95      > JMPZ                                                     ~43, ->120
   34    96    >   INIT_METHOD_CALL                                         'getAuthor'
         97        DO_FCALL                                      0  $44     
         98        INIT_METHOD_CALL                                         $44, 'getState'
         99        DO_FCALL                                      0  $45     
        100        IS_NOT_EQUAL                                             $45, 'lower'
        101      > JMPZ                                                     ~46, ->120
   35   102    >   INIT_METHOD_CALL                                         'getAuthor'
        103        DO_FCALL                                      0  $47     
        104        INIT_METHOD_CALL                                         $47, 'setAuthorLowerCase'
        105        INIT_METHOD_CALL                                         'getTitle'
        106        DO_FCALL                                      0  $48     
        107        INIT_METHOD_CALL                                         $48, 'getTitle'
        108        DO_FCALL                                      0  $49     
        109        SEND_VAR_NO_REF_EX                                       $49
        110        DO_FCALL                                      0          
   36   111        INIT_METHOD_CALL                                         'getAuthor'
        112        DO_FCALL                                      0  $51     
        113        INIT_METHOD_CALL                                         $51, 'setAuthorUpperCase'
        114        INIT_METHOD_CALL                                         'getTitle'
        115        DO_FCALL                                      0  $52     
        116        INIT_METHOD_CALL                                         $52, 'getTitle'
        117        DO_FCALL                                      0  $53     
        118        SEND_VAR_NO_REF_EX                                       $53
        119        DO_FCALL                                      0          
   40   120    > > RETURN                                                   null

End of function change

End of class BookMediator.

Class BookColleague:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  __construct
number of ops:  4
compiled vars:  !0 = $mediator_in
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   45     0  E >   RECV                                             !0      
   46     1        ASSIGN_OBJ                                               'mediator'
          2        OP_DATA                                                  !0
   47     3      > RETURN                                                   null

End of function __construct

Function getmediator:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getMediator
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   48     0  E >   FETCH_OBJ_R                                      ~0      'mediator'
          1      > RETURN                                                   ~0
          2*     > RETURN                                                   null

End of function getmediator

Function changed:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  changed
number of ops:  7
compiled vars:  !0 = $changingClassIn
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   RECV                                             !0      
   50     1        INIT_FCALL_BY_NAME                                       'getMediator'
          2        DO_FCALL                                      0  $1      
          3        INIT_METHOD_CALL                                         $1, 'titleChanged'
          4        SEND_VAR_EX                                              !0
          5        DO_FCALL                                      0          
   51     6      > RETURN                                                   null

End of function changed

End of class BookColleague.

Class BookAuthorColleague:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  __construct
number of ops:  5
compiled vars:  !0 = $mediator_in
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   57     0  E >   RECV                                             !0      
   58     1        INIT_STATIC_METHOD_CALL                                  
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0          
   59     4      > RETURN                                                   null

End of function __construct

Function getauthor:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getAuthor
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   60     0  E >   FETCH_OBJ_R                                      ~0      'author'
          1      > RETURN                                                   ~0
          2*     > RETURN                                                   null

End of function getauthor

Function setauthor:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  setAuthor
number of ops:  4
compiled vars:  !0 = $author_in
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   61     0  E >   RECV                                             !0      
          1        ASSIGN_OBJ                                               'author'
          2        OP_DATA                                                  !0
          3      > RETURN                                                   null

End of function setauthor

Function getstate:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getState
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   62     0  E >   FETCH_OBJ_R                                      ~0      'state'
          1      > RETURN                                                   ~0
          2*     > RETURN                                                   null

End of function getstate

Function setstate:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  setState
number of ops:  4
compiled vars:  !0 = $state_in
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   63     0  E >   RECV                                             !0      
          1        ASSIGN_OBJ                                               'state'
          2        OP_DATA                                                  !0
          3      > RETURN                                                   null

End of function setstate

Function setauthoruppercase:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  setAuthorUpperCase
number of ops:  17
compiled vars:  !0 = $message
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   64     0  E >   RECV                                             !0      
   65     1        INIT_METHOD_CALL                                         'setAuthor'
          2        INIT_FCALL                                               'strtoupper'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $1      
          5        SEND_VAR_NO_REF_EX                                       $1
          6        DO_FCALL                                      0          
   66     7        INIT_METHOD_CALL                                         'setState'
          8        SEND_VAL_EX                                              'upper'
          9        DO_FCALL                                      0          
   67    10        INIT_METHOD_CALL                                         'getMediator'
         11        DO_FCALL                                      0  $4      
         12        INIT_METHOD_CALL                                         $4, 'change'
         13        FETCH_THIS                                       $5      
         14        SEND_VAR_EX                                              $5
         15        DO_FCALL                                      0          
   68    16      > RETURN                                                   null

End of function setauthoruppercase

Function setauthorlowercase:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  setAuthorLowerCase
number of ops:  17
compiled vars:  !0 = $message
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   69     0  E >   RECV                                             !0      
   70     1        INIT_METHOD_CALL                                         'setAuthor'
          2        INIT_FCALL                                               'strtolower'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $1      
          5        SEND_VAR_NO_REF_EX                                       $1
          6        DO_FCALL                                      0          
   71     7        INIT_METHOD_CALL                                         'setState'
          8        SEND_VAL_EX                                              'lower'
          9        DO_FCALL                                      0          
   72    10        INIT_METHOD_CALL                                         'getMediator'
         11        DO_FCALL                                      0  $4      
         12        INIT_METHOD_CALL                                         $4, 'change'
         13        FETCH_THIS                                       $5      
         14        SEND_VAR_EX                                              $5
         15        DO_FCALL                                      0          
   73    16      > RETURN                                                   null

End of function setauthorlowercase

Function getmediator:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getMediator
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   48     0  E >   FETCH_OBJ_R                                      ~0      'mediator'
          1      > RETURN                                                   ~0
          2*     > RETURN                                                   null

End of function getmediator

Function changed:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  changed
number of ops:  7
compiled vars:  !0 = $changingClassIn
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   49     0  E >   RECV                                             !0      
   50     1        INIT_FCALL_BY_NAME                                       'getMediator'
          2        DO_FCALL                                      0  $1      
          3        INIT_METHOD_CALL                                         $1, 'titleChanged'
          4        SEND_VAR_EX                                              !0
          5        DO_FCALL                                      0          
   51     6      > RETURN                                                   null

End of function changed

End of class BookAuthorColleague.

Class BookTitleColleague:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  __construct
number of ops:  5
compiled vars:  !0 = $mediator_in
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   79     0  E >   RECV                                             !0      
   80     1        INIT_STATIC_METHOD_CALL                                  
          2        SEND_VAR_EX                                              !0
          3        DO_FCALL                                      0          
   81     4      > RETURN                                                   null

End of function __construct

Function gettitle:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/kEBZt
function name:  getTitle
number of ops:  3
compiled vars:  none
line      #*

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
187.01 ms | 1433 KiB | 17 Q