Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Transfer.php
Go to the documentation of this file.
1 <?php
25 #require_once 'Zend/Loader.php';
26 
36 {
42  protected $_adapter = array();
43 
52  public function __construct($adapter = 'Http', $direction = false, $options = array())
53  {
54  $this->setAdapter($adapter, $direction, $options);
55  }
56 
65  public function setAdapter($adapter, $direction = false, $options = array())
66  {
67  if (Zend_Loader::isReadable('Zend/File/Transfer/Adapter/' . ucfirst($adapter). '.php')) {
68  $adapter = 'Zend_File_Transfer_Adapter_' . ucfirst($adapter);
69  }
70 
71  if (!class_exists($adapter)) {
73  }
74 
75  $direction = (integer) $direction;
76  $this->_adapter[$direction] = new $adapter($options);
77  if (!$this->_adapter[$direction] instanceof Zend_File_Transfer_Adapter_Abstract) {
78  #require_once 'Zend/File/Transfer/Exception.php';
79  throw new Zend_File_Transfer_Exception("Adapter " . $adapter . " does not extend Zend_File_Transfer_Adapter_Abstract");
80  }
81 
82  return $this;
83  }
84 
93  public function getAdapter($direction = null)
94  {
95  if ($direction === null) {
96  return $this->_adapter;
97  }
98 
99  $direction = (integer) $direction;
100  return $this->_adapter[$direction];
101  }
102 
110  public function __call($method, array $options)
111  {
112  if (array_key_exists('direction', $options)) {
113  $direction = (integer) $options['direction'];
114  } else {
115  $direction = 0;
116  }
117 
118  if (method_exists($this->_adapter[$direction], $method)) {
119  return call_user_func_array(array($this->_adapter[$direction], $method), $options);
120  }
121 
122  #require_once 'Zend/File/Transfer/Exception.php';
123  throw new Zend_File_Transfer_Exception("Unknown method '" . $method . "' called!");
124  }
125 }
setAdapter($adapter, $direction=false, $options=array())
Definition: Transfer.php:65
static loadClass($class, $dirs=null)
Definition: Loader.php:52
getAdapter($direction=null)
Definition: Transfer.php:93
__call($method, array $options)
Definition: Transfer.php:110
$adapter
Definition: webapi_user.php:16
static isReadable($filename)
Definition: Loader.php:162
$method
Definition: info.phtml:13
__construct($adapter='Http', $direction=false, $options=array())
Definition: Transfer.php:52