3v4l.org

run code in 500+ PHP versions simultaneously
<?php class Project { const PROJECT_NAME_Funrize = 'Funrize'; const PROJECT_NAME_FunzCity = 'FunzCity'; const PROJECT_NAME_JackpotRabbit = 'JackpotRabbit'; const PROJECT_NAME_Sweepico = 'Sweepico'; const PROJECT_NAME_MrGoodwin = 'MrGoodwin'; const PROJECT_NAME_Mysweepz = 'Mysweepz'; const PROJECT_NAME_Prizeville = 'Prizeville'; const PROJECT_NAME_Cardrize = 'Cardrize'; const PROJECT_ALIASE_FUNRIZE = 'FUN'; const PROJECT_ALIASE_FUNZ_CITY = 'FNC'; const PROJECT_ALIASE_JACKPOT_RABBIT = 'JPR'; const PROJECT_ALIASE_SWEEPICO = 'SWP'; const PROJECT_ALIASE_MR_GOODWIN = 'MRG'; const PROJECT_ALIASE_MYSWEEPZ = 'MYS'; const PROJECT_ALIASE_PRIZEVILLE = 'PRV'; const PROJECT_ALIASE_CARDRIZE = 'CDR'; public static function getProjectNamesWithAliases(): array { return [ Project::PROJECT_NAME_Funrize => Project::PROJECT_ALIASE_FUNRIZE, Project::PROJECT_NAME_FunzCity => Project::PROJECT_ALIASE_FUNZ_CITY, Project::PROJECT_NAME_JackpotRabbit => Project::PROJECT_ALIASE_JACKPOT_RABBIT, Project::PROJECT_NAME_Sweepico => Project::PROJECT_ALIASE_SWEEPICO, Project::PROJECT_NAME_MrGoodwin => Project::PROJECT_ALIASE_MR_GOODWIN, Project::PROJECT_NAME_Mysweepz => Project::PROJECT_ALIASE_MYSWEEPZ, Project::PROJECT_NAME_Prizeville => Project::PROJECT_ALIASE_PRIZEVILLE, Project::PROJECT_NAME_Cardrize=> Project::PROJECT_ALIASE_CARDRIZE, ]; } public static function getProjectAliaseByProjectName(string $projectName): string { if (!isset(self::getProjectNamesWithAliases()[$projectName])) { throw new \InvalidArgumentException('Invalid project name'); } return self::getProjectNames()[$projectName]; } } Project::getProjectAliaseByProjectName(Project::PROJECT_NAME_Funrize); //issuetype != Epic //AND project IN ({Projects}) //AND status NOT IN (Done, Reject, Rejected, "On Prod") //AND sprint IN ( // "{Project_name} future sprint", // "{Project_name} future sprint1", // "{Project_name} future sprint2" //) //AND component = "Back-end" $jql = 'issuetype != Epic' . ' AND project IN ({Projects})' . ' AND status NOT IN (Done, Reject, Rejected, "On Prod")' . ' AND sprint IN ({Sprints})'; $projects = []; foreach (Project::getProjectNamesWithAliases() as $projectName => $projectAlias) { $projects[] = $projectName; } $jql = str_replace('{Projects}', implode(',', $projects), $jql); echo $jql;die; $jql = str_replace('{Projects}', implode(',', Project::getProjectNamesWithAliases()), $jql); echo $jql;
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 13
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 13
1 jumps found. (Code = 61) Position 1 = -2
Branch analysis from position: 13
filename:       /in/MRj6t
function name:  (null)
number of ops:  29
compiled vars:  !0 = $jql, !1 = $projects, !2 = $projectAlias, !3 = $projectName
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   46     0  E >   INIT_STATIC_METHOD_CALL                                      'Project', 'getProjectAliaseByProjectName'
          1        SEND_VAL                                                     'Funrize'
          2        DO_FCALL                                          0          
   57     3        ASSIGN                                                       !0, 'issuetype+%21%3D+Epic+AND+project+IN+%28%7BProjects%7D%29+AND+status+NOT+IN+%28Done%2C+Reject%2C+Rejected%2C+%22On+Prod%22%29+AND+sprint+IN+%28%7BSprints%7D%29'
   62     4        ASSIGN                                                       !1, <array>
   63     5        INIT_STATIC_METHOD_CALL                                      'Project', 'getProjectNamesWithAliases'
          6        DO_FCALL                                          0  $7      
          7      > FE_RESET_R                                           $8      $7, ->13
          8    > > FE_FETCH_R                                           ~9      $8, !2, ->13
          9    >   ASSIGN                                                       !3, ~9
   64    10        ASSIGN_DIM                                                   !1
         11        OP_DATA                                                      !3
   63    12      > JMP                                                          ->8
         13    >   FE_FREE                                                      $8
   67    14        FRAMELESS_ICALL_2                implode             ~12     '%2C', !1
         15        FRAMELESS_ICALL_3                str_replace         ~13     '%7BProjects%7D', ~12
         16        OP_DATA                                                      !0
         17        ASSIGN                                                       !0, ~13
   68    18        ECHO                                                         !0
         19      > INIT_FCALL                                                   'exit'
         20*       DO_ICALL                                                     
   70    21*       INIT_STATIC_METHOD_CALL                                      'Project', 'getProjectNamesWithAliases'
         22*       DO_FCALL                                          0  $16     
         23*       FRAMELESS_ICALL_2                implode             ~17     '%2C', $16
         24*       FRAMELESS_ICALL_3                str_replace         ~18     '%7BProjects%7D', ~17
         25*       OP_DATA                                                      !0
         26*       ASSIGN                                                       !0, ~18
   72    27*       ECHO                                                         !0
   73    28*     > RETURN                                                       1

Class Project:
Function getprojectnameswithaliases:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/MRj6t
function name:  getProjectNamesWithAliases
number of ops:  3
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   26     0  E > > RETURN                                                       <array>
   35     1*       VERIFY_RETURN_TYPE                                           
          2*     > RETURN                                                       null

End of function getprojectnameswithaliases

Function getprojectaliasebyprojectname:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 6, Position 2 = 10
Branch analysis from position: 6
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/MRj6t
function name:  getProjectAliaseByProjectName
number of ops:  17
compiled vars:  !0 = $projectName
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   37     0  E >   RECV                                                 !0      
   39     1        INIT_STATIC_METHOD_CALL                                      'getProjectNamesWithAliases'
          2        DO_FCALL                                          0  $1      
          3        ISSET_ISEMPTY_DIM_OBJ                             0  ~2      $1, !0
          4        BOOL_NOT                                             ~3      ~2
          5      > JMPZ                                                         ~3, ->10
   40     6    >   NEW                                                  $4      'InvalidArgumentException'
          7        SEND_VAL_EX                                                  'Invalid+project+name'
          8        DO_FCALL                                          0          
          9      > THROW                                             0          $4
   42    10    >   INIT_STATIC_METHOD_CALL                                      'getProjectNames'
         11        DO_FCALL                                          0  $6      
         12        FETCH_DIM_R                                          ~7      $6, !0
         13        VERIFY_RETURN_TYPE                                           ~7
         14      > RETURN                                                       ~7
   43    15*       VERIFY_RETURN_TYPE                                           
         16*     > RETURN                                                       null

End of function getprojectaliasebyprojectname

End of class Project.

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
151.03 ms | 813 KiB | 9 Q