Ho un baseClass
dove non voglio i setter pubblici. Ho un metodo load($id)
che recupererà i dati per quell'oggetto dal db.
Ho utilizzato metodi di classi statiche come getBy($property,$values)
per restituire più oggetti di classe utilizzando una singola chiamata al database. Ma alcune persone dicono che i metodi statici non sono OOP.
Quindi ora sto provando a creare un baseClassCollection
che possa fare la stessa cosa. Ma non può, perché non può accedere ai setter protetti. Non voglio che tutti siano in grado di impostare i dati dell'oggetto. Ma sembra che sia una proposta tutto o niente. Non posso dare solo l'accesso alla classe raccolta ai setter.
Ho visto una soluzione che utilizza debug_backtrace()
, ma sembra inelegante. Mi sto avvicinando solo a rendere pubblici i setter.
Ci sono altre soluzioni? O dovrei anche cercare altre soluzioni?