original_string: public function get($remote_file, $local_file = null, $mode = FTP_ASCII, $asynchronous = false, callable $asyncFn = null) {
  		$this->connectIfNeeded();		
  		$local_file = $this->handle->get($remote_file, $local_file,$mode, $asynchronous, $asyncFn);
  		$this->onFileDownloaded(new Event(['sender' => $this, 'data' => $local_file]));
  		return $local_file;
  	}
code: public function get($remote_file, $local_file = null, $mode = FTP_ASCII, $asynchronous = false, callable $asyncFn = null) {
  		$this->connectIfNeeded();		
  		$local_file = $this->handle->get($remote_file, $local_file,$mode, $asynchronous, $asyncFn);
  		$this->onFileDownloaded(new Event(['sender' => $this, 'data' => $local_file]));
  		return $local_file;
  	}
code_tokens: public function get ( $ remote_file , $ local_file = null , $ mode = FTP_ASCII , $ asynchronous = false , callable $ asyncFn = null ) { $ this -> connectIfNeeded ( ) ; $ local_file = $ this -> handle -> get ( $ remote_file , $ local_file , $ mode , $ asynchronous , $ asyncFn ) ; $ this -> onFileDownloaded ( new Event ( [ 'sender' => $ this , 'data' => $ local_file ] ) ) ; return $ local_file ; }
docstring: Download a file from FTP server.
  
  @param string $remote_file The remote file path.
  @param string|resource $local_file The local file path. If set to <strong>null</strong>, file will be downloaded inside current folder using remote file base name).
  @param int $mode The transfer mode. Must be either <strong>FTP_ASCII</strong> or <strong>FTP_BINARY</strong>.
  @param bool $asynchronous Flag indicating if file transfert should block php application or not.
  @param callable $asyncFn Async callback function called during download process
  
  @return string The full local path (absolute).
docstring_tokens: Download a file from FTP server .