overview.rst 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. =================
  2. Welcome to Guzzle
  3. =================
  4. What is Guzzle?
  5. ~~~~~~~~~~~~~~~
  6. Guzzle is a PHP HTTP client and framework for building web service clients. Guzzle takes the pain out of sending HTTP
  7. requests and the redundancy out of creating web service clients.
  8. Features at a glance
  9. --------------------
  10. - All the power of cURL with a simple interface.
  11. - Persistent connections and parallel requests.
  12. - Streams request and response bodies
  13. - Service descriptions for quickly building clients.
  14. - Powered by the Symfony2 EventDispatcher.
  15. - Use all of the code or only specific components.
  16. - Plugins for caching, logging, OAuth, mocks, and more
  17. - Includes a custom node.js webserver to test your clients.
  18. - Service descriptions for defining the inputs and outputs of an API
  19. - Resource iterators for traversing paginated resources
  20. - Batching for sending a large number of requests as efficiently as possible
  21. .. code-block:: php
  22. // Really simple using a static facade
  23. Guzzle\Http\StaticClient::mount();
  24. $response = Guzzle::get('http://guzzlephp.org');
  25. // More control using a client class
  26. $client = new \Guzzle\Http\Client('http://guzzlephp.org');
  27. $request = $client->get('/');
  28. $response = $request->send();
  29. License
  30. -------
  31. Licensed using the `MIT license <http://opensource.org/licenses/MIT>`_.
  32. Copyright (c) 2013 Michael Dowling <https://github.com/mtdowling>
  33. Permission is hereby granted, free of charge, to any person obtaining a copy
  34. of this software and associated documentation files (the "Software"), to deal
  35. in the Software without restriction, including without limitation the rights
  36. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  37. copies of the Software, and to permit persons to whom the Software is
  38. furnished to do so, subject to the following conditions:
  39. The above copyright notice and this permission notice shall be included in
  40. all copies or substantial portions of the Software.
  41. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  42. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  43. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  44. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  45. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  46. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  47. THE SOFTWARE.
  48. Contributing
  49. ------------
  50. Guidelines
  51. ~~~~~~~~~~
  52. This is still a work in progress, but there are only a few rules:
  53. 1. Guzzle follows PSR-0, PSR-1, and PSR-2
  54. 2. All pull requests must include unit tests to ensure the change works as expected and to prevent future regressions
  55. Reporting a security vulnerability
  56. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  57. We want to ensure that Guzzle is a secure HTTP client library for everyone. If you've discovered a security
  58. vulnerability in Guzzle, we appreciate your help in disclosing it to us in a
  59. `responsible manner <http://en.wikipedia.org/wiki/Responsible_disclosure>`_.
  60. Publicly disclosing a vulnerability can put the entire community at risk. If you've discovered a security concern,
  61. please email us at security@guzzlephp.org. We'll work with you to make sure that we understand the scope of the issue,
  62. and that we fully address your concern. We consider correspondence sent to security@guzzlephp.org our highest priority,
  63. and work to address any issues that arise as quickly as possible.
  64. After a security vulnerability has been corrected, a security hotfix release will be deployed as soon as possible.