ForumPHP 2015

ForumPHP 2015

Découvrez comment BlaBlaCar utilise PHP au quotidien pour étendre son service à l'international. Nous verons ensemble un aperçu de nos méthodologies et nos choix techniques qui nous ont amené jusqu'ici. Un retour d'expérience sans prétention de nos réussites, de nos erreurs et de nos ambitions en terme d'architecture pour les mois à venir.

https://joind.in/talk/view/15716

F135ce7f204af6fac8075b469685c91d?s=128

Matthieu Moquet

November 24, 2015
Tweet

Transcript

  1. Un éléphant dans le monde des Licornes

  2. MattKetmo

  3. None
  4. None
  5. None
  6. None
  7. 2012 2013

  8. None
  9. None
  10. Master Branch CR + CI Prod Staging

  11. None
  12. None
  13. None
  14. None
  15. ORM

  16. None
  17. None
  18. Bundles

  19. None
  20. Events

  21. None
  22. Tests

  23. Unit Integration Functional

  24. None
  25. public function user_should_be_able_to_publish_trip() { // **Given** I am logged in

    with user "john" $this->login('john') // **When** I publish a trip from Paris to Rennes in 2 days $this->client->request($this->url('publication')); $params = [ 'from' => 'Paris', 'to' => 'Nantes', 'date' => new \DateTime('+2 days') ]; $this->form('publication')->fill($params)->submit(); // **Then** a trip from Paris to Rennes should be published $this->response->OK(); $this->assertNotNull( $this->tripRepository->findOneBy($params) ); // **And** a trip.published event is dispatched $this->event->dispatched('trip.published'); }
  26. Monolithic

  27. None
  28. Gateway

  29. RegisterUser PublishTrip PostMessage LeaveRating Trip User Messaging

  30. /** @var RegisterUserResponse */ $response = $handler->handler( new RegisterUserRequest( 'John

    Doe', 'john.doe@example.org' ) ); // `RegisterUserEvent` dispatched $userId = $response->getUserId();
  31. f(x) = y

  32. GET /api/messages

  33. None
  34. None
  35. blablatech.com We’re hiring Follow us

  36. THANK YOU. THANK YOU. YOU’RE AWESOME. YOU’RE AWESOME.

  37. MattKetmo joind.in/15716