3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Report_Filter { public $And_Or; public $Report_Field_ID; public $Comparison; public $Value; } class Report_Order_By { public $Report_Field_ID; public $Direction; } class Fixed_Width_Info { public $Report_Field_ID; public $Column_Width; } class Text_Export_Formatting { public $Field_Delimiter = ","; public $Text_Qualifier = "\""; public $Include_Headers = true; public $Apply_Delimiter_To_Headers = true; public $Apply_Qualifier_To_Headers = true; public $Fixed_Width = false; public $Fixed_Widths = array(); // array with Fixed_Width_Info objects } class Header_Formatting { public $Report_Field_ID; public $Bold; public $Italic; public $Underline; public $Alignment; } class Table_Field { public $Area; // Table_Area public $Index; } class Column_Formatting { public $Report_Field_ID; public $Bold; public $Italic; public $Underline; public $Alignment; public $Data_Type; // Data_Type type public $Summary_Type; // Summary_Type type public $Total; public $Pivot_Table_Field; // = new Table_Field(); // Table_Field type } class Table_Theme { private $Header_Total_Background_Color = "#538DD5"; private $Header_Total_Font_Color = "#FFFFFF"; private $Alternating_Row_Background_Color = "#DCE6F1"; private $Alternating_Row_Font_Color = "#000000"; } class Excel_Export_Formatting { public $Type; public $Include_Headers; public $Include_Data_Tab; public $Header_Format; // array of Header_Formatting objects public $Column_Format; // array of Column_Formatting objects public $Table_Theming; // = new Table_Theme(); } class Share_Drive_Information { public $Address; public $Username; public $Password; } class EMail_Information { public $Recipient; public $CC_Recipient; public $BCC_Recipient; public $Subject; public $Body; } class FTP_Information { public $Secure; public $Address; public $Port; public $Path; public $Username; public $Password; } class Delivery_Method { public $Type; public $Share_Drive_Info; //= new Share_Drive_Information(); public $EMail_Info; //= new EMail_Information(); public $FTP_Info; //= new FTP_Information(); } class ReportSettings { public $Report_Platform_ID = null; public $Report_Type_ID = null; public $Report_Field_IDs = array(); // array with native type public $Report_Filters = array(); // array with Report_Filter objects public $Report_Order_Bys = array(); // array with Report_Order_By objects public $Export_Type = "Text"; public $Text_Export; //= new Text_Export_Formatting(); public $Excel_Export; //= new Excel_Export_Formatting(); public $Zip_File = null; public $Encrypt_File = null; public $AES_Encrypt = null; public $Encrypt_Password = "RANDOM PASSWORD"; public $Export_Filename = null; public $Delivery_Methods; //= new Delivery_Method(); } $rp = new ReportSettings(); $rp->Report_Platform_ID = 11; $rp->Report_Type_ID = 11; $rp->Report_Field_IDs = array(12,54,34,23); // $filter_list is an array of filters $filter_list = array( array( 'And_Or' => null, 'Report_Field_ID' => 12, 'Comparison' => '>=', 'Value' => '5000' ), array( 'And_Or' => 'or', 'Report_Field_ID' => 12, 'Comparison' => '<=', 'Value' => '15000' ) ); foreach($filter_list as $f) { $o = new Report_Filter(); $o->And_Or = $f['And_Or']; $o->Report_Field_ID = $f['Report_Field_ID']; $o->Comparison = $f['Comparison']; $o->Value = $f['Value']; $rp->Report_Filters[] = $o; } // $sorted_list is an array of sort filters $sorted_list = array( array( 'Direction' => 'ASC', 'Report_Field_ID' => 12 ) ); foreach($sorted_list as $s) { $o = new Report_Order_By(); $o->Direction = $s['Direction']; $o->Report_Field_ID = $s['Report_Field_ID']; $rp->Report_Order_Bys[] = $o; } $rp->Export_Type = 'text'; $rp->Text_Export = new Text_Export_Formatting(); // $export_settings is an array of settings $rp->Text_Export->Field_Delimiter = ','; $rp->Text_Export->Text_Qualifier = '"'; $rp->Text_Export->Include_Headers = true; $rp->Text_Export->Apply_Delimiter_To_Headers = true; $rp->Text_Export->Apply_Qualifier_To_Headers = true; $rp->Text_Export->Fixed_Width = true; $fixed_widths = array( array( 'Column_Width' => '100', 'Report_Field_ID' => 12 ), array( 'Column_Width' => '200', 'Report_Field_ID' => 54 ) ); if($rp->Text_Export->Fixed_Width) { foreach ($fixed_widths as $e) { $o = new Report_Order_By(); $o->Column_Width = $e['Column_Width']; $o->Report_Field_ID = $e['Report_Field_ID']; $rp->Text_Export->Fixed_Widths[] = $o; } } $rp->Zip_File = 'myzipfile.zip'; $rp->Encrypt_File = true; $rp->AES_Encrypt = false; $rp->Encrypt_Password = 'mys3cr3tp455w0rd5hhh'; $rp->Export_Filename = 'myreport.txt'; $rp->Delivery_Methods = new Delivery_Method(); $rp->Delivery_Methods->Type = 'ftp'; $rp->Delivery_Methods->FTP_Info = new FTP_Information(); $rp->Delivery_Methods->FTP_Info->Secure = true; $rp->Delivery_Methods->FTP_Info->Address = '69.54.18.1'; $rp->Delivery_Methods->FTP_Info->Port = 22; $rp->Delivery_Methods->FTP_Info->Path = '/home/mistermister/htdocs'; $rp->Delivery_Methods->FTP_Info->Username = 'direwolf'; $rp->Delivery_Methods->FTP_Info->Password = 'gh05t'; var_dump($rp);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 11, Position 2 = 31
Branch analysis from position: 11
2 jumps found. (Code = 78) Position 1 = 12, Position 2 = 31
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
Branch analysis from position: 31
2 jumps found. (Code = 77) Position 1 = 34, Position 2 = 48
Branch analysis from position: 34
2 jumps found. (Code = 78) Position 1 = 35, Position 2 = 48
Branch analysis from position: 35
1 jumps found. (Code = 42) Position 1 = 34
Branch analysis from position: 34
Branch analysis from position: 48
2 jumps found. (Code = 43) Position 1 = 77, Position 2 = 94
Branch analysis from position: 77
2 jumps found. (Code = 77) Position 1 = 78, Position 2 = 93
Branch analysis from position: 78
2 jumps found. (Code = 78) Position 1 = 79, Position 2 = 93
Branch analysis from position: 79
1 jumps found. (Code = 42) Position 1 = 78
Branch analysis from position: 78
Branch analysis from position: 93
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 93
Branch analysis from position: 94
Branch analysis from position: 48
Branch analysis from position: 31
filename:       /in/0AMiM
function name:  (null)
number of ops:  144
compiled vars:  !0 = $rp, !1 = $filter_list, !2 = $f, !3 = $o, !4 = $sorted_list, !5 = $s, !6 = $fixed_widths, !7 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  143     0  E >   NEW                                              $8      'ReportSettings'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $8
  145     3        ASSIGN_OBJ                                               !0, 'Report_Platform_ID'
          4        OP_DATA                                                  11
  147     5        ASSIGN_OBJ                                               !0, 'Report_Type_ID'
          6        OP_DATA                                                  11
  149     7        ASSIGN_OBJ                                               !0, 'Report_Field_IDs'
          8        OP_DATA                                                  <array>
  152     9        ASSIGN                                                   !1, <array>
  168    10      > FE_RESET_R                                       $15     !1, ->31
         11    > > FE_FETCH_R                                               $15, !2, ->31
  170    12    >   NEW                                              $16     'Report_Filter'
         13        DO_FCALL                                      0          
         14        ASSIGN                                                   !3, $16
  172    15        FETCH_DIM_R                                      ~20     !2, 'And_Or'
         16        ASSIGN_OBJ                                               !3, 'And_Or'
         17        OP_DATA                                                  ~20
  173    18        FETCH_DIM_R                                      ~22     !2, 'Report_Field_ID'
         19        ASSIGN_OBJ                                               !3, 'Report_Field_ID'
         20        OP_DATA                                                  ~22
  174    21        FETCH_DIM_R                                      ~24     !2, 'Comparison'
         22        ASSIGN_OBJ                                               !3, 'Comparison'
         23        OP_DATA                                                  ~24
  175    24        FETCH_DIM_R                                      ~26     !2, 'Value'
         25        ASSIGN_OBJ                                               !3, 'Value'
         26        OP_DATA                                                  ~26
  177    27        FETCH_OBJ_W                                      $27     !0, 'Report_Filters'
         28        ASSIGN_DIM                                               $27
         29        OP_DATA                                                  !3
  168    30      > JMP                                                      ->11
         31    >   FE_FREE                                                  $15
  181    32        ASSIGN                                                   !4, <array>
  188    33      > FE_RESET_R                                       $30     !4, ->48
         34    > > FE_FETCH_R                                               $30, !5, ->48
  190    35    >   NEW                                              $31     'Report_Order_By'
         36        DO_FCALL                                      0          
         37        ASSIGN                                                   !3, $31
  192    38        FETCH_DIM_R                                      ~35     !5, 'Direction'
         39        ASSIGN_OBJ                                               !3, 'Direction'
         40        OP_DATA                                                  ~35
  193    41        FETCH_DIM_R                                      ~37     !5, 'Report_Field_ID'
         42        ASSIGN_OBJ                                               !3, 'Report_Field_ID'
         43        OP_DATA                                                  ~37
  195    44        FETCH_OBJ_W                                      $38     !0, 'Report_Order_Bys'
         45        ASSIGN_DIM                                               $38
         46        OP_DATA                                                  !3
  188    47      > JMP                                                      ->34
         48    >   FE_FREE                                                  $30
  198    49        ASSIGN_OBJ                                               !0, 'Export_Type'
         50        OP_DATA                                                  'text'
  200    51        NEW                                              $42     'Text_Export_Formatting'
         52        DO_FCALL                                      0          
         53        ASSIGN_OBJ                                               !0, 'Text_Export'
         54        OP_DATA                                                  $42
  203    55        FETCH_OBJ_W                                      $44     !0, 'Text_Export'
         56        ASSIGN_OBJ                                               $44, 'Field_Delimiter'
         57        OP_DATA                                                  '%2C'
  204    58        FETCH_OBJ_W                                      $46     !0, 'Text_Export'
         59        ASSIGN_OBJ                                               $46, 'Text_Qualifier'
         60        OP_DATA                                                  '%22'
  205    61        FETCH_OBJ_W                                      $48     !0, 'Text_Export'
         62        ASSIGN_OBJ                                               $48, 'Include_Headers'
         63        OP_DATA                                                  <true>
  206    64        FETCH_OBJ_W                                      $50     !0, 'Text_Export'
         65        ASSIGN_OBJ                                               $50, 'Apply_Delimiter_To_Headers'
         66        OP_DATA                                                  <true>
  207    67        FETCH_OBJ_W                                      $52     !0, 'Text_Export'
         68        ASSIGN_OBJ                                               $52, 'Apply_Qualifier_To_Headers'
         69        OP_DATA                                                  <true>
  208    70        FETCH_OBJ_W                                      $54     !0, 'Text_Export'
         71        ASSIGN_OBJ                                               $54, 'Fixed_Width'
         72        OP_DATA                                                  <true>
  210    73        ASSIGN                                                   !6, <array>
  221    74        FETCH_OBJ_R                                      ~57     !0, 'Text_Export'
         75        FETCH_OBJ_R                                      ~58     ~57, 'Fixed_Width'
         76      > JMPZ                                                     ~58, ->94
  223    77    > > FE_RESET_R                                       $59     !6, ->93
         78    > > FE_FETCH_R                                               $59, !7, ->93
  225    79    >   NEW                                              $60     'Report_Order_By'
         80        DO_FCALL                                      0          
         81        ASSIGN                                                   !3, $60
  227    82        FETCH_DIM_R                                      ~64     !7, 'Column_Width'
         83        ASSIGN_OBJ                                               !3, 'Column_Width'
         84        OP_DATA                                                  ~64
  228    85        FETCH_DIM_R                                      ~66     !7, 'Report_Field_ID'
         86        ASSIGN_OBJ                                               !3, 'Report_Field_ID'
         87        OP_DATA                                                  ~66
  230    88        FETCH_OBJ_W                                      $67     !0, 'Text_Export'
         89        FETCH_OBJ_W                                      $68     $67, 'Fixed_Widths'
         90        ASSIGN_DIM                                               $68
         91        OP_DATA                                                  !3
  223    92      > JMP                                                      ->78
         93    >   FE_FREE                                                  $59
  234    94    >   ASSIGN_OBJ                                               !0, 'Zip_File'
         95        OP_DATA                                                  'myzipfile.zip'
  235    96        ASSIGN_OBJ                                               !0, 'Encrypt_File'
         97        OP_DATA                                                  <true>
  236    98        ASSIGN_OBJ                                               !0, 'AES_Encrypt'
         99        OP_DATA                                                  <false>
  237   100        ASSIGN_OBJ                                               !0, 'Encrypt_Password'
        101        OP_DATA                                                  'mys3cr3tp455w0rd5hhh'
  238   102        ASSIGN_OBJ                                               !0, 'Export_Filename'
        103        OP_DATA                                                  'myreport.txt'
  240   104        NEW                                              $76     'Delivery_Method'
        105        DO_FCALL                                      0          
        106        ASSIGN_OBJ                                               !0, 'Delivery_Methods'
        107        OP_DATA                                                  $76
  242   108        FETCH_OBJ_W                                      $78     !0, 'Delivery_Methods'
        109        ASSIGN_OBJ                                               $78, 'Type'
        110        OP_DATA                                                  'ftp'
  244   111        NEW                                              $82     'FTP_Information'
        112        DO_FCALL                                      0          
        113        FETCH_OBJ_W                                      $80     !0, 'Delivery_Methods'
        114        ASSIGN_OBJ                                               $80, 'FTP_Info'
        115        OP_DATA                                                  $82
  246   116        FETCH_OBJ_W                                      $84     !0, 'Delivery_Methods'
        117        FETCH_OBJ_W                                      $85     $84, 'FTP_Info'
        118        ASSIGN_OBJ                                               $85, 'Secure'
        119        OP_DATA                                                  <true>
  247   120        FETCH_OBJ_W                                      $87     !0, 'Delivery_Methods'
        121        FETCH_OBJ_W                                      $88     $87, 'FTP_Info'
        122        ASSIGN_OBJ                                               $88, 'Address'
        123        OP_DATA                                                  '69.54.18.1'
  248   124        FETCH_OBJ_W                                      $90     !0, 'Delivery_Methods'
        125        FETCH_OBJ_W                                      $91     $90, 'FTP_Info'
        126        ASSIGN_OBJ                                               $91, 'Port'
        127        OP_DATA                                                  22
  249   128        FETCH_OBJ_W                                      $93     !0, 'Delivery_Methods'
        129        FETCH_OBJ_W                                      $94     $93, 'FTP_Info'
        130        ASSIGN_OBJ                                               $94, 'Path'
        131        OP_DATA                                                  '%2Fhome%2Fmistermister%2Fhtdocs'
  250   132        FETCH_OBJ_W                                      $96     !0, 'Delivery_Methods'
        133        FETCH_OBJ_W                                      $97     $96, 'FTP_Info'
        134        ASSIGN_OBJ                                               $97, 'Username'
        135        OP_DATA                                                  'direwolf'
  251   136        FETCH_OBJ_W                                      $99     !0, 'Delivery_Methods'
        137        FETCH_OBJ_W                                      $100    $99, 'FTP_Info'
        138        ASSIGN_OBJ                                               $100, 'Password'
        139        OP_DATA                                                  'gh05t'
  253   140        INIT_FCALL                                               'var_dump'
        141        SEND_VAR                                                 !0
        142        DO_ICALL                                                 
        143      > RETURN                                                   1

Class Report_Filter: [no user functions]
Class Report_Order_By: [no user functions]
Class Fixed_Width_Info: [no user functions]
Class Text_Export_Formatting: [no user functions]
Class Header_Formatting: [no user functions]
Class Table_Field: [no user functions]
Class Column_Formatting: [no user functions]
Class Table_Theme: [no user functions]
Class Excel_Export_Formatting: [no user functions]
Class Share_Drive_Information: [no user functions]
Class EMail_Information: [no user functions]
Class FTP_Information: [no user functions]
Class Delivery_Method: [no user functions]
Class ReportSettings: [no user functions]

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
148.99 ms | 1400 KiB | 15 Q