Exemplo n.º 1
0
 /**
  * Make Entity
  *
  * @author WN
  * @param array $components
  * @return static
  */
 public static function make(array $components)
 {
     $entity = new static();
     foreach ($components as $k => $v) {
         if ($entity->isPropertyAllowed($k)) {
             $entity->{'set' . NameHelper::snakeToCamel($k)}($v);
         }
     }
     return $entity;
 }
Exemplo n.º 2
0
use PayBreak\Foundation\AbstractEntity;
use PayBreak\Foundation\Helpers\NameHelper;
$names = [AbstractEntity::TYPE_ARRAY => 'array', AbstractEntity::TYPE_INT => 'int', AbstractEntity::TYPE_STRING => 'string', AbstractEntity::TYPE_BOOL => 'bool', AbstractEntity::TYPE_FLOAT => 'float'];
if (count($argv) !== 2) {
    echo 'Argument not supplied!' . "\n";
    die;
}
if (strpos($argv[1], '--class=') !== false) {
    $class = (string) str_replace('--class=', '', $argv[1]);
    if (!class_exists($class)) {
        echo "Class doesn't exist \n";
        die;
    }
    $ref = new ReflectionClass($class);
    $property = $ref->getProperty('properties');
    $property->setAccessible(true);
    $array = $property->getValue(new $class());
} else {
    $array = [];
}
foreach ($array as $k => $v) {
    if (is_numeric($v)) {
        $v = $names[$v];
    }
    if (is_numeric($k)) {
        $k = $v;
        $v = 'mixed';
    }
    echo ' * @method $this set' . NameHelper::snakeToCamel($k) . '(' . $v . ' $' . NameHelper::snakeToCamel($k, true) . ')' . "\n";
    echo ' * @method ' . $v . '|null get' . NameHelper::snakeToCamel($k) . '()' . "\n";
}