building apis with apigilty and zend framework 2
TRANSCRIPT
![Page 1: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/1.jpg)
Welcome to
php[world] 2015Wifi:SSID: Sheraton_Conferenceuser: php2015pass: sheraton
Twitter:
#phpworld Rate talks on joind.inhttps://joind.in/event/phpworld2015
Building APIs with Apigility and ZF2
![Page 2: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/2.jpg)
Building APIs with Apigility and ZF2
PHP [World]
David Stockton
![Page 3: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/3.jpg)
Who Am I?• David Stockton
• VP of Technology, i3logix (Denver, CO)
• Developing PHP for ~17 years
• @dstockto
• http://davidstockton.com
• http://tddftw.com
![Page 4: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/4.jpg)
Built with Apigility
![Page 5: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/5.jpg)
• USB Drives contain Apigility skeleton and sqlite database
• Copy the apigility zip or tgz and db to your computer. You need PHP 5.4.8 or greater on your computer or a VM.
• Pass the drives on to the next person when copying is done
• Please return them to me when everyone has a copy
![Page 6: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/6.jpg)
Other Software• REST tester
• DHC in chrome
• POSTman
• Advanced Rest Client
• PAW
• Httpie
• Curl
![Page 7: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/7.jpg)
Why build APIs?
![Page 8: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/8.jpg)
Why not build APIs?
![Page 9: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/9.jpg)
Content Negotiation
![Page 10: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/10.jpg)
HTTP Method Negotiation
![Page 11: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/11.jpg)
Versioning
![Page 12: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/12.jpg)
Validation
![Page 13: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/13.jpg)
Authentication
![Page 14: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/14.jpg)
Authorization
![Page 15: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/15.jpg)
Documentation
![Page 16: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/16.jpg)
Discovery
![Page 17: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/17.jpg)
What can we do?
![Page 18: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/18.jpg)
![Page 19: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/19.jpg)
Apigility is opinionated
![Page 20: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/20.jpg)
Content NegotiationJSON / JSON+HAL
![Page 21: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/21.jpg)
HTTP Method Negotiation
GET, POST, PUT, PATCH, DELETE, OPTIONS
![Page 22: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/22.jpg)
Versioning *supported*
![Page 23: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/23.jpg)
Validation *supported*
![Page 24: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/24.jpg)
Authentication *supported*
![Page 25: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/25.jpg)
Authorization *supported*
![Page 26: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/26.jpg)
Documentation *supported*
![Page 27: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/27.jpg)
Discovery HATEOAS via HAL
![Page 28: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/28.jpg)
H - HypermediaA - AsT - The E - EngineO - OfA - ApplicationS - State
![Page 29: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/29.jpg)
HAL - Hypermedia Application Language
![Page 30: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/30.jpg)
{ "_links": { "self": { "href": "http://phpcoder.ninja/api/user/dstockto" } } "id": "dstockto", "name": "David Stockton" }
![Page 31: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/31.jpg)
Let’s get started!
![Page 32: Building APIs with Apigilty and Zend Framework 2](https://reader031.vdocument.in/reader031/viewer/2022020203/588018aa1a28abbc128b54cb/html5/thumbnails/32.jpg)
php -S 0.0.0.0:8181 -t public/ public/index.php