PHP හි OOP හැඳින්වීම
දැන් අපි PHP හි OOP අධ්යයනය කිරීමට යොමු වෙමු. අපි පළමුව ජීවිතයෙන් උදාහරණයක් බලමු, ඉන්පසු එය PHP වෙත මාරු කරමු.
උදාහරණයක් ලෙස මෝටර් රථයක් ගනිමු. එයට රෝද, පැහැය, ශරීර වර්ගය, එන්ජින් ධාරිතාව සහ තවත් දේවල් ඇත. ඊට අමතරව, ප්රවාහකයාට එයට විධාන ලබා දිය හැකිය: යන්න, නවතින්න, දකුණට හැරෙන්න, වමට හැරෙන්න යනාදිය.
මෝටර් රථ පන්තියක් පවතින බව කිව හැකිය, එයට පොදු ගුණාංග ඇත (සියල්ලටම රෝද ඇත සහ සියල්ලටම විධාන ලබා දිය හැකිය).
වීදියේ නවත්වා ඇති නිශ්චිත මෝටර් රථය - මෙම පන්තියේ නියෝජිතයෙක්, හෝ, වෙනත් වචන වලින්, මෙම පන්තියේ වස්තුව ය. මෙම පන්තියේ සියලුම වස්තුවලට ගුණාංග ඇත: රෝද ගණන, පැහැය, ශරීර වර්ගය සහ ක්රම: යන්න, නවතින්න, දකුණට හැරෙන්න, වමට හැරෙන්න.
වෙනත් වචන වලින්, පන්තියම - එය රූප සටහනක්, ඒ අනුව කර්මාන්ත ශාලාවේ මෝටර් රථ නිෂ්පාදනය කරනු ලැබේ. වස්තුව තවද - මෙම රූප සටහන් භාවිතයෙන් සාදන ලද මෝටර් රථයම ය.
PHP හි පන්තියක් සාදනු ලබන්නේ
class යන යතුරු වචනය භාවිතයෙනි,
ඉන් පසුව මෙම පන්තියේ නම එනවා.
අපි Car පන්තියක් සාදමු:
<?php
class Car
{
// මෙතන කේතය, එනම් PHP මෝටර් රථ රූප සටහන
}
?>
දැන් අපගේ රූප සටහනේ සඳහන් කරමු, මෙම රූප සටහන භාවිතයෙන් සාදන ලද ඕනෑම මෝටර් රථයක් වර්ණය සඳහා ගුණාංගයක් සහ ඉන්ධන ප්රමාණය සඳහා ගුණාංගයක් තිබෙනු ඇත.
මේ සඳහා පන්තිය තුළ ගුණාංගය
$color සහ ගුණාංගය $fuel ලියන්න:
<?php
class Car
{
// අපි ගුණාංග අර්ථ දක්වන්නෙමු (පන්තියේ විචල්යයන්):
public $color; // මෝටර් රථයේ වර්ණය
public $fuel; // ඉන්ධන ප්රමාණය
}
?>
දැන් අපි අපගේ පන්තියේ ක්රම සාදමු.
PHP හි ක්රම, සාමාන්ය ශ්රිත මෙන්, අර්ථ දක්වනු ලබන්නේ
function යන යතුරු වචනය භාවිතයෙනි,
ඒ සමඟම යතුරු වචනය
public ලියනු ලැබේ.
පෙර සඳහන් කළ පරිදි, අපගේ මෝටර් රථය යා හැකිය, හැරිය හැකිය, නතර කළ හැකිය. අපගේ පන්තියේ අදාළ ක්රම සාදමු:
<?php
class Car
{
public $color; // මෝටර් රථයේ වර්ණය
public $fuel; // ඉන්ධන ප්රමාණය
// යන විධානය:
public function go()
{
// යම් PHP කේතයක්
}
// හැරෙන විධානය:
public function turn()
{
// යම් PHP කේතයක්
}
// නවතින විධානය:
public function stop()
{
// යම් PHP කේතයක්
}
}
?>
අපි අපගේ මෝටර් රථයේ රූප සටහන සාදා ඇත. දැන් කර්මාන්ත ශාලාවට ගොස් මෙම පන්තියේ වස්තුවක් (එනම් නිශ්චිත මෝටර් රථය) සෑදිය යුතුය.
PHP හි මෙය සිදු කරනු ලබන්නේ යතුරු වචනය
new භාවිතයෙනි, ඉන් පසුව පන්තියේ නම ලියනු ලැබේ:
<?php
new Car;
?>
කෙසේ වෙතත්, පන්තියේ වස්තුවක් සරලව සෑදුවහොත් - එය කිසිදු දෙයකට නොගෙන යයි (මෙය උදාහරණයක් ලෙස, අරාවක් අර්ථ දක්වා එය කොතැනකවත් ලිවීම නොකිරීමට සමාන ය). අපට මෙම වස්තුව ගබඩා කිරීමට විචල්යයක් අවශ්ය ය.
මෙම විචල්යය $myCar ලෙස නම් කරමු
- අප විසින් සාදන ලද වස්තුව එයට ලියමු:
<?php
$myCar = new Car;
?>
මෝටර් රථය සෑදීමෙන් පසු එහි ගුණාංග වෙත ප්රවේශ විය හැකිය.
ඒවා වෙත ප්රවේශ වීම සිදු වන්නේ
හී කෙලින්ම -> භාවිතයෙනි. අපි
අපගේ වස්තුවේ ගුණාංග සකසමු:
<?php
$myCar = new Car; // කර්මාන්ත ශාලාවට මෝටර් රථයක් සෑදීමට විධාන කරන්න
// වස්තුවේ ගුණාංග සකසන්න:
$myCar->color = 'red'; // රතු පැහැයට තීන්ත ආලේප කරන්න
$myCar->fuel = 50; // ඉන්ධන පුරවන්න
?>
හරි, අපගේ මෝටර් රථය සාදා, තීන්ත ආලේප කර, ඉන්ධන පිරවා ඇත. දැන් අපට මෙම මෝටර් රථයේ ක්රම හරහා එයට විධාන ලබා දිය හැකිය.
ක්රම වෙත ප්රවේශ වීම ද සිදු වන්නේ හී කෙලින්ම, නමුත්, ගුණාංගයට වඩා, ක්රමයේ නමෙන් පසුව වරහන් ලිවීම අවශ්ය ය. අපි අපගේ වස්තුවට විධාන කරමු:
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>