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.