Define class level constant value to control the class behaviour : Class Constant Property : Class PHP Source Code


PHP Source Code » Class » Class Constant Property »

 

Define class level constant value to control the class behaviour




<?php
abstract class Product {
    protected $count;
    const     FIXED = 1;
    const     TIMED = 2;
    private   $costtype = 1;

    function __construct$count, $costtype=) {
        $this->count = $count;
        $this->costtype = $costtype;
    }

    function cost() {
        switch $this->costtype ) {
            CASE self::TIMED :
                return (* $this->count)
                break;
            CASE self::FIXED :
                return 30;
                break;
            default:
                $this->costtype = self::FIXED;
                return 30;
        }
    }

    function chargeType() {
        switch $this->costtype ) {
            CASE self::TIMED :
                return "hourly rate"
                break;
            CASE self::FIXED :
                return "fixed rate"
                break;
            default:
                $this->costtype = self::FIXED;
                return "fixed rate"
        }
    }
}

class ProductOne extends Product {
}

class ProductTwo extends Product {
}

$lesson = new ProductTwo4, Product::TIMED );
$lesson = new ProductTwo4, Product::FIXED );
$lesson = new ProductTwo433 );
print "lesson charge {$lesson->cost()}. Charge type: {$lesson->chargeType()}n";
?>

           
       



HTML code for linking to this page:

Follow Navioo On Twitter

PHP Source Code

 Navioo Class
» Class Constant Property