~/talk

Package Design Principles in Practice

TalkinRussianat PHP fwdays'20 online · 2020-05-30..05-31· [developer-experience, devops-and-delivery]
links:none on file
slides:none on file

A concrete refactor of a PHP package ecosystem is presented: the infection project is split into a core package plus adapter packages, with interfaces extracted to avoid cyclic dependencies and reduce dependency instability. A Composer plugin is added to auto-install adapters and generate auto-registration config for zero-configuration usage; local development uses Composer path repositories and Symfony-style discovery. The talk measures instability and abstractness, and reports the split reduces irrelevant dependencies and semver pain, though it increases CI and release tooling complexity.

AI-written summary · about

  1. 0:00Package design intro
  2. 2:10Release equivalence and reuse
  3. 8:03Reasons for changes
  4. 12:40Package coupling principles
  5. 16:30Stable dependencies principle
  6. 20:43Stable abstractions principle
  7. 22:50Problems after split
  8. 29:13Adapter auto-setup
  9. 31:21Monolith vs repos vs monorepo
  10. 37:45Approach pros and cons
  11. 38:07Q&A
~/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.