public function check()
    {
        $this->notify(Status::CHECK, $this->loaded);
        $envArgs = explode('|', (string) getenv($this->envAllowXdebug));

        if (empty($envArgs[0]) && $this->requiresRestart((bool) $this->loaded)) {
            // Restart required
            $this->notify(Status::RESTART);

            if ($this->prepareRestart()) {
                $command = $this->getCommand();
                $this->notify(Status::RESTARTING, $command);
                $this->restart($command);
            }
            return;
        }

        if (self::RESTART_ID === $envArgs[0] && count($envArgs) === 5) {
            // Restarting, so unset environment variable and use saved values
            $this->notify(Status::RESTARTED);

            Process::setEnv($this->envAllowXdebug);
            self::$inRestart = true;

            if (!$this->loaded) {
                // Skipped version is only set if xdebug is not loaded
                self::$skipped = $envArgs[1];
            }

            // Put restart settings in the environment
            $this->setEnvRestartSettings($envArgs);
            return;
        }

        $this->notify(Status::NORESTART);

        if ($settings = self::getRestartSettings()) {
            // Called with existing settings, so sync our settings
            $this->syncSettings($settings);
        }
    }
public function check()
    {
        $this->notify(Status::CHECK, $this->loaded);
        $envArgs = explode('|', (string) getenv($this->envAllowXdebug));

        if (empty($envArgs[0]) && $this->requiresRestart((bool) $this->loaded)) {
            // Restart required
            $this->notify(Status::RESTART);

            if ($this->prepareRestart()) {
                $command = $this->getCommand();
                $this->notify(Status::RESTARTING, $command);
                $this->restart($command);
            }
            return;
        }

        if (self::RESTART_ID === $envArgs[0] && count($envArgs) === 5) {
            // Restarting, so unset environment variable and use saved values
            $this->notify(Status::RESTARTED);

            Process::setEnv($this->envAllowXdebug);
            self::$inRestart = true;

            if (!$this->loaded) {
                // Skipped version is only set if xdebug is not loaded
                self::$skipped = $envArgs[1];
            }

            // Put restart settings in the environment
            $this->setEnvRestartSettings($envArgs);
            return;
        }

        $this->notify(Status::NORESTART);

        if ($settings = self::getRestartSettings()) {
            // Called with existing settings, so sync our settings
            $this->syncSettings($settings);
        }
    }
public function check ( ) { $ this -> notify ( Status :: CHECK , $ this -> loaded ) ; $ envArgs = explode ( '|' , ( string ) getenv ( $ this -> envAllowXdebug ) ) ; if ( empty ( $ envArgs [ 0 ] ) && $ this -> requiresRestart ( ( bool ) $ this -> loaded ) ) { // Restart required $ this -> notify ( Status :: RESTART ) ; if ( $ this -> prepareRestart ( ) ) { $ command = $ this -> getCommand ( ) ; $ this -> notify ( Status :: RESTARTING , $ command ) ; $ this -> restart ( $ command ) ; } return ; } if ( self :: RESTART_ID === $ envArgs [ 0 ] && count ( $ envArgs ) === 5 ) { // Restarting, so unset environment variable and use saved values $ this -> notify ( Status :: RESTARTED ) ; Process :: setEnv ( $ this -> envAllowXdebug ) ; self :: $ inRestart = true ; if ( ! $ this -> loaded ) { // Skipped version is only set if xdebug is not loaded self :: $ skipped = $ envArgs [ 1 ] ; } // Put restart settings in the environment $ this -> setEnvRestartSettings ( $ envArgs ) ; return ; } $ this -> notify ( Status :: NORESTART ) ; if ( $ settings = self :: getRestartSettings ( ) ) { // Called with existing settings, so sync our settings $ this -> syncSettings ( $ settings ) ; } }
Checks if xdebug is loaded and the process needs to be restarted

This behaviour can be disabled by setting the MYAPP_ALLOW_XDEBUG
environment variable to 1. This variable is used internally so that
the restarted process is created only once.
Checks if xdebug is loaded and the process needs to be restarted