PHP 클래스 lazyrecord\schema\SchemaUtils

파일 보기 프로젝트 열기: corneltek/lazyrecord 1 사용 예제들

공개 메소드들

메소드 설명
buildSchemaMap ( array $schemas ) * static public function find_schema_parents(array $classes) { $parents = []; foreach ($classes as $class) { $schema = new $class; // declare schema foreach ($schema->relations as $relKey => $rel ) { if (!isset($rel['foreign_schema'])) { continue; } $foreignClass = ltrim($rel['foreign_schema'],'\\'); $schema = new $foreignClass; if ($rel->type == Relationship::BELONGS_TO) { $parents[$class][] = $foreignClass; } else if ($rel->type == Relationship::HAS_ONE || $rel->type == Relationship::HAS_MANY) { $parents[$foreignClass][] = $class; } } } return $parents; }
expandSchemaClasses ( array $classes ) Get referenced schema classes and put them in order.
filterBuildableSchemas ( array $schemas ) Filter non-dynamic schema declare classes.
findSchemasByArguments ( ConfigLoader $loader, array $args, CLIFramework\Logger $logger = null ) : array Returns schema objects.
findSchemasByConfigLoader ( ConfigLoader $loader, CLIFramework\Logger $logger = null )
findSchemasByPaths ( array $paths = null, CLIFramework\Logger $logger = null )
printSchemaClasses ( array $classes, CLIFramework\Logger $logger = null )

메소드 상세

buildSchemaMap() 공개 정적인 메소드

* static public function find_schema_parents(array $classes) { $parents = []; foreach ($classes as $class) { $schema = new $class; // declare schema foreach ($schema->relations as $relKey => $rel ) { if (!isset($rel['foreign_schema'])) { continue; } $foreignClass = ltrim($rel['foreign_schema'],'\\'); $schema = new $foreignClass; if ($rel->type == Relationship::BELONGS_TO) { $parents[$class][] = $foreignClass; } else if ($rel->type == Relationship::HAS_ONE || $rel->type == Relationship::HAS_MANY) { $parents[$foreignClass][] = $class; } } } return $parents; }
public static buildSchemaMap ( array $schemas )
$schemas array

expandSchemaClasses() 공개 정적인 메소드

Get referenced schema classes and put them in order.
public static expandSchemaClasses ( array $classes )
$classes array

filterBuildableSchemas() 공개 정적인 메소드

Filter non-dynamic schema declare classes.
public static filterBuildableSchemas ( array $schemas )
$schemas array

findSchemasByArguments() 공개 정적인 메소드

Returns schema objects.
public static findSchemasByArguments ( ConfigLoader $loader, array $args, CLIFramework\Logger $logger = null ) : array
$loader LazyRecord\ConfigLoader
$args array
$logger CLIFramework\Logger
리턴 array schema objects

findSchemasByConfigLoader() 공개 정적인 메소드

public static findSchemasByConfigLoader ( ConfigLoader $loader, CLIFramework\Logger $logger = null )
$loader LazyRecord\ConfigLoader
$logger CLIFramework\Logger

findSchemasByPaths() 공개 정적인 메소드

public static findSchemasByPaths ( array $paths = null, CLIFramework\Logger $logger = null )
$paths array
$logger CLIFramework\Logger

printSchemaClasses() 공개 정적인 메소드

public static printSchemaClasses ( array $classes, CLIFramework\Logger $logger = null )
$classes array
$logger CLIFramework\Logger