The Clean Architecture in php



Download 2,26 Mb.
Pdf ko'rish
bet129/179
Sana24.06.2021
Hajmi2,26 Mb.
#100337
1   ...   125   126   127   128   129   130   131   132   ...   179
Bog'liq
The-Clean-Architecture-in-PHP-Kristopher-Wilson

Organizing the Code
We’ve discussed Entities, Services, Factories, Repository interfaces and concrete Repositories.
Where do we put all this stuff?
It makes sense to logically separate the layers of your application to their own root fielders, even
if the shared parent folder is the same. We have essentially talked about two layers, Domain
and Persistence. So starting there might be a good idea, and then grouping each component type
under those two folders:


Database Independence
93
src
/
Domain
/
Entity
/
Factory
/
Repository
/
Service
/
Persistence
/
Repository
/
Following the
PSR-4 autoloading standard²⁸
, we’d also have similar namespaces, for instance:
MyVendor\Project\Domain\Entity\Customer
I’ve taken this one step further in a series of applications that actually share the same Domain
(and ultimately, database). Domain and Persistence have both been broken up into separate code
repositories, all loaded into several parent projects using Composer. It’s the ultimate in separation
of concerns: the code bases are literally separate. Granted, that doesn’t mean they’re decoupled.
How you want to organize your code is up to you. My ultimate recommendation is to keep the
layers segregated out into at least their own folders.
Wrapping it Up
The purpose for taking the database away from being the center of our application is so that we
are no longer dependent and coupled to that database. This gives us the freedom to swap out
database flavors, or even add in a middle layer such as an API in between our application and
the database, without having to rewrite our entire application. It also gives us the flexibility in
switching out database libraries, say going from Doctrine to Laravel’s Eloquent ORM.
We’ll next look at applying some similar principals to the developer’s framework of choice, and
explore how we can limit decoupling in Framework Independence.
²⁸
http://www.php-fig.org/psr/psr-4/



Download 2,26 Mb.

Do'stlaringiz bilan baham:
1   ...   125   126   127   128   129   130   131   132   ...   179




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish