The Clean Architecture in php



Download 2,26 Mb.
Pdf ko'rish
bet81/179
Sana24.06.2021
Hajmi2,26 Mb.
#100337
1   ...   77   78   79   80   81   82   83   84   ...   179
Bog'liq
The-Clean-Architecture-in-PHP-Kristopher-Wilson

Interfaces in PHP
Recall that in PHP, an interface is a definition of a class, without the implementation details.
You can think of it as a skeleton of a class. An interface cannot have any method bodies, just
method signatures.


Defining a Contract with Interfaces
53
interface
Automobile {
public function
drive
();
public function
idle
();
public function
park
();
}
Any class implementing an interface must implement all the methods of that interface.
class
Car
implements
Automobile {
public function
drive
() {
echo
"Driving!"
;
}
public function
idle
() {
echo
"Idling!"
;
}
public function
park
() {
echo
"Parking!"
;
}
}
Any number of implementations may exist for the interface
Automobile
:
class
DumpTruck
implements
Automobile {
public function
drive
() {
echo
"Driving a Dump Truck!"
;
}
public function
idle
() {
echo
"Idling in my Dump Truck!"
;
}
public function
park
() {
echo
"Parking my Dump Truck!"
;
}
}
The two classes
Car
and
DumpTruck
are considered compatible as they both define the
Automobile
interface, and either could be used in any instance where an
Automobile
is necessary.
This is known as polymorphism, where objects of different types can be used interchangeably,
so long as they all inherit from a common subtype.


Defining a Contract with Interfaces
54
Using Interfaces as Type Hints
The usage of interfaces comes in handy when trying to reduce coupling within a class. We can
define an interface of some dependency, and then reference only that interface. So far, we’ve
been passing around concrete instances of
CustomerRepository
. Now, we’ll create an interface
that defines the functionality of this repository:

Download 2,26 Mb.

Do'stlaringiz bilan baham:
1   ...   77   78   79   80   81   82   83   84   ...   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