ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- PKj]g/Component/Process/CHANGELOG.mdnu[CHANGELOG ========= 2.4.0 ----- * added the ability to define an idle timeout 2.3.0 ----- * added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows * added Process::signal() * added Process::getPid() * added support for a TTY mode 2.2.0 ----- * added ProcessBuilder::setArguments() to reset the arguments on a builder * added a way to retrieve the standard and error output incrementally * added Process:restart() 2.1.0 ----- * added support for non-blocking processes (start(), wait(), isRunning(), stop()) * enhanced Windows compatibility * added Process::getExitCodeText() that returns a string representation for the exit code returned by the process * added ProcessBuilder PKj]E))Component/Process/LICENSEnu[Copyright (c) 2004-2014 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PKj]dBComponent/Process/composer.jsonnu[{ "name": "symfony/process", "type": "library", "description": "Symfony Process Component", "keywords": [], "homepage": "http://symfony.com", "license": "MIT", "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "http://symfony.com/contributors" } ], "require": { "php": ">=5.3.3" }, "autoload": { "psr-0": { "Symfony\\Component\\Process\\": "" } }, "target-dir": "Symfony/Component/Process", "minimum-stability": "dev", "extra": { "branch-alias": { "dev-master": "2.4-dev" } } } PKj]oSJJComponent/Process/README.mdnu[Process Component ================= Process executes commands in sub-processes. In this example, we run a simple directory listing and get the result back: use Symfony\Component\Process\Process; $process = new Process('ls -lsa'); $process->setTimeout(3600); $process->run(); if (!$process->isSuccessful()) { throw new RuntimeException($process->getErrorOutput()); } print $process->getOutput(); You can think that this is easy to achieve with plain PHP but it's not especially if you want to take care of the subtle differences between the different platforms. And if you want to be able to get some feedback in real-time, just pass an anonymous function to the ``run()`` method and you will get the output buffer as it becomes available: use Symfony\Component\Process\Process; $process = new Process('ls -lsa'); $process->run(function ($type, $buffer) { if ('err' === $type) { echo 'ERR > '.$buffer; } else { echo 'OUT > '.$buffer; } }); That's great if you want to execute a long running command (like rsync-ing files to a remote server) and give feedback to the user in real-time. Resources --------- You can run the unit tests with the following command: $ cd path/to/Symfony/Component/XXX/ $ composer.phar install $ phpunit PK.l]ʴˣ!Component/BrowserKit/CHANGELOG.mdnu[CHANGELOG ========= 2.3.0 ----- * [BC BREAK] `Client::followRedirect()` won't redirect responses with a non-3xx Status Code and `Location` header anymore, as per http://tools.ietf.org/html/rfc2616#section-14.30 * added `Client::getInternalRequest()` and `Client::getInternalResponse()` to have access to the BrowserKit internal request and response objects 2.1.0 ----- * [BC BREAK] The CookieJar internals have changed to allow cookies with the same name on different sub-domains/sub-paths PK.l]E))Component/BrowserKit/LICENSEnu[Copyright (c) 2004-2014 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. PK.l]cW"Component/BrowserKit/composer.jsonnu[{ "name": "symfony/browser-kit", "type": "library", "description": "Symfony BrowserKit Component", "keywords": [], "homepage": "http://symfony.com", "license": "MIT", "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "http://symfony.com/contributors" } ], "require": { "php": ">=5.3.3", "symfony/dom-crawler": "~2.0" }, "require-dev": { "symfony/process": "~2.0", "symfony/css-selector": "~2.0" }, "suggest": { "symfony/process": "" }, "autoload": { "psr-0": { "Symfony\\Component\\BrowserKit\\": "" } }, "target-dir": "Symfony/Component/BrowserKit", "minimum-stability": "dev", "extra": { "branch-alias": { "dev-master": "2.4-dev" } } } PK.l]_Component/BrowserKit/README.mdnu[BrowserKit Component ==================== BrowserKit simulates the behavior of a web browser. The component only provide an abstract client and does not provide any "default" backend for the HTTP layer. Resources --------- For a simple implementation of a browser based on an HTTP layer, have a look at [Goutte](https://github.com/fabpot/Goutte). For an implementation based on HttpKernelInterface, have a look at the [Client](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Client.php) provided by the HttpKernel component. You can run the unit tests with the following command: $ cd path/to/Symfony/Component/BrowserKit/ $ composer.phar install $ phpunit PKj]g/Component/Process/CHANGELOG.mdnu[PKj]E))/Component/Process/LICENSEnu[PKj]dBComponent/Process/composer.jsonnu[PKj]oSJJ Component/Process/README.mdnu[PK.l]ʴˣ!dComponent/BrowserKit/CHANGELOG.mdnu[PK.l]E))Component/BrowserKit/LICENSEnu[PK.l]cW")Component/BrowserKit/composer.jsonnu[PK.l]_*Component/BrowserKit/README.mdnu[PK<