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

The Laravel Core - Demystify The Beast (New York)

The Laravel Core - Demystify The Beast (New York)

Christoph Rumpel

July 25, 2019
Tweet

More Decks by Christoph Rumpel

Other Decks in Programming

Transcript

  1. Welcome

    View Slide

  2. CHRISTOPH RUMPEL
    Web Developer !

    View Slide

  3. @christophrumpel

    View Slide

  4. The Laravel Core
    Demystify The Beast

    View Slide

  5. @christophrumpel
    OUR JOURNEY
    LifeCycle Facades Eloquent

    View Slide

  6. @christophrumpel
    WHY DO I CARE
    ABOUT THE CORE?

    View Slide

  7. @christophrumpel
    It is a tool
    It takes a lot of time
    It can be overwhelming
    COMMON EXCUSES

    View Slide

  8. @christophrumpel
    It speaks to you
    Debugging
    Learn from the best
    Become a better dev
    WHY YOU SHOULD CARE

    View Slide

  9. @christophrumpel
    OUR JOURNEY
    LifeCycle Facades Eloquent

    View Slide

  10. Send It Back
    Handle Request
    Boot Laravel
    Browser / HTTP Request

    View Slide

  11. @christophrumpel
    LET IT BEGIN
    public/index.php

    View Slide

  12. @christophrumpel

    View Slide

  13. @christophrumpel

    View Slide

  14. @christophrumpel

    View Slide

  15. @christophrumpel
    Application instance
    Also serves as DIC
    Bind kernels to the container
    Register Base Providers
    Set base paths

    View Slide

  16. @christophrumpel

    View Slide

  17. @christophrumpel

    View Slide

  18. @christophrumpel

    View Slide

  19. @christophrumpel

    View Slide

  20. @christophrumpel
    REQUEST & ROUTER
    Illuminate/Foundation/Http/Kernel.php

    View Slide

  21. @christophrumpel

    View Slide

  22. @christophrumpel

    View Slide

  23. @christophrumpel

    View Slide

  24. @christophrumpel
    REQUEST & ROUTER
    Illuminate/Routing/Router.php

    View Slide

  25. @christophrumpel
    REQUEST & ROUTER
    Illuminate/Routing/Router.php

    View Slide

  26. @christophrumpel
    OUR JOURNEY
    LifeCycle Facades Eloquent

    View Slide

  27. @christophrumpel
    Magic
    Proxies
    Helpers
    Static interfaces
    Service Container
    FACADES ARE

    View Slide

  28. @christophrumpel
    Misleading
    Hard to test
    Tightly coupled
    Bad practice
    OR

    View Slide

  29. @christophrumpel
    OUR EXAMPLE

    View Slide

  30. @christophrumpel
    REQUEST FACADE
    Illuminate/Support/Facades/Request.php

    View Slide

  31. @christophrumpel
    BASE FACADE
    Illuminate/Support/Facades/Facade.php

    View Slide

  32. @christophrumpel
    BASE FACADE
    Illuminate/Support/Facades/Facade.php

    View Slide

  33. @christophrumpel
    BASE FACADE
    Illuminate/Support/Facades/Facade.php

    View Slide

  34. @christophrumpel
    FOUND IT
    Illuminate/Http/Request.php

    View Slide

  35. @christophrumpel
    OUR EXAMPLE

    View Slide

  36. @christophrumpel
    SAME AS

    View Slide

  37. @christophrumpel
    Misleading
    Hard to test
    Tightly coupled
    Bad practice
    TRUE OR FALSE

    View Slide

  38. @christophrumpel
    OUR JOURNEY
    LifeCycle Facades Eloquent

    View Slide

  39. @christophrumpel
    ORM
    Active Record
    Models
    Builder
    ELOQUENT

    View Slide

  40. @christophrumpel
    DATABASE

    View Slide

  41. @christophrumpel
    OUR EXAMPLE

    View Slide

  42. @christophrumpel
    OUR EXAMPLE

    View Slide

  43. @christophrumpel
    CONFERENCE MODEL

    View Slide

  44. @christophrumpel
    STATIC WHERE METHOD DOES NOT EXIST
    Illuminate/Database/Eloquent/Model.php

    View Slide

  45. @christophrumpel
    STILL NO WHERE METHOD
    Illuminate/Database/Eloquent/Model.php

    View Slide

  46. @christophrumpel
    STILL NO WHERE METHOD
    Illuminate/Database/Eloquent/Model.php

    View Slide

  47. @christophrumpel
    FOUND IT
    Eloquent/Builder.php

    View Slide

  48. @christophrumpel
    OUR EXAMPLE

    View Slide

  49. @christophrumpel
    GET FIRST CONFERENCE
    Eloquent/Builder trait BuildsQueries

    View Slide

  50. @christophrumpel
    GET FIRST CONFERENCE
    Eloquent/Builder trait BuildsQueries

    View Slide

  51. @christophrumpel
    GET FIRST CONFERENCE
    Eloquent/Builder trait BuildsQueries

    View Slide

  52. @christophrumpel
    OUR EXAMPLE

    View Slide

  53. @christophrumpel
    NO SPEAKERS PROPERTY

    View Slide

  54. @christophrumpel
    Content-Security-Policy: policy
    NO SPEAKERS PROPERTY
    Illuminate/Database/Eloquent/Model.php

    View Slide

  55. @christophrumpel
    CHECK ATTRIBUTES
    Base Eloquent Model HasAttribute concern

    View Slide

  56. @christophrumpel
    CHECK ATTRIBUTES
    Base Eloquent Model HasAttribute concern

    View Slide

  57. @christophrumpel

    View Slide

  58. @christophrumpel

    View Slide

  59. @christophrumpel
    OUR EXAMPLE

    View Slide

  60. @christophrumpel
    OUR JOURNEY
    LifeCycle Facades Eloquent

    View Slide

  61. @christophrumpel
    Master your tools.
    Laravel is one of them.

    View Slide

  62. @christophrumpel
    NO SPEAKERS PROPERTY
    Base Eloquent Model
    Laravel Core
    Adventures
    https://laravelcoreadventures.com
    @christophrumpel

    View Slide

  63. @christophrumpel

    View Slide

  64. @christophrumpel
    RAIDERS OF THE LOST
    SERVICE CONTAINER

    View Slide

  65. @christophrumpel
    https://laravelcoreadventures.com
    https://christoph-rumpel.com
    https://speakerdeck.com/christophrumpel
    https://store.christoph-rumpel.com
    RESOURCES

    View Slide