Funcs.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /**
  3. * Qii ...
  4. * @return null|Qii|Qii\Autoloader\Psr4
  5. */
  6. function _Qii()
  7. {
  8. return \Qii::getInstance();
  9. }
  10. /**
  11. * \Qii::i(.., ...)
  12. * @return mixed
  13. */
  14. function _i()
  15. {
  16. return call_user_func_array('\Qii::i', func_get_args());
  17. }
  18. /**
  19. * throw new Exception
  20. */
  21. function _e()
  22. {
  23. return call_user_func_array('\Qii::e', func_get_args());
  24. }
  25. /**
  26. * 加载语言包
  27. * @param string $language 语言包
  28. */
  29. function _language($language)
  30. {
  31. \Qii\Language\Loader::getInstance()->load($language);
  32. }
  33. /**
  34. * \Qii_Config_Register:: get or set
  35. * @param $key
  36. * @param null $val
  37. * @return Mix|void
  38. */
  39. function _config($key, $val = null)
  40. {
  41. if($val === null)
  42. {
  43. return \Qii_Config_Register::get($key);
  44. }
  45. return \Qii_Config_Register::set($key, $val);
  46. }
  47. /**
  48. * Adds a base directory for a namespace prefix.
  49. *
  50. * @param string $prefix The namespace prefix.
  51. * @param string $baseDir A base directory for class files in the
  52. * namespace.
  53. * @param bool $prepend If true, prepend the base directory to the stack
  54. * instead of appending it; this causes it to be searched first rather
  55. * than last.
  56. * @return void
  57. */
  58. function _addNamespace($prefix, $baseDir, $prepend = false)
  59. {
  60. _qii()->addNamespace($prefix, $baseDir, $prepend);
  61. }
  62. /**
  63. * 加载loader 可以直接加载指定类
  64. */
  65. function _loader($class = null)
  66. {
  67. $args = func_get_args();
  68. if($class != null){
  69. return call_user_func_array(array(\Qii\Autoloader\Psr4::getInstance(), 'loadClass'), $args);
  70. }
  71. return \Qii\Autoloader\Psr4::getInstance();
  72. }
  73. /**
  74. * 简便的loadClass方法
  75. * Qii\Autoloader\Psr4::getInstance()->loadClass(.., ..);
  76. */
  77. function _loadClass()
  78. {
  79. $args = func_get_args();
  80. return call_user_func_array(array(\_loader(), 'loadClass'), $args);
  81. }
  82. /**
  83. * 根据文件前缀获取文件路径
  84. *
  85. * @param string $file 文件名
  86. */
  87. function _getFileByPrefix($file)
  88. {
  89. return \_loader()->getFileByPrefix($file);
  90. }
  91. /**
  92. * 数据库操作类
  93. *
  94. * @param Qii_Driver_Rules $rule 规则
  95. * @param array|null $privateKey 主键
  96. * @param array|null $fieldsVal 值
  97. * @return mixed
  98. */
  99. function _DBDriver(\Qii_Driver_Rules $rule, $privateKey = null, $fieldsVal = null)
  100. {
  101. $rules = _loadClass('Qii\Driver\Easy')->_initialize();
  102. if ($privateKey) $rules->setPrivateKey($privateKey);
  103. $rules->setRules($rule);
  104. if ($fieldsVal) $rules->setFieldsVal($fieldsVal);
  105. return $rules;
  106. }
  107. /**
  108. * _include include文件
  109. */
  110. function _include($files){
  111. return \Qii\Autoloader\Import::includes($files);
  112. }
  113. function _require($files)
  114. {
  115. return \Qii\Autoloader\Import::requires($files);
  116. }