~/talk

Rewriting 12-Year-Old Code

Talkat FrOSCon 2015 · 2015-08-22..08-23· [php, developer-experience]
slides:none on file

Progressive rewrites replace fragile PHP3/PHP5.3 spaghetti one page or module at a time, using mod_rewrite routing to send legacy URLs to Symfony controllers, an AngularJS front end calling a new REST API on PHP5.6, and a shared DB session adapter so old and new apps coexist. Tests use Guzzle HTTP comparisons to verify identical output, and a schema-diff SQL patch (Python) fixes Magento upgrade mismatches. Result: incremental cutover, runnable migrations, and legacy removal without a big-bang rewrite.

AI-written summary · about

  1. 0:00Rewriting 12-Year-Old Code
  2. 0:21Anna Filina
  3. 4:29Objectives
  4. 6:59Giving you a false sense of security
  5. 9:38OOP, but with global & static functions
  6. 10:15What happened at order 20117?
  7. 11:35It can take too long
  8. 17:12Data can be lost, stuff can break
  9. 27:25Magento 1.5 to 1.9
  10. 32:29PHP3 to PHP5.6
  11. 36:41Solution
  12. 38:54Avoid code bias
  13. 41:45ASP Classic to PHP5.6
  14. 44:38Guzzle tests
  15. 50:09Splitting the app
  16. 52:29Alias is your friend
  17. 54:32Ask refactoring experts
  18. 55:22Practice creative thinking
  19. 56:54Takeaways
~/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.