├── .gitignore ├── epttavm.yml.dist ├── src └── Epttavm │ ├── Exception │ └── EpaException.php │ ├── KayitDurum.php │ ├── BaseDataContract.php │ ├── Variants.php │ ├── EpaApiHeader.php │ ├── StokKontrolDetay.php │ └── ApiClient.php ├── composer.json ├── README.md ├── examples ├── siparis_kontrol_listesi.php └── stok_kontrol_detay.php └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | .idea/ 3 | /epttavm.yml -------------------------------------------------------------------------------- /epttavm.yml.dist: -------------------------------------------------------------------------------- 1 | web_service: 2 | wsdl: "SERVICE_URL" 3 | username: "WEBSERVICE_USERNAME" 4 | password: "WEBSERVICE_PASSWORD" -------------------------------------------------------------------------------- /src/Epttavm/Exception/EpaException.php: -------------------------------------------------------------------------------- 1 | false]); 9 | 10 | $date1 = new DateTime('2018-01-01 00:00:00'); 11 | $date2 = new DateTime(); // now() 12 | $result = $a->SiparisKontrolListesiV2($date1, $date2, 0); 13 | 14 | print_r($result); 15 | 16 | } catch (EpaException $e) { 17 | echo "HATA OLDU:\n".$e->getMessage(); 18 | } 19 | -------------------------------------------------------------------------------- /src/Epttavm/BaseDataContract.php: -------------------------------------------------------------------------------- 1 | {$propertyName} = $arguments[0]; 31 | $this->_validateData(); 32 | return $this; 33 | } 34 | print_r(static::$_properties); 35 | throw new EpaException(sprintf('Invalid method: %s::%s', static::class, $name)); 36 | } 37 | 38 | protected function _validateData(){ 39 | 40 | } 41 | } -------------------------------------------------------------------------------- /src/Epttavm/Variants.php: -------------------------------------------------------------------------------- 1 | wss_ns = $ns; 23 | } 24 | 25 | $auth = new stdClass(); 26 | 27 | $auth->Username = new SoapVar($user, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); 28 | $auth->Password = new SoapVar($pass, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); 29 | $username_token = new stdClass(); 30 | $username_token->UsernameToken = new SoapVar($auth, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns); 31 | $security_sv = new SoapVar( 32 | new SoapVar($username_token, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns), 33 | SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'Security', $this->wss_ns); 34 | 35 | parent::SoapHeader($this->wss_ns, 'Security', $security_sv, true); 36 | } 37 | } -------------------------------------------------------------------------------- /examples/stok_kontrol_detay.php: -------------------------------------------------------------------------------- 1 | false]); 18 | 19 | //Birinci varyant 20 | $v1 = Variants::create() 21 | ->setVariant1Deger('XL') 22 | ->setVariant2Deger('Beyaz') 23 | ->setMiktar(10) 24 | ->setVariantBarkod('Var-001') 25 | ->setFiyat(100.00) 26 | ->setFiyatFarkiMi(false); 27 | 28 | //İkinci varyant 29 | $v2 = Variants::create() 30 | ->setVariant1Deger('L') 31 | ->setVariant2Deger('Siyah') 32 | ->setMiktar(12) 33 | ->setVariantBarkod('Var-002') 34 | ->setFiyat(105.00) 35 | ->setFiyatFarkiMi(false); 36 | 37 | //Stok Detay 38 | $s = StokKontrolDetay::create() 39 | ->setUrunId('a') 40 | ->setShopId(3334) 41 | ->setBarkod('Urun-001') 42 | ->setDurum(KayitDurum::MEVCUT) 43 | ->setUrunAdi('Ürün Adı 001') 44 | ->setAnaKategoriId(129) 45 | ->setAltKategoriId(2425) 46 | ->setTag('test-tag') 47 | ->setKDVsiz(12.34) 48 | ->setAciklama('Ürün Açıklama') 49 | ->setVariantListesi([$v1, $v2]) 50 | ->setResim1Url('https://lh3.googleusercontent.com/-qdwFGB4s4L0/AAAAAAAAAAI/AAAAAAAAAC0/EQxe1kOm1pI/w800-h800/photo.jpg') 51 | ->setAktif(1); 52 | 53 | $res = $a->StokGuncelle($s); 54 | if($res) 55 | echo "BAŞARILI!\n"; 56 | else 57 | echo "İŞLEM BAŞARISIZ!\n"; 58 | } catch (EpaException $e) { 59 | echo "HATA OLDU:\n".$e->getMessage(); 60 | } 61 | -------------------------------------------------------------------------------- /src/Epttavm/StokKontrolDetay.php: -------------------------------------------------------------------------------- 1 | Durum)) { 97 | if (!in_array($this->Durum, [KayitDurum::MEVCUT, KayitDurum::YENI])) 98 | throw new EpaException(sprintf('Geçersiz Durum Türü: %s', $this->Durum)); 99 | if ($this->Durum === KayitDurum::YENI) 100 | unset($this->UrunId); 101 | } 102 | 103 | if (isset($this->Agirlik)) 104 | $this->Agirlik = floatval($this->Agirlik); 105 | } 106 | } -------------------------------------------------------------------------------- /src/Epttavm/ApiClient.php: -------------------------------------------------------------------------------- 1 | debug = (isset($options['debug']) && $options['debug']); 21 | $opts = array( 22 | 'http'=>array( 23 | 'user_agent' => 'PHPSoapClient' 24 | ), 25 | 'ssl' => array( 26 | 'verify_peer' => false, 27 | 'verify_peer_name' => false, 28 | 'allow_self_signed' => true 29 | ) 30 | ); 31 | $context = stream_context_create($opts); 32 | ini_set("default_socket_timeout", 90); 33 | try { 34 | $this->client = new \SoapClient($wsdl, [ 35 | 'soap_version' => SOAP_1_1, 36 | 'stream_context' => $context, 37 | 'exceptions' => true, 38 | 'cache_wsdl' => WSDL_CACHE_NONE, 39 | 'connection_timeout' => 120, 40 | 'trace' => true, 41 | 'allow_self_signed' => true 42 | ]); 43 | $securityHeader = new EpaApiHeader($u, $p); 44 | $this->client->__setSoapHeaders([$securityHeader]); 45 | 46 | } catch (\Exception $e) { 47 | if ($this->debug) { 48 | echo "ERROR:\n".$e->getMessage()."\n"; 49 | echo "TRACE:\n".$e->getTraceAsString()."\n"; 50 | echo "REQUEST:\n".$this->client->__getLastRequest()."\n"; 51 | echo "REQUEST HEADERS:\n".$this->client->__getLastRequestHeaders()."\n"; 52 | echo "RESPONSE:\n".$this->client->__getLastResponse()."\n"; 53 | } 54 | } 55 | } 56 | 57 | /** 58 | * @param string $wsdl API WSDL adresi 59 | * @param string $username API Kullanıcı Adı 60 | * @param string $password API Parola 61 | * @param array $options Ekstra Seçenekler 62 | * 63 | * @return static 64 | */ 65 | public static function init($wsdl, $username, $password, $options = []) { 66 | if (empty($wsdl) || empty($username) || empty($password)) 67 | throw new EpaException('Şu parametreler boş olamaz: wsdl, username, password'); 68 | $k = md5($wsdl.$username.$password); 69 | if (!isset(self::$instance[$k])) 70 | self::$instance[$k] = new self($wsdl, $username, $password, $options); 71 | return self::$instance[$k]; 72 | } 73 | 74 | /** 75 | * @param $name 76 | * @param $arguments 77 | * 78 | * @throws EpaException 79 | */ 80 | public function __call($name, $arguments) 81 | { 82 | try { 83 | return $this->client->__call($name, $arguments); 84 | } catch (\SoapFault $e) { 85 | if ($this->debug) { 86 | echo "ERROR:\n".$e->getMessage()."\n"; 87 | echo "ERROR CODE:\n".$e->faultcode."\n"; 88 | echo "TRACE:\n".$e->getTraceAsString()."\n"; 89 | } 90 | throw new EpaException(sprintf('[%s] %s', $e->faultcode, $e->getMessage()), 500); 91 | } 92 | } 93 | 94 | /** 95 | * @param StokKontrolDetay $stokKontrolDetay 96 | * 97 | * @return mixed 98 | * @throws EpaException 99 | */ 100 | public function StokGuncelle(StokKontrolDetay $stokKontrolDetay) 101 | { 102 | $params = new \stdClass(); 103 | $params->item = $stokKontrolDetay; 104 | $res = $this->__call('StokGuncelle',[$params]); 105 | if ($this->debug) 106 | { 107 | echo "REQUEST:\n".$this->client->__getLastRequest()."\n"; 108 | echo "REQUEST HEADERS:\n".$this->client->__getLastRequestHeaders()."\n"; 109 | echo "RESPONSE:\n".$this->client->__getLastResponse()."\n"; 110 | } 111 | if($res && isset($res->StokGuncelleResult)) 112 | $res = $res->StokGuncelleResult; 113 | return $res; 114 | } 115 | 116 | /** 117 | * @param DateTime $baslangicTarihi 118 | * @param DateTime $bitisTarihi 119 | * @param int $aktifSiparisler 120 | * 121 | * @return mixed 122 | * @throws EpaException 123 | */ 124 | public function SiparisKontrolListesiV2(DateTime $baslangicTarihi, DateTime $bitisTarihi, $aktifSiparisler = 0) 125 | { 126 | $params = new \stdClass(); 127 | $params->BaslangicTarihi = $baslangicTarihi->format(DateTime::RFC3339); 128 | $params->BitisTarihi = $bitisTarihi->format(DateTime::RFC3339); 129 | $params->AktifSiparisler = $aktifSiparisler; 130 | $res = $this->__call('SiparisKontrolListesiV2',[$params]); 131 | 132 | if ($this->debug) 133 | { 134 | echo "REQUEST:\n".$this->client->__getLastRequest()."\n"; 135 | echo "REQUEST HEADERS:\n".$this->client->__getLastRequestHeaders()."\n"; 136 | echo "RESPONSE:\n".$this->client->__getLastResponse()."\n"; 137 | } 138 | 139 | if($res && isset($res->SiparisKontrolListesiV2Result)) 140 | $res = $res->SiparisKontrolListesiV2Result; 141 | 142 | return $res; 143 | } 144 | 145 | } 146 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "hash": "c220347ddd067038cf5719a4d5091425", 8 | "content-hash": "b3ac60a66f275ea25632aa7f96ddd4b9", 9 | "packages": [ 10 | { 11 | "name": "symfony/yaml", 12 | "version": "v3.1.3", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/symfony/yaml.git", 16 | "reference": "1819adf2066880c7967df7180f4f662b6f0567ac" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/symfony/yaml/zipball/1819adf2066880c7967df7180f4f662b6f0567ac", 21 | "reference": "1819adf2066880c7967df7180f4f662b6f0567ac", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "php": ">=5.5.9" 26 | }, 27 | "type": "library", 28 | "extra": { 29 | "branch-alias": { 30 | "dev-master": "3.1-dev" 31 | } 32 | }, 33 | "autoload": { 34 | "psr-4": { 35 | "Symfony\\Component\\Yaml\\": "" 36 | }, 37 | "exclude-from-classmap": [ 38 | "/Tests/" 39 | ] 40 | }, 41 | "notification-url": "https://packagist.org/downloads/", 42 | "license": [ 43 | "MIT" 44 | ], 45 | "authors": [ 46 | { 47 | "name": "Fabien Potencier", 48 | "email": "fabien@symfony.com" 49 | }, 50 | { 51 | "name": "Symfony Community", 52 | "homepage": "https://symfony.com/contributors" 53 | } 54 | ], 55 | "description": "Symfony Yaml Component", 56 | "homepage": "https://symfony.com", 57 | "time": "2016-07-17 14:02:08" 58 | } 59 | ], 60 | "packages-dev": [ 61 | { 62 | "name": "doctrine/instantiator", 63 | "version": "1.0.5", 64 | "source": { 65 | "type": "git", 66 | "url": "https://github.com/doctrine/instantiator.git", 67 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 68 | }, 69 | "dist": { 70 | "type": "zip", 71 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 72 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 73 | "shasum": "" 74 | }, 75 | "require": { 76 | "php": ">=5.3,<8.0-DEV" 77 | }, 78 | "require-dev": { 79 | "athletic/athletic": "~0.1.8", 80 | "ext-pdo": "*", 81 | "ext-phar": "*", 82 | "phpunit/phpunit": "~4.0", 83 | "squizlabs/php_codesniffer": "~2.0" 84 | }, 85 | "type": "library", 86 | "extra": { 87 | "branch-alias": { 88 | "dev-master": "1.0.x-dev" 89 | } 90 | }, 91 | "autoload": { 92 | "psr-4": { 93 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 94 | } 95 | }, 96 | "notification-url": "https://packagist.org/downloads/", 97 | "license": [ 98 | "MIT" 99 | ], 100 | "authors": [ 101 | { 102 | "name": "Marco Pivetta", 103 | "email": "ocramius@gmail.com", 104 | "homepage": "http://ocramius.github.com/" 105 | } 106 | ], 107 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 108 | "homepage": "https://github.com/doctrine/instantiator", 109 | "keywords": [ 110 | "constructor", 111 | "instantiate" 112 | ], 113 | "time": "2015-06-14 21:17:01" 114 | }, 115 | { 116 | "name": "phpdocumentor/reflection-common", 117 | "version": "1.0", 118 | "source": { 119 | "type": "git", 120 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 121 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" 122 | }, 123 | "dist": { 124 | "type": "zip", 125 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 126 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 127 | "shasum": "" 128 | }, 129 | "require": { 130 | "php": ">=5.5" 131 | }, 132 | "require-dev": { 133 | "phpunit/phpunit": "^4.6" 134 | }, 135 | "type": "library", 136 | "extra": { 137 | "branch-alias": { 138 | "dev-master": "1.0.x-dev" 139 | } 140 | }, 141 | "autoload": { 142 | "psr-4": { 143 | "phpDocumentor\\Reflection\\": [ 144 | "src" 145 | ] 146 | } 147 | }, 148 | "notification-url": "https://packagist.org/downloads/", 149 | "license": [ 150 | "MIT" 151 | ], 152 | "authors": [ 153 | { 154 | "name": "Jaap van Otterdijk", 155 | "email": "opensource@ijaap.nl" 156 | } 157 | ], 158 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 159 | "homepage": "http://www.phpdoc.org", 160 | "keywords": [ 161 | "FQSEN", 162 | "phpDocumentor", 163 | "phpdoc", 164 | "reflection", 165 | "static analysis" 166 | ], 167 | "time": "2015-12-27 11:43:31" 168 | }, 169 | { 170 | "name": "phpdocumentor/reflection-docblock", 171 | "version": "3.1.0", 172 | "source": { 173 | "type": "git", 174 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 175 | "reference": "9270140b940ff02e58ec577c237274e92cd40cdd" 176 | }, 177 | "dist": { 178 | "type": "zip", 179 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd", 180 | "reference": "9270140b940ff02e58ec577c237274e92cd40cdd", 181 | "shasum": "" 182 | }, 183 | "require": { 184 | "php": ">=5.5", 185 | "phpdocumentor/reflection-common": "^1.0@dev", 186 | "phpdocumentor/type-resolver": "^0.2.0", 187 | "webmozart/assert": "^1.0" 188 | }, 189 | "require-dev": { 190 | "mockery/mockery": "^0.9.4", 191 | "phpunit/phpunit": "^4.4" 192 | }, 193 | "type": "library", 194 | "autoload": { 195 | "psr-4": { 196 | "phpDocumentor\\Reflection\\": [ 197 | "src/" 198 | ] 199 | } 200 | }, 201 | "notification-url": "https://packagist.org/downloads/", 202 | "license": [ 203 | "MIT" 204 | ], 205 | "authors": [ 206 | { 207 | "name": "Mike van Riel", 208 | "email": "me@mikevanriel.com" 209 | } 210 | ], 211 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 212 | "time": "2016-06-10 09:48:41" 213 | }, 214 | { 215 | "name": "phpdocumentor/type-resolver", 216 | "version": "0.2", 217 | "source": { 218 | "type": "git", 219 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 220 | "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443" 221 | }, 222 | "dist": { 223 | "type": "zip", 224 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443", 225 | "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443", 226 | "shasum": "" 227 | }, 228 | "require": { 229 | "php": ">=5.5", 230 | "phpdocumentor/reflection-common": "^1.0" 231 | }, 232 | "require-dev": { 233 | "mockery/mockery": "^0.9.4", 234 | "phpunit/phpunit": "^5.2||^4.8.24" 235 | }, 236 | "type": "library", 237 | "extra": { 238 | "branch-alias": { 239 | "dev-master": "1.0.x-dev" 240 | } 241 | }, 242 | "autoload": { 243 | "psr-4": { 244 | "phpDocumentor\\Reflection\\": [ 245 | "src/" 246 | ] 247 | } 248 | }, 249 | "notification-url": "https://packagist.org/downloads/", 250 | "license": [ 251 | "MIT" 252 | ], 253 | "authors": [ 254 | { 255 | "name": "Mike van Riel", 256 | "email": "me@mikevanriel.com" 257 | } 258 | ], 259 | "time": "2016-06-10 07:14:17" 260 | }, 261 | { 262 | "name": "phpspec/prophecy", 263 | "version": "v1.6.1", 264 | "source": { 265 | "type": "git", 266 | "url": "https://github.com/phpspec/prophecy.git", 267 | "reference": "58a8137754bc24b25740d4281399a4a3596058e0" 268 | }, 269 | "dist": { 270 | "type": "zip", 271 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0", 272 | "reference": "58a8137754bc24b25740d4281399a4a3596058e0", 273 | "shasum": "" 274 | }, 275 | "require": { 276 | "doctrine/instantiator": "^1.0.2", 277 | "php": "^5.3|^7.0", 278 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", 279 | "sebastian/comparator": "^1.1", 280 | "sebastian/recursion-context": "^1.0" 281 | }, 282 | "require-dev": { 283 | "phpspec/phpspec": "^2.0" 284 | }, 285 | "type": "library", 286 | "extra": { 287 | "branch-alias": { 288 | "dev-master": "1.6.x-dev" 289 | } 290 | }, 291 | "autoload": { 292 | "psr-0": { 293 | "Prophecy\\": "src/" 294 | } 295 | }, 296 | "notification-url": "https://packagist.org/downloads/", 297 | "license": [ 298 | "MIT" 299 | ], 300 | "authors": [ 301 | { 302 | "name": "Konstantin Kudryashov", 303 | "email": "ever.zet@gmail.com", 304 | "homepage": "http://everzet.com" 305 | }, 306 | { 307 | "name": "Marcello Duarte", 308 | "email": "marcello.duarte@gmail.com" 309 | } 310 | ], 311 | "description": "Highly opinionated mocking framework for PHP 5.3+", 312 | "homepage": "https://github.com/phpspec/prophecy", 313 | "keywords": [ 314 | "Double", 315 | "Dummy", 316 | "fake", 317 | "mock", 318 | "spy", 319 | "stub" 320 | ], 321 | "time": "2016-06-07 08:13:47" 322 | }, 323 | { 324 | "name": "phpunit/php-code-coverage", 325 | "version": "2.2.4", 326 | "source": { 327 | "type": "git", 328 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 329 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" 330 | }, 331 | "dist": { 332 | "type": "zip", 333 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", 334 | "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", 335 | "shasum": "" 336 | }, 337 | "require": { 338 | "php": ">=5.3.3", 339 | "phpunit/php-file-iterator": "~1.3", 340 | "phpunit/php-text-template": "~1.2", 341 | "phpunit/php-token-stream": "~1.3", 342 | "sebastian/environment": "^1.3.2", 343 | "sebastian/version": "~1.0" 344 | }, 345 | "require-dev": { 346 | "ext-xdebug": ">=2.1.4", 347 | "phpunit/phpunit": "~4" 348 | }, 349 | "suggest": { 350 | "ext-dom": "*", 351 | "ext-xdebug": ">=2.2.1", 352 | "ext-xmlwriter": "*" 353 | }, 354 | "type": "library", 355 | "extra": { 356 | "branch-alias": { 357 | "dev-master": "2.2.x-dev" 358 | } 359 | }, 360 | "autoload": { 361 | "classmap": [ 362 | "src/" 363 | ] 364 | }, 365 | "notification-url": "https://packagist.org/downloads/", 366 | "license": [ 367 | "BSD-3-Clause" 368 | ], 369 | "authors": [ 370 | { 371 | "name": "Sebastian Bergmann", 372 | "email": "sb@sebastian-bergmann.de", 373 | "role": "lead" 374 | } 375 | ], 376 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 377 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 378 | "keywords": [ 379 | "coverage", 380 | "testing", 381 | "xunit" 382 | ], 383 | "time": "2015-10-06 15:47:00" 384 | }, 385 | { 386 | "name": "phpunit/php-file-iterator", 387 | "version": "1.4.1", 388 | "source": { 389 | "type": "git", 390 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 391 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" 392 | }, 393 | "dist": { 394 | "type": "zip", 395 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", 396 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", 397 | "shasum": "" 398 | }, 399 | "require": { 400 | "php": ">=5.3.3" 401 | }, 402 | "type": "library", 403 | "extra": { 404 | "branch-alias": { 405 | "dev-master": "1.4.x-dev" 406 | } 407 | }, 408 | "autoload": { 409 | "classmap": [ 410 | "src/" 411 | ] 412 | }, 413 | "notification-url": "https://packagist.org/downloads/", 414 | "license": [ 415 | "BSD-3-Clause" 416 | ], 417 | "authors": [ 418 | { 419 | "name": "Sebastian Bergmann", 420 | "email": "sb@sebastian-bergmann.de", 421 | "role": "lead" 422 | } 423 | ], 424 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 425 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 426 | "keywords": [ 427 | "filesystem", 428 | "iterator" 429 | ], 430 | "time": "2015-06-21 13:08:43" 431 | }, 432 | { 433 | "name": "phpunit/php-text-template", 434 | "version": "1.2.1", 435 | "source": { 436 | "type": "git", 437 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 438 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 439 | }, 440 | "dist": { 441 | "type": "zip", 442 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 443 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 444 | "shasum": "" 445 | }, 446 | "require": { 447 | "php": ">=5.3.3" 448 | }, 449 | "type": "library", 450 | "autoload": { 451 | "classmap": [ 452 | "src/" 453 | ] 454 | }, 455 | "notification-url": "https://packagist.org/downloads/", 456 | "license": [ 457 | "BSD-3-Clause" 458 | ], 459 | "authors": [ 460 | { 461 | "name": "Sebastian Bergmann", 462 | "email": "sebastian@phpunit.de", 463 | "role": "lead" 464 | } 465 | ], 466 | "description": "Simple template engine.", 467 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 468 | "keywords": [ 469 | "template" 470 | ], 471 | "time": "2015-06-21 13:50:34" 472 | }, 473 | { 474 | "name": "phpunit/php-timer", 475 | "version": "1.0.8", 476 | "source": { 477 | "type": "git", 478 | "url": "https://github.com/sebastianbergmann/php-timer.git", 479 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" 480 | }, 481 | "dist": { 482 | "type": "zip", 483 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", 484 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", 485 | "shasum": "" 486 | }, 487 | "require": { 488 | "php": ">=5.3.3" 489 | }, 490 | "require-dev": { 491 | "phpunit/phpunit": "~4|~5" 492 | }, 493 | "type": "library", 494 | "autoload": { 495 | "classmap": [ 496 | "src/" 497 | ] 498 | }, 499 | "notification-url": "https://packagist.org/downloads/", 500 | "license": [ 501 | "BSD-3-Clause" 502 | ], 503 | "authors": [ 504 | { 505 | "name": "Sebastian Bergmann", 506 | "email": "sb@sebastian-bergmann.de", 507 | "role": "lead" 508 | } 509 | ], 510 | "description": "Utility class for timing", 511 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 512 | "keywords": [ 513 | "timer" 514 | ], 515 | "time": "2016-05-12 18:03:57" 516 | }, 517 | { 518 | "name": "phpunit/php-token-stream", 519 | "version": "1.4.8", 520 | "source": { 521 | "type": "git", 522 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 523 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" 524 | }, 525 | "dist": { 526 | "type": "zip", 527 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", 528 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", 529 | "shasum": "" 530 | }, 531 | "require": { 532 | "ext-tokenizer": "*", 533 | "php": ">=5.3.3" 534 | }, 535 | "require-dev": { 536 | "phpunit/phpunit": "~4.2" 537 | }, 538 | "type": "library", 539 | "extra": { 540 | "branch-alias": { 541 | "dev-master": "1.4-dev" 542 | } 543 | }, 544 | "autoload": { 545 | "classmap": [ 546 | "src/" 547 | ] 548 | }, 549 | "notification-url": "https://packagist.org/downloads/", 550 | "license": [ 551 | "BSD-3-Clause" 552 | ], 553 | "authors": [ 554 | { 555 | "name": "Sebastian Bergmann", 556 | "email": "sebastian@phpunit.de" 557 | } 558 | ], 559 | "description": "Wrapper around PHP's tokenizer extension.", 560 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 561 | "keywords": [ 562 | "tokenizer" 563 | ], 564 | "time": "2015-09-15 10:49:45" 565 | }, 566 | { 567 | "name": "phpunit/phpunit", 568 | "version": "4.8.26", 569 | "source": { 570 | "type": "git", 571 | "url": "https://github.com/sebastianbergmann/phpunit.git", 572 | "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74" 573 | }, 574 | "dist": { 575 | "type": "zip", 576 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74", 577 | "reference": "fc1d8cd5b5de11625979125c5639347896ac2c74", 578 | "shasum": "" 579 | }, 580 | "require": { 581 | "ext-dom": "*", 582 | "ext-json": "*", 583 | "ext-pcre": "*", 584 | "ext-reflection": "*", 585 | "ext-spl": "*", 586 | "php": ">=5.3.3", 587 | "phpspec/prophecy": "^1.3.1", 588 | "phpunit/php-code-coverage": "~2.1", 589 | "phpunit/php-file-iterator": "~1.4", 590 | "phpunit/php-text-template": "~1.2", 591 | "phpunit/php-timer": "^1.0.6", 592 | "phpunit/phpunit-mock-objects": "~2.3", 593 | "sebastian/comparator": "~1.1", 594 | "sebastian/diff": "~1.2", 595 | "sebastian/environment": "~1.3", 596 | "sebastian/exporter": "~1.2", 597 | "sebastian/global-state": "~1.0", 598 | "sebastian/version": "~1.0", 599 | "symfony/yaml": "~2.1|~3.0" 600 | }, 601 | "suggest": { 602 | "phpunit/php-invoker": "~1.1" 603 | }, 604 | "bin": [ 605 | "phpunit" 606 | ], 607 | "type": "library", 608 | "extra": { 609 | "branch-alias": { 610 | "dev-master": "4.8.x-dev" 611 | } 612 | }, 613 | "autoload": { 614 | "classmap": [ 615 | "src/" 616 | ] 617 | }, 618 | "notification-url": "https://packagist.org/downloads/", 619 | "license": [ 620 | "BSD-3-Clause" 621 | ], 622 | "authors": [ 623 | { 624 | "name": "Sebastian Bergmann", 625 | "email": "sebastian@phpunit.de", 626 | "role": "lead" 627 | } 628 | ], 629 | "description": "The PHP Unit Testing framework.", 630 | "homepage": "https://phpunit.de/", 631 | "keywords": [ 632 | "phpunit", 633 | "testing", 634 | "xunit" 635 | ], 636 | "time": "2016-05-17 03:09:28" 637 | }, 638 | { 639 | "name": "phpunit/phpunit-mock-objects", 640 | "version": "2.3.8", 641 | "source": { 642 | "type": "git", 643 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 644 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" 645 | }, 646 | "dist": { 647 | "type": "zip", 648 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", 649 | "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", 650 | "shasum": "" 651 | }, 652 | "require": { 653 | "doctrine/instantiator": "^1.0.2", 654 | "php": ">=5.3.3", 655 | "phpunit/php-text-template": "~1.2", 656 | "sebastian/exporter": "~1.2" 657 | }, 658 | "require-dev": { 659 | "phpunit/phpunit": "~4.4" 660 | }, 661 | "suggest": { 662 | "ext-soap": "*" 663 | }, 664 | "type": "library", 665 | "extra": { 666 | "branch-alias": { 667 | "dev-master": "2.3.x-dev" 668 | } 669 | }, 670 | "autoload": { 671 | "classmap": [ 672 | "src/" 673 | ] 674 | }, 675 | "notification-url": "https://packagist.org/downloads/", 676 | "license": [ 677 | "BSD-3-Clause" 678 | ], 679 | "authors": [ 680 | { 681 | "name": "Sebastian Bergmann", 682 | "email": "sb@sebastian-bergmann.de", 683 | "role": "lead" 684 | } 685 | ], 686 | "description": "Mock Object library for PHPUnit", 687 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 688 | "keywords": [ 689 | "mock", 690 | "xunit" 691 | ], 692 | "time": "2015-10-02 06:51:40" 693 | }, 694 | { 695 | "name": "sebastian/comparator", 696 | "version": "1.2.0", 697 | "source": { 698 | "type": "git", 699 | "url": "https://github.com/sebastianbergmann/comparator.git", 700 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" 701 | }, 702 | "dist": { 703 | "type": "zip", 704 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", 705 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", 706 | "shasum": "" 707 | }, 708 | "require": { 709 | "php": ">=5.3.3", 710 | "sebastian/diff": "~1.2", 711 | "sebastian/exporter": "~1.2" 712 | }, 713 | "require-dev": { 714 | "phpunit/phpunit": "~4.4" 715 | }, 716 | "type": "library", 717 | "extra": { 718 | "branch-alias": { 719 | "dev-master": "1.2.x-dev" 720 | } 721 | }, 722 | "autoload": { 723 | "classmap": [ 724 | "src/" 725 | ] 726 | }, 727 | "notification-url": "https://packagist.org/downloads/", 728 | "license": [ 729 | "BSD-3-Clause" 730 | ], 731 | "authors": [ 732 | { 733 | "name": "Jeff Welch", 734 | "email": "whatthejeff@gmail.com" 735 | }, 736 | { 737 | "name": "Volker Dusch", 738 | "email": "github@wallbash.com" 739 | }, 740 | { 741 | "name": "Bernhard Schussek", 742 | "email": "bschussek@2bepublished.at" 743 | }, 744 | { 745 | "name": "Sebastian Bergmann", 746 | "email": "sebastian@phpunit.de" 747 | } 748 | ], 749 | "description": "Provides the functionality to compare PHP values for equality", 750 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 751 | "keywords": [ 752 | "comparator", 753 | "compare", 754 | "equality" 755 | ], 756 | "time": "2015-07-26 15:48:44" 757 | }, 758 | { 759 | "name": "sebastian/diff", 760 | "version": "1.4.1", 761 | "source": { 762 | "type": "git", 763 | "url": "https://github.com/sebastianbergmann/diff.git", 764 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" 765 | }, 766 | "dist": { 767 | "type": "zip", 768 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", 769 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", 770 | "shasum": "" 771 | }, 772 | "require": { 773 | "php": ">=5.3.3" 774 | }, 775 | "require-dev": { 776 | "phpunit/phpunit": "~4.8" 777 | }, 778 | "type": "library", 779 | "extra": { 780 | "branch-alias": { 781 | "dev-master": "1.4-dev" 782 | } 783 | }, 784 | "autoload": { 785 | "classmap": [ 786 | "src/" 787 | ] 788 | }, 789 | "notification-url": "https://packagist.org/downloads/", 790 | "license": [ 791 | "BSD-3-Clause" 792 | ], 793 | "authors": [ 794 | { 795 | "name": "Kore Nordmann", 796 | "email": "mail@kore-nordmann.de" 797 | }, 798 | { 799 | "name": "Sebastian Bergmann", 800 | "email": "sebastian@phpunit.de" 801 | } 802 | ], 803 | "description": "Diff implementation", 804 | "homepage": "https://github.com/sebastianbergmann/diff", 805 | "keywords": [ 806 | "diff" 807 | ], 808 | "time": "2015-12-08 07:14:41" 809 | }, 810 | { 811 | "name": "sebastian/environment", 812 | "version": "1.3.7", 813 | "source": { 814 | "type": "git", 815 | "url": "https://github.com/sebastianbergmann/environment.git", 816 | "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716" 817 | }, 818 | "dist": { 819 | "type": "zip", 820 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716", 821 | "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716", 822 | "shasum": "" 823 | }, 824 | "require": { 825 | "php": ">=5.3.3" 826 | }, 827 | "require-dev": { 828 | "phpunit/phpunit": "~4.4" 829 | }, 830 | "type": "library", 831 | "extra": { 832 | "branch-alias": { 833 | "dev-master": "1.3.x-dev" 834 | } 835 | }, 836 | "autoload": { 837 | "classmap": [ 838 | "src/" 839 | ] 840 | }, 841 | "notification-url": "https://packagist.org/downloads/", 842 | "license": [ 843 | "BSD-3-Clause" 844 | ], 845 | "authors": [ 846 | { 847 | "name": "Sebastian Bergmann", 848 | "email": "sebastian@phpunit.de" 849 | } 850 | ], 851 | "description": "Provides functionality to handle HHVM/PHP environments", 852 | "homepage": "http://www.github.com/sebastianbergmann/environment", 853 | "keywords": [ 854 | "Xdebug", 855 | "environment", 856 | "hhvm" 857 | ], 858 | "time": "2016-05-17 03:18:57" 859 | }, 860 | { 861 | "name": "sebastian/exporter", 862 | "version": "1.2.2", 863 | "source": { 864 | "type": "git", 865 | "url": "https://github.com/sebastianbergmann/exporter.git", 866 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" 867 | }, 868 | "dist": { 869 | "type": "zip", 870 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", 871 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", 872 | "shasum": "" 873 | }, 874 | "require": { 875 | "php": ">=5.3.3", 876 | "sebastian/recursion-context": "~1.0" 877 | }, 878 | "require-dev": { 879 | "ext-mbstring": "*", 880 | "phpunit/phpunit": "~4.4" 881 | }, 882 | "type": "library", 883 | "extra": { 884 | "branch-alias": { 885 | "dev-master": "1.3.x-dev" 886 | } 887 | }, 888 | "autoload": { 889 | "classmap": [ 890 | "src/" 891 | ] 892 | }, 893 | "notification-url": "https://packagist.org/downloads/", 894 | "license": [ 895 | "BSD-3-Clause" 896 | ], 897 | "authors": [ 898 | { 899 | "name": "Jeff Welch", 900 | "email": "whatthejeff@gmail.com" 901 | }, 902 | { 903 | "name": "Volker Dusch", 904 | "email": "github@wallbash.com" 905 | }, 906 | { 907 | "name": "Bernhard Schussek", 908 | "email": "bschussek@2bepublished.at" 909 | }, 910 | { 911 | "name": "Sebastian Bergmann", 912 | "email": "sebastian@phpunit.de" 913 | }, 914 | { 915 | "name": "Adam Harvey", 916 | "email": "aharvey@php.net" 917 | } 918 | ], 919 | "description": "Provides the functionality to export PHP variables for visualization", 920 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 921 | "keywords": [ 922 | "export", 923 | "exporter" 924 | ], 925 | "time": "2016-06-17 09:04:28" 926 | }, 927 | { 928 | "name": "sebastian/global-state", 929 | "version": "1.1.1", 930 | "source": { 931 | "type": "git", 932 | "url": "https://github.com/sebastianbergmann/global-state.git", 933 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" 934 | }, 935 | "dist": { 936 | "type": "zip", 937 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", 938 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", 939 | "shasum": "" 940 | }, 941 | "require": { 942 | "php": ">=5.3.3" 943 | }, 944 | "require-dev": { 945 | "phpunit/phpunit": "~4.2" 946 | }, 947 | "suggest": { 948 | "ext-uopz": "*" 949 | }, 950 | "type": "library", 951 | "extra": { 952 | "branch-alias": { 953 | "dev-master": "1.0-dev" 954 | } 955 | }, 956 | "autoload": { 957 | "classmap": [ 958 | "src/" 959 | ] 960 | }, 961 | "notification-url": "https://packagist.org/downloads/", 962 | "license": [ 963 | "BSD-3-Clause" 964 | ], 965 | "authors": [ 966 | { 967 | "name": "Sebastian Bergmann", 968 | "email": "sebastian@phpunit.de" 969 | } 970 | ], 971 | "description": "Snapshotting of global state", 972 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 973 | "keywords": [ 974 | "global state" 975 | ], 976 | "time": "2015-10-12 03:26:01" 977 | }, 978 | { 979 | "name": "sebastian/recursion-context", 980 | "version": "1.0.2", 981 | "source": { 982 | "type": "git", 983 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 984 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791" 985 | }, 986 | "dist": { 987 | "type": "zip", 988 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", 989 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791", 990 | "shasum": "" 991 | }, 992 | "require": { 993 | "php": ">=5.3.3" 994 | }, 995 | "require-dev": { 996 | "phpunit/phpunit": "~4.4" 997 | }, 998 | "type": "library", 999 | "extra": { 1000 | "branch-alias": { 1001 | "dev-master": "1.0.x-dev" 1002 | } 1003 | }, 1004 | "autoload": { 1005 | "classmap": [ 1006 | "src/" 1007 | ] 1008 | }, 1009 | "notification-url": "https://packagist.org/downloads/", 1010 | "license": [ 1011 | "BSD-3-Clause" 1012 | ], 1013 | "authors": [ 1014 | { 1015 | "name": "Jeff Welch", 1016 | "email": "whatthejeff@gmail.com" 1017 | }, 1018 | { 1019 | "name": "Sebastian Bergmann", 1020 | "email": "sebastian@phpunit.de" 1021 | }, 1022 | { 1023 | "name": "Adam Harvey", 1024 | "email": "aharvey@php.net" 1025 | } 1026 | ], 1027 | "description": "Provides functionality to recursively process PHP variables", 1028 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1029 | "time": "2015-11-11 19:50:13" 1030 | }, 1031 | { 1032 | "name": "sebastian/version", 1033 | "version": "1.0.6", 1034 | "source": { 1035 | "type": "git", 1036 | "url": "https://github.com/sebastianbergmann/version.git", 1037 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" 1038 | }, 1039 | "dist": { 1040 | "type": "zip", 1041 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1042 | "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", 1043 | "shasum": "" 1044 | }, 1045 | "type": "library", 1046 | "autoload": { 1047 | "classmap": [ 1048 | "src/" 1049 | ] 1050 | }, 1051 | "notification-url": "https://packagist.org/downloads/", 1052 | "license": [ 1053 | "BSD-3-Clause" 1054 | ], 1055 | "authors": [ 1056 | { 1057 | "name": "Sebastian Bergmann", 1058 | "email": "sebastian@phpunit.de", 1059 | "role": "lead" 1060 | } 1061 | ], 1062 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1063 | "homepage": "https://github.com/sebastianbergmann/version", 1064 | "time": "2015-06-21 13:59:46" 1065 | }, 1066 | { 1067 | "name": "webmozart/assert", 1068 | "version": "1.0.2", 1069 | "source": { 1070 | "type": "git", 1071 | "url": "https://github.com/webmozart/assert.git", 1072 | "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde" 1073 | }, 1074 | "dist": { 1075 | "type": "zip", 1076 | "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", 1077 | "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde", 1078 | "shasum": "" 1079 | }, 1080 | "require": { 1081 | "php": ">=5.3.3" 1082 | }, 1083 | "require-dev": { 1084 | "phpunit/phpunit": "^4.6" 1085 | }, 1086 | "type": "library", 1087 | "extra": { 1088 | "branch-alias": { 1089 | "dev-master": "1.0-dev" 1090 | } 1091 | }, 1092 | "autoload": { 1093 | "psr-4": { 1094 | "Webmozart\\Assert\\": "src/" 1095 | } 1096 | }, 1097 | "notification-url": "https://packagist.org/downloads/", 1098 | "license": [ 1099 | "MIT" 1100 | ], 1101 | "authors": [ 1102 | { 1103 | "name": "Bernhard Schussek", 1104 | "email": "bschussek@gmail.com" 1105 | } 1106 | ], 1107 | "description": "Assertions to validate method input/output with nice error messages.", 1108 | "keywords": [ 1109 | "assert", 1110 | "check", 1111 | "validate" 1112 | ], 1113 | "time": "2015-08-24 13:29:44" 1114 | } 1115 | ], 1116 | "aliases": [], 1117 | "minimum-stability": "stable", 1118 | "stability-flags": [], 1119 | "prefer-stable": false, 1120 | "prefer-lowest": false, 1121 | "platform": [], 1122 | "platform-dev": [] 1123 | } 1124 | --------------------------------------------------------------------------------