LazyRecord\Schema\DeclareSchema::getRelatedClassPath PHP Метод

getRelatedClassPath() публичный Метод

Get the related class file path by the given class name.
public getRelatedClassPath ( string $class ) : string
$class string the scheam related class name
Результат string the class filepath.
    public function getRelatedClassPath($class)
    {
        $_p = explode('\\', $class);
        $shortClassName = end($_p);
        return $this->getDirectory() . DIRECTORY_SEPARATOR . $shortClassName . '.php';
    }

Usage Example

Пример #1
0
 /**
  * This method checks the exising schema file and the generated class file mtime.
  * If the schema file is newer or the forceUpdate flag is specified, then 
  * the generated class files should be updated.
  *
  * @param ClassTemplate\ClassFile $cTemplate
  * @param DeclareSchema           $schema
  */
 protected function updateClassFile(ClassFile $cTemplate, DeclareSchema $schema, $canOverwrite = false)
 {
     // always update the proxy schema file
     $classFilePath = $schema->getRelatedClassPath($cTemplate->getShortClassName());
     // classes not Model/Collection class are overwriteable
     if (file_exists($classFilePath)) {
         if ($canOverwrite && ($schema->isNewerThanFile($classFilePath) || $this->forceUpdate)) {
             $this->writeClassTemplateToPath($cTemplate, $classFilePath);
             return [$cTemplate->getClassName(), $classFilePath];
         }
     } else {
         if ($this->writeClassTemplateToPath($cTemplate, $classFilePath)) {
             return [$cTemplate->getClassName(), $classFilePath];
         }
     }
 }
All Usage Examples Of LazyRecord\Schema\DeclareSchema::getRelatedClassPath