Ubiquity  2.0.3
php rapid development framework
ModelsCacheTrait.php
Go to the documentation of this file.
1 <?php
3 
6 
12  abstract protected static function _getFiles(&$config,$type,$silent=false);
13 
14  public static function createOrmModelCache($classname) {
15  $key=self::getModelCacheKey($classname);
16  if(isset(self::$cache)){
17  if (!self::$cache->exists($key)) {
18  $p=new ModelParser();
19  $p->parse($classname);
20  self::$cache->store($key, $p->__toString(),'models');
21  }
22  return self::$cache->fetch($key);
23  }
24  }
25 
26  public static function getOrmModelCache($classname) {
27  return self::$cache->fetch(self::getModelCacheKey($classname));
28  }
29 
30  public static function getModelCacheKey($classname){
31  return \str_replace("\\", DIRECTORY_SEPARATOR, $classname);
32  }
33 
34  public static function modelCacheExists($classname){
35  $key=self::getModelCacheKey($classname);
36  if(isset(self::$cache))
37  return self::$cache->exists($key);
38  return false;
39  }
40 
41  public static function initModelsCache(&$config,$forChecking=false,$silent=false) {
42  $files=self::getModelsFiles($config,$silent);
43  foreach ( $files as $file ) {
44  if (is_file($file)) {
46  if(!$forChecking){
47  self::createOrmModelCache($model);
48  }
49  }
50  }
51  if(!$silent){
52  echo "Models cache reset\n";
53  }
54  }
55 
56  public static function getModelsFiles(&$config,$silent=false){
57  return self::_getFiles($config, "models",$silent);
58  }
59 
60  public static function getModels(&$config,$silent=false){
61  $result=[];
62  $files=self::getModelsFiles($config,$silent);
63  foreach ($files as $file){
64  $result[]=ClassUtils::getClassFullNameFromFile($file);
65  }
66  return $result;
67  }
68 
69 }
static initModelsCache(&$config, $forChecking=false, $silent=false)
static _getFiles(&$config, $type, $silent=false)
static getModels(&$config, $silent=false)
static getModelsFiles(&$config, $silent=false)
static getClassFullNameFromFile($filePathName, $backSlash=false)
get the full name (name \ namespace) of a class from its file path result example: (string) "I\Am\The...
Definition: ClassUtils.php:17