<?php
trait TraitName{
protected $name;
abstract protected function setName();
public function __construct(){
$this->setName();
}
public function getName(){
return $this->name;
}
}
class MyClass{
use TraitName;
protected function setName(){
$this->name = __CLASS__;
}
}
$objMyClass = new MyClass();
echo $objMyClass->getName();
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
MyClass