~/talk

Analysis and Design Principles in OOP. The Problem of Banning Inheritance in Single-Threaded PHP

TalkinRussianat PHP fwdays'21 conference · 2021-09-02..09-10· [php]
name:N. Nishta
links:none on file
slides:none on file

The talk examines the use of PHP’s final keyword and the common advice to declare classes and methods final everywhere. It explains the historical reasons this recommendation appeared in PHP, argues why blanket forbidding of inheritance is a mistake in typical single-threaded PHP, and outlines when marking code final helps, when it harms, and when it’s necessary.

AI-written summary · about

  1. 0:00Introduction
  2. 2:36What is OOP
  3. 3:59Object state and classification
  4. 5:03Multithreading and object state
  5. 6:52Immutable Object pattern
  6. 8:40Banning inheritance in Immutable Object
  7. 10:49Moving Java patterns to PHP
  8. 12:55Testing and final in PHP
  9. 15:02Violating dependency inversion
  10. 16:30Practical example: final errors in Symfony
  11. 19:03When to use final in PHP
  12. 21:49final in abstract classes
  13. 23:13Architectural styles and final
  14. 25:00Further reading
  15. 26:25Thanks and Q&A
  16. 26:47Discussion on final and testing
  17. 28:12final in libraries and constraints
  18. 31:00When final is truly needed
  19. 33:11final to limit class usage
  20. 34:13Testing problems with final
  21. 35:17final to restrict inheritance
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.