original_string: public function startup()
      {
          if ($this->param('host')) {
              $this->_host = $this->param('host');
          }
          if ($this->param('port')) {
              $this->_port = (int)$this->param('port');
          }
          if ($this->param('document_root')) {
              $this->_documentRoot = $this->param('document_root');
          }
          if ($this->param('ini_path')) {
              $this->_iniPath = $this->param('ini_path');
          }
  
          // For Windows
          if (substr($this->_documentRoot, -1, 1) === DIRECTORY_SEPARATOR) {
              $this->_documentRoot = substr($this->_documentRoot, 0, strlen($this->_documentRoot) - 1);
          }
          if (preg_match("/^([a-z]:)[\\\]+(.+)$/i", $this->_documentRoot, $m)) {
              $this->_documentRoot = $m[1] . '\\' . $m[2];
          }
  
          $this->_iniPath = rtrim($this->_iniPath, DIRECTORY_SEPARATOR);
          if (preg_match("/^([a-z]:)[\\\]+(.+)$/i", $this->_iniPath, $m)) {
              $this->_iniPath = $m[1] . '\\' . $m[2];
          }
  
          parent::startup();
      }
code: public function startup()
      {
          if ($this->param('host')) {
              $this->_host = $this->param('host');
          }
          if ($this->param('port')) {
              $this->_port = (int)$this->param('port');
          }
          if ($this->param('document_root')) {
              $this->_documentRoot = $this->param('document_root');
          }
          if ($this->param('ini_path')) {
              $this->_iniPath = $this->param('ini_path');
          }
  
          // For Windows
          if (substr($this->_documentRoot, -1, 1) === DIRECTORY_SEPARATOR) {
              $this->_documentRoot = substr($this->_documentRoot, 0, strlen($this->_documentRoot) - 1);
          }
          if (preg_match("/^([a-z]:)[\\\]+(.+)$/i", $this->_documentRoot, $m)) {
              $this->_documentRoot = $m[1] . '\\' . $m[2];
          }
  
          $this->_iniPath = rtrim($this->_iniPath, DIRECTORY_SEPARATOR);
          if (preg_match("/^([a-z]:)[\\\]+(.+)$/i", $this->_iniPath, $m)) {
              $this->_iniPath = $m[1] . '\\' . $m[2];
          }
  
          parent::startup();
      }
code_tokens: public function startup ( ) { if ( $ this -> param ( 'host' ) ) { $ this -> _host = $ this -> param ( 'host' ) ; } if ( $ this -> param ( 'port' ) ) { $ this -> _port = ( int ) $ this -> param ( 'port' ) ; } if ( $ this -> param ( 'document_root' ) ) { $ this -> _documentRoot = $ this -> param ( 'document_root' ) ; } if ( $ this -> param ( 'ini_path' ) ) { $ this -> _iniPath = $ this -> param ( 'ini_path' ) ; } // For Windows if ( substr ( $ this -> _documentRoot , - 1 , 1 ) === DIRECTORY_SEPARATOR ) { $ this -> _documentRoot = substr ( $ this -> _documentRoot , 0 , strlen ( $ this -> _documentRoot ) - 1 ) ; } if ( preg_match ( "/^([a-z]:)[\\\]+(.+)$/i" , $ this -> _documentRoot , $ m ) ) { $ this -> _documentRoot = $ m [ 1 ] . '\\' . $ m [ 2 ] ; } $ this -> _iniPath = rtrim ( $ this -> _iniPath , DIRECTORY_SEPARATOR ) ; if ( preg_match ( "/^([a-z]:)[\\\]+(.+)$/i" , $ this -> _iniPath , $ m ) ) { $ this -> _iniPath = $ m [ 1 ] . '\\' . $ m [ 2 ] ; } parent :: startup ( ) ; }
docstring: Starts up the Shell and displays the welcome message.
  Allows for checking and configuring prior to command or main execution
  
  Override this method if you want to remove the welcome information,
  or otherwise modify the pre-command flow.
  
  @return void
  @link https://book.cakephp.org/3.0/en/console-and-shells.html#hook-methods
docstring_tokens: Starts up the Shell and displays the welcome message . Allows for checking and configuring prior to command or main execution