Storing money as integer cents or a status as a string means every read needs converting, and the accessor pattern spreads that conversion across the model until nobody…
spl_object_hash returns a 32-character string that looks like a digest and is really an encoded pointer, and pointers get reused — so the identifier of a garbage-collected object…
A repository interface that returns Eloquent models and accepts query builders has not abstracted anything — it has renamed the ORM. The named method rather than a generic…
Passing money as an integer means every function taking it has to validate it, and every one of those validations needs a test. Passing a type that cannot…