original_string: public function check(ExerciseInterface $exercise, Input $input)
      {
          $process = new Process(sprintf('%s -l %s', PHP_BINARY, $input->getArgument('program')));
          $process->run();
  
          if ($process->isSuccessful()) {
              return Success::fromCheck($this);
          }
  
          return Failure::fromCheckAndReason($this, $process->getErrorOutput());
      }
code: public function check(ExerciseInterface $exercise, Input $input)
      {
          $process = new Process(sprintf('%s -l %s', PHP_BINARY, $input->getArgument('program')));
          $process->run();
  
          if ($process->isSuccessful()) {
              return Success::fromCheck($this);
          }
  
          return Failure::fromCheckAndReason($this, $process->getErrorOutput());
      }
code_tokens: public function check ( ExerciseInterface $ exercise , Input $ input ) { $ process = new Process ( sprintf ( '%s -l %s' , PHP_BINARY , $ input -> getArgument ( 'program' ) ) ) ; $ process -> run ( ) ; if ( $ process -> isSuccessful ( ) ) { return Success :: fromCheck ( $ this ) ; } return Failure :: fromCheckAndReason ( $ this , $ process -> getErrorOutput ( ) ) ; }
docstring: Simply check the student's solution can be linted with `php -l`.
  
  @param ExerciseInterface $exercise The exercise to check against.
  @param Input $input The command line arguments passed to the command.
  @return ResultInterface The result of the check.
docstring_tokens: Simply check the student s solution can be linted with php - l .