A State of PHP in 2020

A State of PHP in 2020

B02fe6a031132fac67b2025bc21f7799?s=128

Konrad Alfaro

February 12, 2020
Tweet

Transcript

  1. A state of PHP in 2020 BetterCollective Ciasteczka #4 -

    Dev Meetup
  2. Konrad Alfaro Software Developer @ BetterCollective

  3. None
  4. None
  5. Thank you! github.com/RadnoK twitter.com/RadnoK_ radnok.com

  6. None
  7. Jokes aside

  8. The (sad) past

  9. Low entry level PHP

  10. None
  11. None
  12. None
  13. ~ Już na pewno NIE mój kolega

  14. None
  15. None
  16. None
  17. github.com/google/tink/issues/104#issuecomment-417512050

  18. None
  19. It’s simple!

  20. None
  21. None
  22. None
  23. roots.io

  24. None
  25. < 7.0

  26. Versioning

  27. None
  28. OOP, Dynamic types only…

  29. Current problems

  30. Standard PHP Library functions

  31. Standard PHP Library functions SPL for short*

  32. Standard PHP Library functions SPL for short*

  33. array_map( callable $callback, array $array1 [, array $... ] )

    : array array_filter( array $array [, callable $callback [, int $flag = 0 ]] ): array
  34. array_map( callable $callback, array $array1 [, array $... ] )

    : array array_filter( array $array [, callable $callback [, int $flag = 0 ]] ): array
  35. phpsadness.com

  36. Modern times

  37. Language itself

  38. PHP 7.x

  39. None
  40. Fancy and cool features

  41. Type-hints / Return types!

  42. None
  43. None
  44. Arrow functions!

  45. None
  46. None
  47. Null coalescing assignment operator

  48. Array spread operator

  49. And many more…

  50. Yes, we know that others have it for a long

    time…
  51. But we are getting there, too!

  52. Dependencies

  53. None
  54. Ich LIBe Dich

  55. None
  56. None
  57. None
  58. None
  59. composer.json composer.lock

  60. None
  61. Frameworks

  62. None
  63. None
  64. There is something slightly similar…

  65. None
  66. •Both like Annotations, YAMLs •Use separate fully-featured ORM •Is based

    on Components
  67. But it’s (not) a full-stack framework!

  68. None
  69. None
  70. But wait! There is something similar…

  71. None
  72. •Model View Controller (MVC) •ActiveRecord pattern for ORM •Authorization out

    of the box •Full-stack framework •Magic…
  73. None
  74. And others…

  75. None
  76. None
  77. None
  78. But we’ve got more!

  79. eCommerce world

  80. None
  81. Tools

  82. None
  83. blog.jetbrains.com/phpstorm/category/ php-annotated-monthly/

  84. None
  85. None
  86. None
  87. Libraries

  88. Static Code Analysis

  89. Yup, we do that

  90. github.com/exakat/php-static-analysis-tools

  91. Event-Driven in PHP?

  92. Yup, we do that

  93. reactphp.org

  94. Serverless?

  95. Yup, we do that

  96. github.com/brefphp/bref

  97. Tests?

  98. Yeah, we do that too!

  99. None
  100. None
  101. Event Sourcing, CQRS etc.

  102. I’ve got a Prooph

  103. github.com/prooph

  104. Machine Learning?

  105. Yup, even that

  106. github.com/php-ai/php-ml

  107. ⭐ Standards?

  108. Hell, YES!

  109. None
  110. None
  111. None
  112. None
  113. None
  114. PHP around us

  115. None
  116. None
  117. None
  118. None
  119. Well, no longer…

  120. None
  121. gist.github.com/nikcub/3833406

  122. None
  123. Well, no longer…

  124. HHVM & Hack

  125. HipHop Virtual Machine

  126. <?hh Hack Language

  127. None
  128. Implemented in PHP! Implemented in PHP!

  129. Implemented in PHP! We are still waiting… Implemented in PHP!

  130. PHP 7.4 kicks in!

  131. None
  132. None
  133. None
  134. Community

  135. Meet-ups

  136. None
  137. None
  138. None
  139. None
  140. None
  141. Conferences

  142. 2019… and more…

  143. confs.tech/php

  144. Online

  145. None
  146. None
  147. None
  148. None
  149. Last thoughts

  150. twitter.com/akrabat/status/1223214852191268865

  151. PHP is just a tool. Like any other tool, it

    can be used in a bad or a good way.
  152. Thank you! github.com/RadnoK twitter.com/RadnoK_ radnok.com

  153. PS. Rekrutujemy BetterCollective bettercollective.com/career