Jarves\Objects::normalizeObjectKey PHP Method

normalizeObjectKey() public static method

public static normalizeObjectKey ( string $key ) : string
$key string
return string
    public static function normalizeObjectKey($key)
    {
        $key = str_replace(['\\', ':', '.'], '/', $key);
        if (false === strpos($key, '/')) {
            return preg_replace('/bundle$/', '', strtolower($key));
        }
        list($bundleName, $objectName) = explode('/', $key);
        $bundleName = preg_replace('/bundle$/', '', strtolower($bundleName));
        $objectName = lcfirst($objectName);
        return $bundleName . '/' . $objectName;
    }

Usage Example

Beispiel #1
0
 /**
  * @ApiDoc(
  *  section="ACL Management",
  *  description="Saves the given rules"
  * )
  *
  * @Rest\RequestParam(name="targetId", requirements=".+", strict=true, description="Target id")
  * @Rest\RequestParam(name="targetType", requirements=".+", strict=true, description="Target type")
  * @Rest\RequestParam(name="rules", strict=false, description="ACL rules array")
  *
  * @Rest\Post("/user/acl")
  *
  * @param  int $targetId
  * @param  int $targetType
  * @param  array $rules
  *
  * @return bool
  */
 public function saveAcl($targetId, $targetType, $rules = null)
 {
     $targetId += 0;
     $targetType += 0;
     AclQuery::create()->filterByTargetId($targetId)->filterByTargetType($targetType)->delete();
     if (0 < count($rules)) {
         $i = 1;
         if (is_array($rules)) {
             foreach ($rules as $rule) {
                 $ruleObject = new Acl();
                 $ruleObject->setPrio($i);
                 $ruleObject->setTargetType($targetType);
                 $ruleObject->setTargetId($targetId);
                 $ruleObject->setTargetId($targetId);
                 $ruleObject->setObject(Objects::normalizeObjectKey(@$rule['object']));
                 $ruleObject->setSub(filter_var(@$rule['sub'], FILTER_VALIDATE_BOOLEAN));
                 $ruleObject->setAccess(filter_var(@$rule['access'], FILTER_VALIDATE_BOOLEAN));
                 $ruleObject->setFields(@$rule['fields']);
                 $ruleObject->setConstraintType(@$rule['constraintType']);
                 $ruleObject->setConstraintCode(@$rule['constraintCode']);
                 $ruleObject->setMode(@$rule['mode'] + 0);
                 $ruleObject->save();
                 $i++;
             }
         }
     }
     $this->cacher->invalidateCache('core/acl');
     return true;
 }
All Usage Examples Of Jarves\Objects::normalizeObjectKey