original_string: public function forever($sceneValue)
      {
          if (is_int($sceneValue) && $sceneValue > 0 && $sceneValue < self::SCENE_MAX_VALUE) {
              $type = self::SCENE_QR_FOREVER;
              $sceneKey = 'scene_id';
          } else {
              $type = self::SCENE_QR_FOREVER_STR;
              $sceneKey = 'scene_str';
          }
          $scene = [$sceneKey => $sceneValue];
  
          return $this->create($type, $scene, false);
      }
code: public function forever($sceneValue)
      {
          if (is_int($sceneValue) && $sceneValue > 0 && $sceneValue < self::SCENE_MAX_VALUE) {
              $type = self::SCENE_QR_FOREVER;
              $sceneKey = 'scene_id';
          } else {
              $type = self::SCENE_QR_FOREVER_STR;
              $sceneKey = 'scene_str';
          }
          $scene = [$sceneKey => $sceneValue];
  
          return $this->create($type, $scene, false);
      }
code_tokens: public function forever ( $ sceneValue ) { if ( is_int ( $ sceneValue ) && $ sceneValue > 0 && $ sceneValue < self :: SCENE_MAX_VALUE ) { $ type = self :: SCENE_QR_FOREVER ; $ sceneKey = 'scene_id' ; } else { $ type = self :: SCENE_QR_FOREVER_STR ; $ sceneKey = 'scene_str' ; } $ scene = [ $ sceneKey => $ sceneValue ] ; return $ this -> create ( $ type , $ scene , false ) ; }
docstring: Create forever QR code.
  
  @param string|int $sceneValue
  
  @return \Psr\Http\Message\ResponseInterface|\EasyWeChat\Kernel\Support\Collection|array|object|string
docstring_tokens: Create forever QR code .