មេរៀនទី៦: PHP- Object
1. What Is an Object ?
2. Creating an Object
ដើម្បីបង្កើត object មួយអ្នកត្រូវតែរៀបចំនូវ template មួយដើម្បីអោយវាអាច instantiated ដែល template នេះគឺជា class នៅក្នុងភាសា PHP ដើម្បីប្រកាស class មួយអ្នកត្រូវតែប្រើ class Keyword ។
class Person
{
// a very minimal class
}
Person class គឺជាមូលដ្ឋានដ៏សំខាន់មួយដែលអ្នកអាច instantiate រាល់តំលៃ និមួយៗពី PersonObject ។ ដើម្បីបង្កើត instance មួយនៃ object អ្នកត្រូវតែប្រើ new statement ។
$obj1 = new Person(); .
$obj2 = new Person(); .
print “\$obj1 is an “.gettype($obj1).”
”; .
print “\$obj2 is an “.gettype($obj2).”
”; .
អ្នកអាច test នូវ $obj1 និង $obj2 ជាមួយនឹង gettype() function ។ gettype function ទទួលតំលៃVariable និមួយៗហើយផ្ដល់ជា string មកវិញដែលប្រាប់អ្នកអំពីអ្វីដែលអ្នកកំពុងតែធ្វើការជាមួយ ។
3. Object Properties
Object ដែល access ទៅកាន់ special variable ត្រូវបានគេហៅថា properties ។ អ្នកអាច ប្រកាស នូវ special variable ទាំងនោះបាននៅគ្រប់ទីកន្លែងទាំងអស់នៃ class ប៉ុន្ដែដើម្បីអោយ មានភាពងាយស្រួលអ្នកគួរតែប្រកាស់វានៅខាងលើ ។ សំរាប់ property មួយវាអាចជា value ឬ ជា array ឬ ជាObject ផ្សេងៗ ។
class Person .
{
var $name = “Vichet”; .
}
យើងបាន declared នូវ variable ជាមួយនឹង var keyword ដែលនេះគឺជាវិធីសាស្ដ្រ តែមួយ គត់ដើម្បី declare នូវ property មួយនៅក្នុងភាសា PHP 4 យើងនឹងឃើញពីលក្ខណៈបន្ថែមរបស់ PHP 5 នៅឧទាហរណ៍ក្រោយៗទៀត ។ ដូច្នេះប្រសិនបើអ្នកចង់សរសេរកូដអោយ compatible ជាមួយ PHP 4 នោះ អ្នកត្រូវតែប្រើ var keyword។ ឥឡូវនេះ Person objet ដែលបានបង្កើត គឺមាន ផ្ទុកនូវ property មួយ ដែលអោយឈោះថា $name ជាមួយនឹងតំលៃរបស់វាគឺ “Vichet” ។ អ្នកអាច access នូវ property នេះ ពីខាងក្រៅ object និងធ្វើការផ្លាស់ប្ដូរ តំលៃរបស់វាដោយ ប្រើឧទាហរណ៍ ៣៧ ។
class Person >
{
var $name = “Vichet”; >
}
$obj1 = new Person(); >
$obj2 = new Person(); >
$obj1->name = “Soporn”; >
print “$obj1->name
”; >
print “$obj2->name
”; >
?>
( -> ) operator នេះអនុញ្ញាតអោយអ្នកធ្វើការ access ឬ ផ្លាស់ប្ដូរនូវតំលៃរបស់ properties នៃObject ។ យើងបានផ្ដល់នូវតំលៃ “Soporn” ទៅអោយ $name property តាមរយៈ $obj1->name ។
4. Object Methods . Method គឺជា function ដែល defined នៅក្នុង class ។ គ្រប់ object ដែលបាន instantiatedពី class តែងតែមាន method‟s ជានិច្ច យើងនឹងបន្ថែមនូវ method មួយទៅអោយ Person class នៅ
ឧទាហរណ៍ ៣៨ ។
class Person
{
var $name = “Vichet”;
function getName() {
return “Ratana”;
}
}
$person = new Person();
print $person->getName();
// outputs “Ratana”
?>
ឧទាហរណ៍ ៣៩
Accessing a property from within a method
Object គឺជា បណ្ដុំនៃ variables
និង functions ដែលឋិតនៅក្នុង template ពិសេសមួយដែល គេហៅថា class ។ object
លាក់នូវតំណើរការដែលមាននៅខាងក្នុង ពីការប្រើប្រាស់វា ដោយផ្ដល់ជា Interface
សំរាប់អោយអ្នកបញ្ជូននូវ បញ្ជារដើម្បីទទួលពត៌មានត្រលប់មកវិញ ។ interface
ទាំងនោះ គឺជា Function ពិសេសដែលគេអោយឈោះ methods ហើយរាល់ methods ទាំងអស់នៃ
object គឺត្រូវតែ Access ទៅកាន់ special variable ហៅថា properties។
គុណសម្បត្ដិរបស់ object-oriented code គឺផ្ដល់នូវការកាត់បន្ថយការសរសេរកូដ
ដដែលៗពីព្រោះ class ដែលបាន
បង្កើត ជា object មានភាពងាយស្រួលយកទៅប្រើប្រាស់ពី project
មួយទៅកាន់Project មួយ ផ្សេងទៀត ។ បន្ថែមពីនេះវាមានលទ្ធភាពបង្កើត នូវ child
classes ដែល inherit ហើយនឹង Override នូវលក្ខណៈផ្សេងៗពី parents class ។2. Creating an Object
ដើម្បីបង្កើត object មួយអ្នកត្រូវតែរៀបចំនូវ template មួយដើម្បីអោយវាអាច instantiated ដែល template នេះគឺជា class នៅក្នុងភាសា PHP ដើម្បីប្រកាស class មួយអ្នកត្រូវតែប្រើ class Keyword ។
class Person
{
// a very minimal class
}
Person class គឺជាមូលដ្ឋានដ៏សំខាន់មួយដែលអ្នកអាច instantiate រាល់តំលៃ និមួយៗពី PersonObject ។ ដើម្បីបង្កើត instance មួយនៃ object អ្នកត្រូវតែប្រើ new statement ។
$obj1 = new Person(); .
$obj2 = new Person(); .
print “\$obj1 is an “.gettype($obj1).”
”; .
print “\$obj2 is an “.gettype($obj2).”
”; .
អ្នកអាច test នូវ $obj1 និង $obj2 ជាមួយនឹង gettype() function ។ gettype function ទទួលតំលៃVariable និមួយៗហើយផ្ដល់ជា string មកវិញដែលប្រាប់អ្នកអំពីអ្វីដែលអ្នកកំពុងតែធ្វើការជាមួយ ។
3. Object Properties
Object ដែល access ទៅកាន់ special variable ត្រូវបានគេហៅថា properties ។ អ្នកអាច ប្រកាស នូវ special variable ទាំងនោះបាននៅគ្រប់ទីកន្លែងទាំងអស់នៃ class ប៉ុន្ដែដើម្បីអោយ មានភាពងាយស្រួលអ្នកគួរតែប្រកាស់វានៅខាងលើ ។ សំរាប់ property មួយវាអាចជា value ឬ ជា array ឬ ជាObject ផ្សេងៗ ។
class Person .
{
var $name = “Vichet”; .
}
យើងបាន declared នូវ variable ជាមួយនឹង var keyword ដែលនេះគឺជាវិធីសាស្ដ្រ តែមួយ គត់ដើម្បី declare នូវ property មួយនៅក្នុងភាសា PHP 4 យើងនឹងឃើញពីលក្ខណៈបន្ថែមរបស់ PHP 5 នៅឧទាហរណ៍ក្រោយៗទៀត ។ ដូច្នេះប្រសិនបើអ្នកចង់សរសេរកូដអោយ compatible ជាមួយ PHP 4 នោះ អ្នកត្រូវតែប្រើ var keyword។ ឥឡូវនេះ Person objet ដែលបានបង្កើត គឺមាន ផ្ទុកនូវ property មួយ ដែលអោយឈោះថា $name ជាមួយនឹងតំលៃរបស់វាគឺ “Vichet” ។ អ្នកអាច access នូវ property នេះ ពីខាងក្រៅ object និងធ្វើការផ្លាស់ប្ដូរ តំលៃរបស់វាដោយ ប្រើឧទាហរណ៍ ៣៧ ។
class Person >
{
var $name = “Vichet”; >
}
$obj1 = new Person(); >
$obj2 = new Person(); >
$obj1->name = “Soporn”; >
print “$obj1->name
”; >
print “$obj2->name
”; >
?>
( -> ) operator នេះអនុញ្ញាតអោយអ្នកធ្វើការ access ឬ ផ្លាស់ប្ដូរនូវតំលៃរបស់ properties នៃObject ។ យើងបានផ្ដល់នូវតំលៃ “Soporn” ទៅអោយ $name property តាមរយៈ $obj1->name ។
4. Object Methods . Method គឺជា function ដែល defined នៅក្នុង class ។ គ្រប់ object ដែលបាន instantiatedពី class តែងតែមាន method‟s ជានិច្ច យើងនឹងបន្ថែមនូវ method មួយទៅអោយ Person class នៅ
ឧទាហរណ៍ ៣៨ ។
class Person
{
var $name = “Vichet”;
function getName() {
return “Ratana”;
}
}
$person = new Person();
print $person->getName();
// outputs “Ratana”
?>
ដូចដែលអ្នកបានជួបប្រទះមកហើយអំពី method
នៃឧទាហរណ៍ ៣៧ ដែលមើលទៅវាមានលក្ខណៈ ដូចគ្នាទៅនឹង function ធមμតាដែរ ។
អ្នកអាច call object method ដោយការប្រើប្រាស់និមិត្ដ សញ្ញា ( -> )។
method ដែលបាន access ទៅកាន់ member variables នៃ class ខាងលើបាន return
នូវ string “Ratana” ដែលនេះមិនមែនជាការអនុវត្ដន៍ដែលត្រឹមត្រូវ នោះទេ method
គួរតែ return តំលៃដែល copy ពី $name property នឹង មិនមែនជា string
literal។ អ្នកក៏បានស្គាល់ រួច មកហើយអំពីការaccess a property ពីខាងក្រៅ
object ប៉ុន្ដែតើត្រូវធ្វើយ៉ាងណាដើម្បី refer វានៅខាងក្នុង class ខ្លួនឯង?
សូមពិនិត្យមើលឧទាហរណ៍ ៣៩ ។
5. Accessing a Property from Within a Method .ឧទាហរណ៍ ៣៩
Accessing a property from within a method
class Person
{
var $name = “Thary”;
function getName()
{
return $this->name;
}
}
$person = new Person();
$person->name = “Bopha”;
print $person->getName();
//outputs “Bopha”
?>
Class ដែលបានបង្កើតក្នុងឧទាហរណ៍ ៣៩ យើងបានប្រើប្រាស់នូវ special variable $this ដើម្បី refer ទៅកាន់ current instantiated object នៅបន្ទាត់ទី ១៥ គឺ $name ។ object ដែល refer ទៅ កាន់ ខ្លួនឯងត្រូវតែប្រើ $this variable ភ្ជាប់ជាមួយសញ្ញា ( -> ) ដោយការប្រើវិធីនេះអ្នកអាច accessរាល់ property ឬ method ដែលឋិតនៅក្នុង class ខ្លួនឯង។ អ្នកអាចគិតថាចង់អោយ object មាននូវតំលៃនៃ $name property ផ្សេងៗគ្នា ដោយអ្នកអាចធ្វើការរៀបចំនូវតំលៃរបស់ $name property ដូចដែលបានអនុវត្ដន៍នៅក្នុងឧទាហរណ៍ ៣៩ ឬ អ្នកអាចបង្កើតជាmethod សំរាប់ធ្វើការជាមួយវាដូចមានបង្ហាញក្នុង ឧទាហរណ៍ ៤០ ។
6. Changing the Value of a Property from Within a Method .
ឧទាហរណ៍ ៤០
Changing the value of a property from within a method
class Person
{
var $name = “tepy”;
function setName( $n )
{
$this->name = $n;
}
function getName()
{
return $this->name;
}
}
$person = new Person();
$person->setName(“darya”);
print $person->getName();
// outputs “darya”
?>