مفهوم constant یا همان ثابت ها را در php به صورت زیر تعریف می کردیم
define("height","100");
که مقدار ثابتی به یک متغییر را انجام میداد .
در برنامه نویسی شی گرایی برای اینکه مقدار ثابتی را بهیک پروپرتی در کلاس بدهیم به روش زیر عمل می کنیم:
استفاده از const ابتدای متغییر (پروپرتی)
const ASC=1;
به کلاس زیر دقت کنید
class WordCounter { const ASC = 1; //you need not use $ sign before Constants const DESC = 2; private $words; function __construct($filename) { $file_content = file_get_contents($filename); // read file $this->words = (array_count_values(str_word_count(strtolower //array_count_values //کلمات را به آرایه تبدیل میکند // str_word_count تعداد کلمات را میشمارد ($file_content), 1))); } public function count($order) { if ($order == self::ASC) asort($this->words); // asort // سورت صعودی else if ($order == self::DESC) arsort($this->words); //arsort سورت نزولی foreach ($this->words as $key => $val) echo $key . " = " . $val . "<br/>"; } } $wc = new WordCounter("words.txt"); $wc->count(WordCounter::DESC);
-
const مانند متغییر های استاتیک عمل می کند
-
const فقط قابلیت خواندن دارند : readOnly
-
برای اشاره کردن به ثابت ها از سلف استفاده میشود
self::ASC