Inheritance
class Customer {
protected $discount = 0;
public function getDiscount() {
return $this->discount;
}
}
class CustomerPremium extends Customer {
protected $discount = 5;
}
Global Constants
Recommended: no use of global constants inside class methods.
class MyClass {
protected $path_server;
public function setPathServer($path_server) {
$this->path_server = $path_server;
}
public function getFileContents($file) {
return file_get_contents($this->path_server . '/' . $file);
}
}
Abstract & Final
abstract class MyClassAbstract {
abstract protected function computeData();
abstract protected function sendMail();
final public function run() {
$this->computeData();
$this->sendMail();
}
}
class MyClass extends MyClassAbstract {
protected function computeData() {
...
}
protected function sendMail() {
...
}
}
class Customer {
protected $discount = 0;
public function getDiscount() {
return $this->discount;
}
}
class CustomerPremium extends Customer {
protected $discount = 5;
}
Global Constants
Recommended: no use of global constants inside class methods.
class MyClass {
protected $path_server;
public function setPathServer($path_server) {
$this->path_server = $path_server;
}
public function getFileContents($file) {
return file_get_contents($this->path_server . '/' . $file);
}
}
Abstract & Final
abstract class MyClassAbstract {
abstract protected function computeData();
abstract protected function sendMail();
final public function run() {
$this->computeData();
$this->sendMail();
}
}
class MyClass extends MyClassAbstract {
protected function computeData() {
...
}
protected function sendMail() {
...
}
}
No comments:
Post a Comment