Di vê dersa berfireh de, em ê li tevliheviyên fonksiyona navbeynkariya PHP-ê bigerin. Di vê postê de, em ê li cûdahî û wekheviyên di navbera du têgehên girîng ên PHP-ê de binihêrin: navbeynkar û çînên abstrakt. Em ê li hevoksaziyê û dozên bikar bînin ji bo her yekê, û her weha feyde û kêmasiyên karanîna navbeynkar û çînên razber ên di koda we de binihêrin. Di dawiya vê danişînê de, hûn ê zanibin kengê hûn navgînên PHP-ê bikar bînin û kengê dersên abstrakt bikar bînin, û her weha hûn ê çawa wan di projeyên bernamesaziya xwe de bicîh bikin.
Navberek di OOP de çi ye?
- Têkilî çînek e ku tenê rêbazên razber dihewîne.
- Bi karanîna çîna navberê, em dikarin diyar bikin ka kîjan rêbaz divê ku çînek ku pêvekê dirêj dike bicîh bîne.
- Berevajî pola razber, hûn ne hewce ne ku hûn bi rêbazan re kurtenivîsan binivîsin ji ber ku navberek tenê dikare tê de rêbazên razber hebin.
- virtual peyva sereke ji bo ragihandina çînek navbeynkar tê bikar anîn. Li hevoksaziya jêrîn a çînek navberê ya di PHP-ê de binihêrin.
<?php
interface InterfaceName {
public function someMethod1();
public function someMethod2($name, $color);
public function someMethod3() : string;
}
?>
Her çend çîn û navberên razber pir dişibin hev, ew bi mentiqî ji hev cûda ne.
Cûdahiya di navbera dersên Navber û Abstract de di PHP de
Interface Class | Class Class |
Nikare taybetmendiyan bigire | Dikare taybetmendiyan hebe |
Hemî rêgez razber in û bi rêbazan re peyva sereke ne hewce ye. | Con hem awayên razber û hem jî ne razber dihewîne. Ji bo ragihandina rêbaza razber peyva sereke hewce ye. |
Çînek dikare bi mîrasgirtina ji çînek din re navgînek bicîh bîne. Ev tê vê wateyê ku pola zarok dikare di heman demê de navgînek bicîh bîne. | Çînek zarok (ji çînek din mîrasî ye), nikare çîna razber bicîh bîne. |
Pêdivî ye ku hemî rêbaz di derbarê guhêrbarên gihîştinê de gelemperî bin. | Rêbaz bi rêzgirtina guhezkerên gihîştinê dikarin gelemperî bin an jî bêne parastin. |
Mînaka Navberê di PHP de
virtual peyva sereke ji bo ragihandina navbeynkariyê di PHP de tê bikar anîn. Li pêkanîna jêrîn a navbeynkariya di PHP-ê de binihêrin.
<?php
interface Unit {
public function standard_unit();
}
class Weight implements Unit {
public function standard_unit() {
echo "Kg";
}
}
$weight= new Weight();
$weight->standard_unit();
?>
- Di mînaka jorîn de. em Yekîneyek çîna navberê ya ku rêbazek standard_unit vedihewîne diafirînin.
- Piştre em çînek din ava dikin pîvan ku pêk tîne Yekbûn navbeynkar û di wê de rêbaza standard_unit diyar dike.
- Ji mînaka jorîn, em dikarin bibînin ku çîna ku navbeynkar bikar tîne dikare rêbaza xwe derbas bike û dikare bi awayê xwe bikar bîne. Em bibêjin dirêjahiya sinifa me ya din heye, ew dikare bi awayê xwe rêbaza standard_unit bikar bîne.
- Em dikarin mantiqê binivîsin ku dê ji bo hemî mîqdarên fizîkî yên ku yekîneyên SI hene bixebite. Li mînaka jêrîn binêrin.
<?php
// Interface definition
interface Unit {
public function standard_unit();
}
// Class definitions
class Weight implements Unit {
public function makeSound() {
echo " kg";
}
}
class Length implements Unit {
public function standard_unit() {
echo " meter";
}
}
class Temperature implements Unit {
public function standard_unit() {
echo " celcius";
}
}
// Create a list of Physical Quanitites
$weight = new Weight();
$length = new Length();
$temperature = new Temperature();
$quantities= array($weight, $length, $temperature);
// Tell the quantities to use its standard unit
foreach($quantities as $quantities) {
$quantitiy->standard_unit();
}
?>
- Di mînaka jorîn de, em çînên mîna mînaka berê diafirînin.
- Dersên giranî, dirêjî û germahiyê heman navgîniyê pêk tîne û dikare bi awayê xwe rêbaza standard_unit bikar bîne. Ji ber vê yekê, em rêzek ji tiştên van çînan çêdikin û wan yek bi yek ji bo sinifa rêbaza standard_unit vedişêrin.