This commit is contained in:
Your Name
2026-03-01 14:17:59 +08:00
parent 65aa12f146
commit a07e844c47
6071 changed files with 777651 additions and 0 deletions
@@ -0,0 +1,52 @@
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2023 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------
declare(strict_types=1);
namespace think\service;
use think\Model;
use think\Service;
/**
* 模型服务类
*/
class ModelService extends Service
{
public function boot()
{
Model::setDb($this->app->db);
Model::setEvent($this->app->event);
Model::setInvoker([$this->app, 'invoke']);
Model::maker(function (Model $model) {
$config = $this->app->config;
$isAutoWriteTimestamp = $model->getAutoWriteTimestamp();
if (is_null($isAutoWriteTimestamp)) {
// 自动写入时间戳
$model->isAutoWriteTimestamp($config->get('database.auto_timestamp', 'timestamp'));
}
$dateFormat = $model->getDateFormat();
if (is_null($dateFormat)) {
// 设置时间戳格式
$model->setDateFormat($config->get('database.datetime_format', 'Y-m-d H:i:s'));
}
$timeField = $config->get('database.datetime_field');
if (!empty($timeField)) {
[$createTime, $updateTime] = explode(',', $timeField);
$model->setTimeField($createTime, $updateTime);
}
});
}
}
@@ -0,0 +1,52 @@
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2023 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------
declare(strict_types=1);
namespace think\service;
use think\Paginator;
use think\paginator\driver\Bootstrap;
use think\Service;
/**
* 分页服务类
*/
class PaginatorService extends Service
{
public function register()
{
if (!$this->app->bound(Paginator::class)) {
$this->app->bind(Paginator::class, Bootstrap::class);
}
}
public function boot()
{
Paginator::maker(function (...$args) {
return $this->app->make(Paginator::class, $args, true);
});
Paginator::currentPathResolver(function () {
return $this->app->request->baseUrl();
});
Paginator::currentPageResolver(function ($varPage = 'page') {
$page = $this->app->request->param($varPage);
if (filter_var($page, FILTER_VALIDATE_INT) !== false && (int) $page >= 1) {
return (int) $page;
}
return 1;
});
}
}
@@ -0,0 +1,31 @@
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2023 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------
declare(strict_types=1);
namespace think\service;
use think\Service;
use think\Validate;
/**
* 验证服务类
*/
class ValidateService extends Service
{
public function boot()
{
Validate::maker(function (Validate $validate) {
$validate->setLang($this->app->lang);
$validate->setDb($this->app->db);
$validate->setRequest($this->app->request);
});
}
}