初始化仓库
This commit is contained in:
118
admin/config/bootstrap.php
Normal file
118
admin/config/bootstrap.php
Normal file
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
if (! function_exists('tap')) {
|
||||
/**
|
||||
* Call the given Closure with the given value then return the value.
|
||||
*
|
||||
* @param mixed $value
|
||||
* @param callable|null $callback
|
||||
* @return mixed
|
||||
*/
|
||||
function tap($value, $callback = null)
|
||||
{
|
||||
if (is_null($callback)) {
|
||||
return new \backend\components\HigherOrderTapProxy($value);
|
||||
}
|
||||
|
||||
$callback($value);
|
||||
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
if (!function_exists("app_route")) {
|
||||
|
||||
/**
|
||||
* 生成符合前端解析的url
|
||||
*/
|
||||
function app_route($route, $params = [], $absolute = true, $model = '', $field = [])
|
||||
{
|
||||
|
||||
$paramsFix = [];
|
||||
$paramsModel = [];
|
||||
$data = [];
|
||||
// 解析{}变量
|
||||
foreach ($params as $k => $v) {
|
||||
preg_match('/(?:\{)(.*)(?:\})/i', $v, $match);
|
||||
if (isset($match[1])) {
|
||||
$paramsFix[$k] = $match[1];
|
||||
$data[$k] = 'Ss' . $k . 'sS';
|
||||
} else {
|
||||
if (in_array($v, $field)) {
|
||||
$paramsModel[$k] = $v;
|
||||
$data[$k] = 'Ss' . $k . 'sS';
|
||||
} else {
|
||||
$data[$k] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$url = route($route, $data, $absolute);
|
||||
|
||||
// 解析js变量
|
||||
foreach ($paramsFix as $k => $v) {
|
||||
$url = str_replace('Ss' . $k . 'sS', '${' . $v . ' || \'\'}', $url);
|
||||
}
|
||||
foreach ($paramsModel as $k => $v) {
|
||||
$url = str_replace('Ss' . $k . 'sS', '${' . ($model ? $model . '.' : '') . $v . '|| \'\'}', $url);
|
||||
}
|
||||
$url = "`$url`";
|
||||
|
||||
return $url;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists("app_filesize")) {
|
||||
/**
|
||||
* 文件大小转换
|
||||
* @param $num
|
||||
* @return string
|
||||
*/
|
||||
function app_filesize($num)
|
||||
{
|
||||
$p = 0;
|
||||
$format = 'bytes';
|
||||
if ($num > 0 && $num < 1024) {
|
||||
$p = 0;
|
||||
return number_format($num) . ' ' . $format;
|
||||
}
|
||||
if ($num >= 1024 && $num < pow(1024, 2)) {
|
||||
$p = 1;
|
||||
$format = 'KB';
|
||||
}
|
||||
if ($num >= pow(1024, 2) && $num < pow(1024, 3)) {
|
||||
$p = 2;
|
||||
$format = 'MB';
|
||||
}
|
||||
if ($num >= pow(1024, 3) && $num < pow(1024, 4)) {
|
||||
$p = 3;
|
||||
$format = 'GB';
|
||||
}
|
||||
if ($num >= pow(1024, 4) && $num < pow(1024, 5)) {
|
||||
$p = 3;
|
||||
$format = 'TB';
|
||||
}
|
||||
$num /= pow(1024, $p);
|
||||
return number_format($num, 3) . ' ' . $format;
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists('route')){
|
||||
function route($route,$data,$absolute=true){
|
||||
//if(isset($data['id'])){
|
||||
// $route .='/'.$data['id'];
|
||||
// unset($data['id']);
|
||||
//}
|
||||
//$data[0] = $route;
|
||||
//return Yii::$app->urlManager->createUrl($data);
|
||||
$http_build_query = http_build_query($data);
|
||||
return $route.($http_build_query?'?'.$http_build_query:"");
|
||||
}
|
||||
}
|
||||
if (!function_exists('url_class')) {
|
||||
function url_class($url): array
|
||||
{
|
||||
return [
|
||||
'class' => Yii::$app->controller->getUniqueId(),
|
||||
'action' => Yii::$app->controller->action->getUniqueId()
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user