Operatori i Nxjerrjes së Sigurt në OOP në PHP
Operatori i nxjerrjes së sigurt ?-> lejon
qasje të sigurt në metodat dhe vetitë e objekteve
që mund të jenë null.
Le të shohim një shembull. Le të themi se kemi klasën e mëposhtme:
<?php
class User
{
public $name;
public function __construct($name)
{
$this->name = $name;
}
}
?>
Le të krijojmë një objekt të kësaj klase:
<?php
$user = new User('john');
?>
Le të shfaqim vlerën e vetisë së saj:
<?php
$user = new User('john');
echo $user->name;
?>
Le të themi se ndodhi që në vend të
objektit kemi null. Në këtë rast
përpjekja për të hyrë në emrin e përdoruesit
do të shkaktojë një gabim:
<?php
$user = null;
echo $user->name; // gabim
?>
Për të shtypur gabimin, ne mund të përdorim operatorin e nxjerrjes së sigurt:
<?php
$user = null;
echo $user?->name;
?>
Përmirësoni kodin e mëposhtëm duke përdorur operatorin e nxjerrjes së sigurt:
<?php
class Employee {
public $name;
public $salary;
public function __construct($name, $salary)
{
$this->name = $name;
$this->salary = $salary;
}
}
$employee = new Employee('john', 1000);
echo $employee->name;
echo $employee->salary;
?>