mirror of
https://github.com/webmasterskaya/joomla-oauth-server.git
synced 2024-11-23 22:34:50 +03:00
Добавил Trait для работы с protected полями
This commit is contained in:
parent
a48a9b3a2f
commit
6de591a03d
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace Webmasterskaya\Component\OauthServer\Administrator\Table;
|
||||
|
||||
use Webmasterskaya\Component\OauthServer\Administrator\Helper\CasesHelper;
|
||||
|
||||
trait PropertyManagerTrait
|
||||
{
|
||||
public function __get($name)
|
||||
{
|
||||
// All protected properties names must start with _
|
||||
if (str_starts_with($name, '_')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// If class has getter for property
|
||||
$getterName = 'get' . CasesHelper::camelize($name, true);
|
||||
if (method_exists($this, $getterName)) {
|
||||
return call_user_func([$this, $getterName]);
|
||||
}
|
||||
|
||||
if (isset($this->$name)) {
|
||||
return $name;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function __set($name, $value)
|
||||
{
|
||||
// All protected properties names must start with _
|
||||
if (str_starts_with($name, '_')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If class has setter for property
|
||||
$setterName = 'set' . CasesHelper::camelize($name, true);
|
||||
if (method_exists($this, $setterName)) {
|
||||
call_user_func([$this, $setterName], $value);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isset($this->$name)) {
|
||||
$this->$name = $value;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user