Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developer Experience in the PHP World

weaverryan
February 06, 2015

Developer Experience in the PHP World

We're sharing more, we're writing more blog posts and we're building libraries with increasingly clever names. So why does it sometimes *still* feel like rage-tossing my computer out of the window is part of solving development problems? I thought the future would let me composer install unicorns and rainbows directly into my app!? Shouldn't my experience as a developer be smoother? Having *only* great tools is just about as useful as locking me inside a Home Depot and asking me to build a house. So in this talk, we'll look at developer experience (DX) in the PHP world by going through some DX wins and some DX fails, um, "todos". I'll also share what some communities and libraries are doing specifically to make our lives easier and more productive. But ultimately, DX starts with *us*: developers who notice when things are too difficult and improve them. By the end of this talk, I hope the PHP world will have a few more DX heroes.

weaverryan

February 06, 2015
Tweet

More Decks by weaverryan

Other Decks in Technology

Transcript

  1. KnpUniversity.com github.com/weaverryan Who is this Hipster? > Lead for the

    Symfony documentation
 > KnpLabs US - Symfony Consulting, training & general Kumbaya > Writer for KnpUniversity.com Tutorials
  2. do more and more with less and less until eventually

    you can do everything with nothing “
  3. DX

  4. 1. mammoth class
 2. Expects a “signed request” on either

    $_REQUEST or $_COOKIE
 3. Sends a curl request to exchange the OAuth code for the access_token
 4. Send another curl request to fetch user data
  5. @weaverryan Error retrieving credentials from the instance profile metadata server.

    When you are not running inside of Amazon EC2, you must provide your AWS access key ID and secret access key in the "key" and "secret" options when creating a client or provide an instantiated Aws\Common \Credentials\CredentialsInterface object. Yep!