Hii hutumiwa endapo unataka kuweka constat kwenye class. Constatnt hutumika kuweka property ambazo hazibadiliki. Zingatia kuwa class ni case-sensitivity kwa maana unazingatia herufi kubwa na ndogo. Ila inashauriwa sana kutumia herufi kubwa unapotumia constant.
Kutengeneza constant utatumia keyword const kama inavyojulikana. Ila katika kuitumia constatant utatumia operator inayofahamika kama scope resolution ambao ni ( :: ) ikifuatiwa na jina la hiyo constatnt
Mfano:
<?php
class Gari{
const TANGAZO = "Tunauza gari aina ya toyota";
}
echo Gari::TANGAZO;
Tunauza gari aina ya toyota
Sasa kama utataka kuitumia constant ndani ya class utatumia keyword self badala ya this kama tulivyoona mwanzoni.
<?php
class Gari{
const TANGAZO = "Tunauza gari aina ya toyota";
function meseji(){
echo self::TANGAZO;
}
}
$ujumbe = new Gari();
$ujumbe->meseji();
Constatnt yenyewe haina access modifier kwa yenyewe ni visible.
Mfano mwingine:
<?php
class Calculator {
const ERROR_MESSAGE = "Error: Division by zero";
public function add($a, $b) {
return $a + $b;
}
public function subtract($a, $b) {
return $a - $b;
}
public function multiply($a, $b) {
return $a * $b;
}
public function divide($a, $b) {
if ($b == 0) {
echo self::ERROR_MESSAGE;
return null;
} else {
return $a / $b;
}
}
}
$calc = new Calculator();
echo "Addition: " . $calc->add(5, 0) . "<br>"; // Outputs: 8
echo "Subtraction: " . $calc->subtract(10, 4) . "<br>"; // Outputs: 6
echo "Multiplication: " . $calc->multiply(6, 7) . "<br>"; // Outputs: 42
echo "Division: " . $calc->divide(20, 4) . "<br>"; // Outputs: 5
echo "Division by zero: ";
$calc->divide(10, 0); // Outputs: Error: Division by zero
Mwsho
Katika somo linalofuata tutakwenda kujifunza kuhusu abstract class.