/usr/home/syu6901610001/htdocs/runtime/seo/temp/53c282aa728b894af9c9fc657b5c23a4.php
<main id="recruit-wrapper" class="common-box">
<div class="container">
<div class="table-wrapper">
<table>
<thead>
<tr>
<th><?php echo __('Job title'); ?></th>
<th><?php echo __('Industry name'); ?></th>
<th><?php echo __('Professional name'); ?></th>
<th><?php echo __('Job category'); ?></th>
<th><?php echo __('Place of work'); ?></th>
<th><?php echo __('Number of recruits'); ?></th>
<th><?php echo __('Release time'); ?></th>
</tr>
</thead>
<tbody>
<?php if(is_array($list) || $list instanceof \think\Collection || $list instanceof \think\Paginator): $i = 0; $__LIST__ = $list;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$item): $mod = ($i % 2 );++$i;?>
<tr>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['job_title']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['industry_name']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['professional_name']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['job_category']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['place_of_work']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['number_of_recruits']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo date('Y.m.d', $item['publish_time']); ?></a>
</td>
</tr>
Arguments
"Undefined index: job_title"
/usr/home/syu6901610001/htdocs/runtime/seo/temp/53c282aa728b894af9c9fc657b5c23a4.php
<main id="recruit-wrapper" class="common-box">
<div class="container">
<div class="table-wrapper">
<table>
<thead>
<tr>
<th><?php echo __('Job title'); ?></th>
<th><?php echo __('Industry name'); ?></th>
<th><?php echo __('Professional name'); ?></th>
<th><?php echo __('Job category'); ?></th>
<th><?php echo __('Place of work'); ?></th>
<th><?php echo __('Number of recruits'); ?></th>
<th><?php echo __('Release time'); ?></th>
</tr>
</thead>
<tbody>
<?php if(is_array($list) || $list instanceof \think\Collection || $list instanceof \think\Paginator): $i = 0; $__LIST__ = $list;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$item): $mod = ($i % 2 );++$i;?>
<tr>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['job_title']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['industry_name']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['professional_name']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['job_category']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['place_of_work']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo htmlentities($item['json']['number_of_recruits']); ?></a>
</td>
<td>
<a href="<?php echo htmlentities($item['url']); ?>"><?php echo date('Y.m.d', $item['publish_time']); ?></a>
</td>
</tr>
Arguments
8
"Undefined index: job_title"
"/usr/home/syu6901610001/htdocs/runtime/seo/temp/53c282aa728b894af9c9fc657b5c23a4.php"
174
array:28 [
"cacheFile" => "/usr/home/syu6901610001/htdocs/runtime/seo/temp/53c282aa728b894af9c9fc657b5c23a4.php"
"vars" => array:20 [
"lang" => "en"
"home_url" => "/en/index.html"
"product" => app\seo\model\Category {#81}
"scheme" => app\seo\model\Category {#84}
"news" => app\seo\model\Category {#93}
"about_us" => app\seo\model\Category {#100}
"header_nav" => array:6 [
0 => app\seo\model\Category {#106}
1 => app\seo\model\Category {#116}
2 => app\seo\model\Category {#117}
3 => app\seo\model\Category {#121}
4 => app\seo\model\Category {#126}
5 => app\seo\model\Category {#129}
]
"lang_url" => "/zh"
"lang_toggle" => "中文"
"site" => array:24 [
"site_name" => "确誉达"
"seo_title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"site_icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"site_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"site_copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"site_icp" => ""
"phone" => "18898731410"
"address" => "Xindongxing Business Center, Liuxian Second Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen"
"email" => "[email protected]"
"contact" => "Mr. Duan 13760217058"
"qrcode" => "/storage/default/20230213/626b5af7cedfea8b3f15e8d948f07acf8fed499d.jpg"
"site_footer_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"wx_qrcode" => "/storage/default/20230216/5e8a0c6b5369bfbbc495cbfa5c61e3d3762d281e.jpg"
"slide_phone" => "18898731410"
"name" => "确誉达"
"logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"icp" => ""
]
"site_us" => app\seo\model\Category {#78}
"links" => think\model\Collection {#138}
"page" => 1
"page_url" => app\seo\server\Seo::pageUrl(string $url, $page) {#71 …2}
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
"lang" => "en"
"home_url" => "/en/index.html"
"product" => app\seo\model\Category {#81}
"scheme" => app\seo\model\Category {#84}
"news" => app\seo\model\Category {#93}
"about_us" => app\seo\model\Category {#100}
"header_nav" => array:6 [
0 => app\seo\model\Category {#106}
1 => app\seo\model\Category {#116}
2 => app\seo\model\Category {#117}
3 => app\seo\model\Category {#121}
4 => app\seo\model\Category {#126}
5 => app\seo\model\Category {#129}
]
"lang_url" => "/zh"
"lang_toggle" => "中文"
"site" => array:24 [
"site_name" => "确誉达"
"seo_title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"site_icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"site_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"site_copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"site_icp" => ""
"phone" => "18898731410"
"address" => "Xindongxing Business Center, Liuxian Second Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen"
"email" => "[email protected]"
"contact" => "Mr. Duan 13760217058"
"qrcode" => "/storage/default/20230213/626b5af7cedfea8b3f15e8d948f07acf8fed499d.jpg"
"site_footer_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"wx_qrcode" => "/storage/default/20230216/5e8a0c6b5369bfbbc495cbfa5c61e3d3762d281e.jpg"
"slide_phone" => "18898731410"
"name" => "确誉达"
"logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"icp" => ""
]
"site_us" => app\seo\model\Category {#78}
"links" => think\model\Collection {#138}
"page" => 1
"page_url" => app\seo\server\Seo::pageUrl(string $url, $page) {#71 …2}
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
"i" => 1
"__LIST__" => think\paginator\driver\Bootstrap {#155}
"item" => app\seo\model\Article {#140}
"key" => 0
"mod" => 0
"row" => app\seo\model\Category {#131}
]
/usr/home/syu6901610001/htdocs/vendor/topthink/think-template/src/template/driver/File.php
}
/**
* 读取编译编译
* @access public
* @param string $cacheFile 缓存的文件名
* @param array $vars 变量数组
* @return void
*/
public function read(string $cacheFile, array $vars = []): void
{
$this->cacheFile = $cacheFile;
if (!empty($vars) && is_array($vars)) {
// 模板阵列变量分解成为独立变量
extract($vars, EXTR_OVERWRITE);
}
//载入模版缓存文件
include $this->cacheFile;
}
/**
* 检查编译缓存是否有效
* @access public
* @param string $cacheFile 缓存的文件名
* @param int $cacheTime 缓存时间
* @return bool
*/
public function check(string $cacheFile, int $cacheTime): bool
{
// 缓存文件不存在, 直接返回false
if (!file_exists($cacheFile)) {
return false;
}
if (0 != $cacheTime && time() > filemtime($cacheFile) + $cacheTime) {
// 缓存是否在有效期
return false;
}
Arguments
"/usr/home/syu6901610001/htdocs/runtime/seo/temp/53c282aa728b894af9c9fc657b5c23a4.php"
/usr/home/syu6901610001/htdocs/vendor/topthink/think-template/src/Template.php
if ($template) {
$cacheFile = $this->config['cache_path'] . $this->config['cache_prefix'] . md5($this->config['layout_on'] . $this->config['layout_name'] . $template) . '.' . ltrim($this->config['cache_suffix'], '.');
if (!$this->checkCache($cacheFile)) {
// 缓存无效 重新模板编译
$content = file_get_contents($template);
$this->compiler($content, $cacheFile);
}
// 页面缓存
ob_start();
if (PHP_VERSION > 8.0) {
ob_implicit_flush(false);
} else {
ob_implicit_flush(0);
}
// 读取编译存储
$this->storage->read($cacheFile, $this->data);
// 获取并清空缓存
$content = ob_get_clean();
if (!empty($this->config['cache_id']) && $this->config['display_cache'] && $this->cache) {
// 缓存页面输出
$this->cache->set($this->config['cache_id'], $content, $this->config['cache_time']);
}
echo $content;
}
}
/**
* 检查编译缓存是否存在
* @access public
* @param string $cacheId 缓存的id
* @return boolean
*/
public function isCache(string $cacheId): bool
Arguments
"/usr/home/syu6901610001/htdocs/runtime/seo/temp/53c282aa728b894af9c9fc657b5c23a4.php"
array:20 [
"lang" => "en"
"home_url" => "/en/index.html"
"product" => app\seo\model\Category {#81}
"scheme" => app\seo\model\Category {#84}
"news" => app\seo\model\Category {#93}
"about_us" => app\seo\model\Category {#100}
"header_nav" => array:6 [
0 => app\seo\model\Category {#106}
1 => app\seo\model\Category {#116}
2 => app\seo\model\Category {#117}
3 => app\seo\model\Category {#121}
4 => app\seo\model\Category {#126}
5 => app\seo\model\Category {#129}
]
"lang_url" => "/zh"
"lang_toggle" => "中文"
"site" => array:24 [
"site_name" => "确誉达"
"seo_title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"site_icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"site_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"site_copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"site_icp" => ""
"phone" => "18898731410"
"address" => "Xindongxing Business Center, Liuxian Second Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen"
"email" => "[email protected]"
"contact" => "Mr. Duan 13760217058"
"qrcode" => "/storage/default/20230213/626b5af7cedfea8b3f15e8d948f07acf8fed499d.jpg"
"site_footer_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"wx_qrcode" => "/storage/default/20230216/5e8a0c6b5369bfbbc495cbfa5c61e3d3762d281e.jpg"
"slide_phone" => "18898731410"
"name" => "确誉达"
"logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"icp" => ""
]
"site_us" => app\seo\model\Category {#78}
"links" => think\model\Collection {#138}
"page" => 1
"page_url" => app\seo\server\Seo::pageUrl(string $url, $page) {#71 …2}
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
/usr/home/syu6901610001/htdocs/vendor/topthink/think-view/src/Think.php
} else {
$appName = $this->app->http->getName();
$path = $this->app->getRootPath() . $view . DIRECTORY_SEPARATOR . ($appName ? $appName . DIRECTORY_SEPARATOR : '');
}
$this->config['view_path'] = $path;
$this->template->view_path = $path;
}
if ('' == pathinfo($template, PATHINFO_EXTENSION)) {
// 获取模板文件名
$template = $this->parseTemplate($template);
}
// 模板不存在 抛出异常
if (!is_file($template)) {
throw new TemplateNotFoundException('template not exists:' . $template, $template);
}
$this->template->fetch($template, $data);
}
/**
* 渲染模板内容
* @access public
* @param string $template 模板内容
* @param array $data 模板变量
* @return void
*/
public function display(string $template, array $data = []): void
{
$this->template->display($template, $data);
}
/**
* 自动定位模板文件
* @access private
* @param string $template 模板文件规则
* @return string
*/
Arguments
"/usr/home/syu6901610001/htdocs/view/seo/recruit.html"
array:20 [
"lang" => "en"
"home_url" => "/en/index.html"
"product" => app\seo\model\Category {#81}
"scheme" => app\seo\model\Category {#84}
"news" => app\seo\model\Category {#93}
"about_us" => app\seo\model\Category {#100}
"header_nav" => array:6 [
0 => app\seo\model\Category {#106}
1 => app\seo\model\Category {#116}
2 => app\seo\model\Category {#117}
3 => app\seo\model\Category {#121}
4 => app\seo\model\Category {#126}
5 => app\seo\model\Category {#129}
]
"lang_url" => "/zh"
"lang_toggle" => "中文"
"site" => array:24 [
"site_name" => "确誉达"
"seo_title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"site_icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"site_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"site_copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"site_icp" => ""
"phone" => "18898731410"
"address" => "Xindongxing Business Center, Liuxian Second Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen"
"email" => "[email protected]"
"contact" => "Mr. Duan 13760217058"
"qrcode" => "/storage/default/20230213/626b5af7cedfea8b3f15e8d948f07acf8fed499d.jpg"
"site_footer_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"wx_qrcode" => "/storage/default/20230216/5e8a0c6b5369bfbbc495cbfa5c61e3d3762d281e.jpg"
"slide_phone" => "18898731410"
"name" => "确誉达"
"logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"icp" => ""
]
"site_us" => app\seo\model\Category {#78}
"links" => think\model\Collection {#138}
"page" => 1
"page_url" => app\seo\server\Seo::pageUrl(string $url, $page) {#71 …2}
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/View.php
* @return $this
*/
public function filter(callable $filter = null)
{
$this->filter = $filter;
return $this;
}
/**
* 解析和获取模板内容 用于输出
* @access public
* @param string $template 模板文件名或者内容
* @param array $vars 模板变量
* @return string
* @throws \Exception
*/
public function fetch(string $template = '', array $vars = []): string
{
return $this->getContent(function () use ($vars, $template) {
$this->engine()->fetch($template, array_merge($this->data, $vars));
});
}
/**
* 渲染内容输出
* @access public
* @param string $content 内容
* @param array $vars 模板变量
* @return string
*/
public function display(string $content, array $vars = []): string
{
return $this->getContent(function () use ($vars, $content) {
$this->engine()->display($content, array_merge($this->data, $vars));
});
}
/**
* 获取模板引擎渲染内容
* @param $callback
Arguments
"/usr/home/syu6901610001/htdocs/view/seo/recruit.html"
array:20 [
"lang" => "en"
"home_url" => "/en/index.html"
"product" => app\seo\model\Category {#81}
"scheme" => app\seo\model\Category {#84}
"news" => app\seo\model\Category {#93}
"about_us" => app\seo\model\Category {#100}
"header_nav" => array:6 [
0 => app\seo\model\Category {#106}
1 => app\seo\model\Category {#116}
2 => app\seo\model\Category {#117}
3 => app\seo\model\Category {#121}
4 => app\seo\model\Category {#126}
5 => app\seo\model\Category {#129}
]
"lang_url" => "/zh"
"lang_toggle" => "中文"
"site" => array:24 [
"site_name" => "确誉达"
"seo_title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"seo_desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"site_icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"site_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"site_copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"site_icp" => ""
"phone" => "18898731410"
"address" => "Xindongxing Business Center, Liuxian Second Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen"
"email" => "[email protected]"
"contact" => "Mr. Duan 13760217058"
"qrcode" => "/storage/default/20230213/626b5af7cedfea8b3f15e8d948f07acf8fed499d.jpg"
"site_footer_logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"wx_qrcode" => "/storage/default/20230216/5e8a0c6b5369bfbbc495cbfa5c61e3d3762d281e.jpg"
"slide_phone" => "18898731410"
"name" => "确誉达"
"logo" => "/storage/default/20230213/981d303b8efe5bf907ecc9fca0a64ea49bef7e6e.png"
"title" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"keyword" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"desc" => "Shenzhen Queyuda Electronic Technology Co., Ltd. focuses on RF solutions and smart end devices. It covers GNSS high-accuracy navigation and positioning solution module such as GPS and Beidou, high-accuracy inertial navigation module, NFC near-field identification communication module, RF ID far-field communication module, human, machine and pet positioning intelligent terminal, 2G, 3G, 4G signal enhancement amplification repeater s, etc."
"icon" => "/storage/default/20230213/b02de1c4be59be3eeb1b4170c1e3027110043d5c.png"
"copyright" => "Shenzhen Queyuda Electronic Technology Co., Ltd."
"icp" => ""
]
"site_us" => app\seo\model\Category {#78}
"links" => think\model\Collection {#138}
"page" => 1
"page_url" => app\seo\server\Seo::pageUrl(string $url, $page) {#71 …2}
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/View.php
/**
* 获取模板引擎渲染内容
* @param $callback
* @return string
* @throws \Exception
*/
protected function getContent($callback): string
{
// 页面缓存
ob_start();
if (PHP_VERSION > 8.0) {
ob_implicit_flush(false);
} else {
ob_implicit_flush(0);
}
// 渲染输出
try {
$callback();
} catch (\Exception $e) {
ob_end_clean();
throw $e;
}
// 获取并清空缓存
$content = ob_get_clean();
if ($this->filter) {
$content = call_user_func_array($this->filter, [$content]);
}
return $content;
}
/**
* 模板变量赋值
* @access public
* @param string $name 变量名
* @param mixed $value 变量值
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/View.php
*/
public function filter(callable $filter = null)
{
$this->filter = $filter;
return $this;
}
/**
* 解析和获取模板内容 用于输出
* @access public
* @param string $template 模板文件名或者内容
* @param array $vars 模板变量
* @return string
* @throws \Exception
*/
public function fetch(string $template = '', array $vars = []): string
{
return $this->getContent(function () use ($vars, $template) {
$this->engine()->fetch($template, array_merge($this->data, $vars));
});
}
/**
* 渲染内容输出
* @access public
* @param string $content 内容
* @param array $vars 模板变量
* @return string
*/
public function display(string $content, array $vars = []): string
{
return $this->getContent(function () use ($vars, $content) {
$this->engine()->display($content, array_merge($this->data, $vars));
});
}
/**
* 获取模板引擎渲染内容
* @param $callback
* @return string
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Facade.php
*/
public static function make(string $class, $args = [], $newInstance = false)
{
if (__CLASS__ != static::class) {
return self::__callStatic('make', func_get_args());
}
if (true === $args) {
// 总是创建新的实例化对象
$newInstance = true;
$args = [];
}
return self::createFacade($class, $args, $newInstance);
}
// 调用实际类的方法
public static function __callStatic($method, $params)
{
return call_user_func_array([static::createFacade(), $method], $params);
}
}
Arguments
"recruit"
array:6 [
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Facade.php
*/
public static function make(string $class, $args = [], $newInstance = false)
{
if (__CLASS__ != static::class) {
return self::__callStatic('make', func_get_args());
}
if (true === $args) {
// 总是创建新的实例化对象
$newInstance = true;
$args = [];
}
return self::createFacade($class, $args, $newInstance);
}
// 调用实际类的方法
public static function __callStatic($method, $params)
{
return call_user_func_array([static::createFacade(), $method], $params);
}
}
Arguments
array:2 [
0 => think\View {#75}
1 => "fetch"
]
array:2 [
0 => "recruit"
1 => array:6 [
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
]
/usr/home/syu6901610001/htdocs/app/seo/controller/Index.php
$latest = Seo::latestArticle(['cat_id' => $info->id], ['limit' => 3, 'field' => ['publish_time']]);
$where = [
['id', 'NOT IN', implode(',', array_column($latest->toArray(), 'id'))],
['cat_id', '=', $info->id]
];
$list = Seo::articleList($where, ['limit' => $limit]);
}
if ($info->group == 'aboutUs') {
$env_id = $this->lang == 'zh' ? 50 : 51;
$honor_id = $this->lang == 'zh' ? 16 : 37;
$info_about_id = $this->lang == 'zh' ? 65 : 66;
// 公司环境
$info_env = Seo::page(['id' => $env_id], ['article' => true]);
// 公司荣誉
$info_honor = Seo::page(['id' => $honor_id], ['article' => true]);
$info_about = Seo::page(['id' => $info_about_id]);
}
return View::fetch($info->template, get_defined_vars());
}
#[Route(':info_url/content/:article_url')]
public function article($info_url, $article_url)
{
$info = Seo::page($info_url);
if ($info->pid != 0) {
$cat_url = Seo::getUrlById($info->pid);
$cat = Seo::page($cat_url, ['child' => true]);
} else {
$cat = $info;
}
if ($info->group == 'scheme') {
$article = Seo::category($article_url);
$relevant = Seo::articleList(['group' => 'product'], ['limit' => 3]);
} else {
$article = Seo::article($article_url, ['relevant' => [
'limit' => 3
]]);
}
Arguments
"fetch"
array:2 [
0 => "recruit"
1 => array:6 [
"cat_url" => "cat_47"
"info_url" => "cat_49"
"limit" => 8
"cat" => app\seo\model\Category {#105}
"info" => app\seo\model\Category {#139}
"list" => think\paginator\driver\Bootstrap {#155}
]
]
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Container.php
$class = is_object($class) ? $class : $this->invokeClass($class);
} else {
// 静态方法
[$class, $method] = explode('::', $method);
}
try {
$reflect = new ReflectionMethod($class, $method);
} catch (ReflectionException $e) {
$class = is_object($class) ? get_class($class) : $class;
throw new FuncNotFoundException('method not exists: ' . $class . '::' . $method . '()', "{$class}::{$method}", $e);
}
$args = $this->bindParams($reflect, $vars);
if ($accessible) {
$reflect->setAccessible($accessible);
}
return $reflect->invokeArgs(is_object($class) ? $class : null, $args);
}
/**
* 调用反射执行类的方法 支持参数绑定
* @access public
* @param object $instance 对象实例
* @param mixed $reflect 反射类
* @param array $vars 参数
* @return mixed
*/
public function invokeReflectMethod($instance, $reflect, array $vars = [])
{
$args = $this->bindParams($reflect, $vars);
return $reflect->invokeArgs($instance, $args);
}
/**
* 调用反射执行callable 支持参数绑定
* @access public
Arguments
app\seo\controller\Index {#74}
array:2 [
0 => "cat_47"
1 => "cat_49"
]
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Container.php
return $reflect->invokeArgs($instance, $args);
}
/**
* 调用反射执行callable 支持参数绑定
* @access public
* @param mixed $callable
* @param array $vars 参数
* @param bool $accessible 设置是否可访问
* @return mixed
*/
public function invoke($callable, array $vars = [], bool $accessible = false)
{
if ($callable instanceof Closure) {
return $this->invokeFunction($callable, $vars);
} elseif (is_string($callable) && false === strpos($callable, '::')) {
return $this->invokeFunction($callable, $vars);
} else {
return $this->invokeMethod($callable, $vars, $accessible);
}
}
/**
* 调用反射执行类的实例化 支持依赖注入
* @access public
* @param string $class 类名
* @param array $vars 参数
* @return mixed
*/
public function invokeClass(string $class, array $vars = [])
{
try {
$reflect = new ReflectionClass($class);
} catch (ReflectionException $e) {
throw new ClassNotFoundException('class not exists: ' . $class, $class, $e);
}
if ($reflect->hasMethod('__make')) {
$method = $reflect->getMethod('__make');
Arguments
"pageChild"
array:3 [
"lang" => "en"
"cat_url" => "cat_47"
"info_url" => "cat_49"
]
false
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/route/dispatch/Callback.php
// +----------------------------------------------------------------------
// | Author: liu21st <[email protected]>
// +----------------------------------------------------------------------
declare (strict_types = 1);
namespace think\route\dispatch;
use think\route\Dispatch;
/**
* Callback Dispatcher
*/
class Callback extends Dispatch
{
public function exec()
{
// 执行回调方法
$vars = array_merge($this->request->param(), $this->param);
return $this->app->invoke($this->dispatch, $vars);
}
}
Arguments
array:2 [
0 => "app\seo\controller\Index"
1 => "pageChild"
]
array:3 [
"lang" => "en"
"cat_url" => "cat_47"
"info_url" => "cat_49"
]
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/route/Dispatch.php
}
/**
* 执行路由调度
* @access public
* @return mixed
*/
public function run(): Response
{
if ($this->rule instanceof RuleItem && $this->request->method() == 'OPTIONS' && $this->rule->isAutoOptions()) {
$rules = $this->rule->getRouter()->getRule($this->rule->getRule());
$allow = [];
foreach ($rules as $item) {
$allow[] = strtoupper($item->getMethod());
}
return Response::create('', 'html', 204)->header(['Allow' => implode(', ', $allow)]);
}
$data = $this->exec();
return $this->autoResponse($data);
}
protected function autoResponse($data): Response
{
if ($data instanceof Response) {
$response = $data;
} elseif ($data instanceof ResponseInterface) {
$response = Response::create((string) $data->getBody(), 'html', $data->getStatusCode());
foreach ($data->getHeaders() as $header => $values) {
$response->header([$header => implode(", ", $values)]);
}
} elseif (!is_null($data)) {
// 默认自动识别响应输出类型
$type = $this->request->isJson() ? 'json' : 'html';
$response = Response::create($data, $type);
} else {
$data = ob_get_clean();
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Route.php
{
$this->request = $request;
$this->host = $this->request->host(true);
if ($withRoute) {
//加载路由
if ($withRoute instanceof Closure) {
$withRoute();
}
$dispatch = $this->check();
} else {
$dispatch = $this->url($this->path());
}
$dispatch->init($this->app);
return $this->app->middleware->pipeline('route')
->send($request)
->then(function () use ($dispatch) {
return $dispatch->run();
});
}
/**
* 检测URL路由
* @access public
* @return Dispatch|false
* @throws RouteNotFoundException
*/
public function check()
{
// 自动检测域名路由
$url = str_replace($this->config['pathinfo_depr'], '|', $this->path());
$completeMatch = $this->config['route_complete_match'];
$result = $this->checkDomain()->check($this->request, $url, $completeMatch);
if (false === $result && !empty($this->cross)) {
// 检测跨域路由
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
*/
public function through($pipes)
{
$this->pipes = is_array($pipes) ? $pipes : func_get_args();
return $this;
}
/**
* 执行
* @param Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes),
$this->carry(),
function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
}
);
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
/**
* 执行
* @param Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes),
$this->carry(),
function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
}
);
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Route.php
$this->request = $request;
$this->host = $this->request->host(true);
if ($withRoute) {
//加载路由
if ($withRoute instanceof Closure) {
$withRoute();
}
$dispatch = $this->check();
} else {
$dispatch = $this->url($this->path());
}
$dispatch->init($this->app);
return $this->app->middleware->pipeline('route')
->send($request)
->then(function () use ($dispatch) {
return $dispatch->run();
});
}
/**
* 检测URL路由
* @access public
* @return Dispatch|false
* @throws RouteNotFoundException
*/
public function check()
{
// 自动检测域名路由
$url = str_replace($this->config['pathinfo_depr'], '|', $this->path());
$completeMatch = $this->config['route_complete_match'];
$result = $this->checkDomain()->check($this->request, $url, $completeMatch);
if (false === $result && !empty($this->cross)) {
// 检测跨域路由
$result = $this->cross->check($this->request, $url, $completeMatch);
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Http.php
// 加载全局中间件
$this->loadMiddleware();
// 监听HttpRun
$this->app->event->trigger(HttpRun::class);
return $this->app->middleware->pipeline()
->send($request)
->then(function ($request) {
return $this->dispatchToRoute($request);
});
}
protected function dispatchToRoute($request)
{
$withRoute = $this->app->config->get('app.with_route', true) ? function () {
$this->loadRoutes();
} : null;
return $this->app->route->dispatch($request, $withRoute);
}
/**
* 加载全局中间件
*/
protected function loadMiddleware(): void
{
if (is_file($this->app->getBasePath() . 'middleware.php')) {
$this->app->middleware->import(include $this->app->getBasePath() . 'middleware.php');
}
}
/**
* 加载路由
* @access protected
* @return void
*/
protected function loadRoutes(): void
{
// 加载路由定义
Arguments
app\Request {#45}
Closure() {#60 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Http.php
}
}
/**
* 执行应用程序
* @param Request $request
* @return mixed
*/
protected function runWithRequest(Request $request)
{
// 加载全局中间件
$this->loadMiddleware();
// 监听HttpRun
$this->app->event->trigger(HttpRun::class);
return $this->app->middleware->pipeline()
->send($request)
->then(function ($request) {
return $this->dispatchToRoute($request);
});
}
protected function dispatchToRoute($request)
{
$withRoute = $this->app->config->get('app.with_route', true) ? function () {
$this->loadRoutes();
} : null;
return $this->app->route->dispatch($request, $withRoute);
}
/**
* 加载全局中间件
*/
protected function loadMiddleware(): void
{
if (is_file($this->app->getBasePath() . 'middleware.php')) {
$this->app->middleware->import(include $this->app->getBasePath() . 'middleware.php');
}
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
*/
public function through($pipes)
{
$this->pipes = is_array($pipes) ? $pipes : func_get_args();
return $this;
}
/**
* 执行
* @param Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes),
$this->carry(),
function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
}
);
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/think-multi-app/src/MultiApp.php
$this->path = $this->app->http->getPath();
}
/**
* 多应用解析
* @access public
* @param Request $request
* @param Closure $next
* @return Response
*/
public function handle($request, Closure $next)
{
if (!$this->parseMultiApp()) {
return $next($request);
}
return $this->app->middleware->pipeline('app')
->send($request)
->then(function ($request) use ($next) {
return $next($request);
});
}
/**
* 获取路由目录
* @access protected
* @return string
*/
protected function getRoutePath(): string
{
return $this->app->getAppPath() . 'route' . DIRECTORY_SEPARATOR;
}
/**
* 解析多应用
* @return bool
*/
protected function parseMultiApp(): bool
{
$scriptName = $this->getScriptName();
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
*/
public function through($pipes)
{
$this->pipes = is_array($pipes) ? $pipes : func_get_args();
return $this;
}
/**
* 执行
* @param Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes),
$this->carry(),
function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
}
);
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
/**
* 执行
* @param Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes),
$this->carry(),
function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
}
);
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/think-multi-app/src/MultiApp.php
}
/**
* 多应用解析
* @access public
* @param Request $request
* @param Closure $next
* @return Response
*/
public function handle($request, Closure $next)
{
if (!$this->parseMultiApp()) {
return $next($request);
}
return $this->app->middleware->pipeline('app')
->send($request)
->then(function ($request) use ($next) {
return $next($request);
});
}
/**
* 获取路由目录
* @access protected
* @return string
*/
protected function getRoutePath(): string
{
return $this->app->getAppPath() . 'route' . DIRECTORY_SEPARATOR;
}
/**
* 解析多应用
* @return bool
*/
protected function parseMultiApp(): bool
{
$scriptName = $this->getScriptName();
$defaultApp = $this->app->config->get('app.default_app') ?: 'index';
Arguments
Closure($request) {#67 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
app\Request {#45}
Closure($passable) {#55 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
array:2 [
0 => think\app\MultiApp {#66}
1 => "handle"
]
app\Request {#45}
Closure($passable) {#55 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
};
};
}
/**
* 异常处理
* @param $passable
* @param $e
* @return mixed
*/
protected function handleException($passable, Throwable $e)
{
if ($this->exceptionHandler) {
return call_user_func($this->exceptionHandler, $passable, $e);
}
throw $e;
}
Arguments
app\Request {#45}
Closure($passable) {#55 …4}
/usr/home/syu6901610001/htdocs/app/middleware/Resource.php
/**
* 处理请求
*
* @param \think\Request $request
* @param \Closure $next
* @return \think\Response
*/
public function handle(Request $request, \Closure $next): Response
{
Log::close(); // 关闭日志记录
if ($request->method() === 'OPTIONS') {
$this->preflight();
}
if ($request->method() === 'GET' && empty($request->header('batoken'))) {
$this->assets($request);
}
return $next($request);
}
}
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
app\Request {#45}
Closure($passable) {#56 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
array:2 [
0 => app\middleware\Resource {#62}
1 => "handle"
]
app\Request {#45}
Closure($passable) {#56 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
};
};
}
/**
* 异常处理
* @param $passable
* @param $e
* @return mixed
*/
protected function handleException($passable, Throwable $e)
{
if ($this->exceptionHandler) {
return call_user_func($this->exceptionHandler, $passable, $e);
}
throw $e;
}
Arguments
app\Request {#45}
Closure($passable) {#56 …4}
/usr/home/syu6901610001/htdocs/app/middleware/AllowCross.php
*/
public function handle(Request $request, Closure $next, ?array $header = []): Response
{
$header = !empty($header) ? array_merge($this->header, $header) : $this->header;
$origin = $request->header('origin');
if ($origin) {
$info = parse_url($origin);
// 获取跨域配置
$corsDomain = explode(',', Config::get('buildadmin.cors_request_domain'));
$corsDomain[] = $request->host(true);
if (in_array("*", $corsDomain) || in_array($origin, $corsDomain) || (isset($info['host']) && in_array($info['host'], $corsDomain))) {
header("Access-Control-Allow-Origin: " . $origin);
}
}
return $next($request)->header($header);
}
}
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
app\Request {#45}
Closure($passable) {#57 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
array:2 [
0 => app\middleware\AllowCross {#52}
1 => "handle"
]
app\Request {#45}
Closure($passable) {#57 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
};
};
}
/**
* 异常处理
* @param $passable
* @param $e
* @return mixed
*/
protected function handleException($passable, Throwable $e)
{
if ($this->exceptionHandler) {
return call_user_func($this->exceptionHandler, $passable, $e);
}
throw $e;
}
Arguments
app\Request {#45}
Closure($passable) {#57 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/think-trace/src/TraceDebug.php
* @access public
* @param Request $request
* @param Closure $next
* @return void
*/
public function handle($request, Closure $next)
{
$debug = $this->app->isDebug();
// 注册日志监听
if ($debug) {
$this->log = [];
$this->app->event->listen(LogWrite::class, function ($event) {
if (empty($this->config['channel']) || $this->config['channel'] == $event->channel) {
$this->log = array_merge_recursive($this->log, $event->log);
}
});
}
$response = $next($request);
// Trace调试注入
if ($debug) {
$data = $response->getContent();
$this->traceDebug($response, $data);
$response->content($data);
}
return $response;
}
public function traceDebug(Response $response, &$content)
{
$config = $this->config;
$type = $config['type'] ?? 'Html';
unset($config['type']);
$trace = App::factory($type, '\\think\\trace\\', $config);
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
app\Request {#45}
Closure($passable) {#58 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Middleware.php
{
return $this->queue[$type] ?? [];
}
/**
* 调度管道
* @access public
* @param string $type 中间件类型
* @return Pipeline
*/
public function pipeline(string $type = 'global')
{
return (new Pipeline())
->through(array_map(function ($middleware) {
return function ($request, $next) use ($middleware) {
[$call, $params] = $middleware;
if (is_array($call) && is_string($call[0])) {
$call = [$this->app->make($call[0]), $call[1]];
}
$response = call_user_func($call, $request, $next, ...$params);
if (!$response instanceof Response) {
throw new LogicException('The middleware must return Response instance');
}
return $response;
};
}, $this->sortMiddleware($this->queue[$type] ?? [])))
->whenException([$this, 'handleException']);
}
/**
* 结束调度
* @param Response $response
*/
public function end(Response $response)
{
foreach ($this->queue as $queue) {
foreach ($queue as $middleware) {
[$call] = $middleware;
if (is_array($call) && is_string($call[0])) {
Arguments
array:2 [
0 => think\trace\TraceDebug {#64}
1 => "handle"
]
app\Request {#45}
Closure($passable) {#58 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
};
};
}
/**
* 异常处理
* @param $passable
* @param $e
* @return mixed
*/
protected function handleException($passable, Throwable $e)
{
if ($this->exceptionHandler) {
return call_user_func($this->exceptionHandler, $passable, $e);
}
throw $e;
}
Arguments
app\Request {#45}
Closure($passable) {#58 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Pipeline.php
/**
* 执行
* @param Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes),
$this->carry(),
function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable | Exception $e) {
return $this->handleException($passable, $e);
}
}
);
return $pipeline($this->passable);
}
/**
* 设置异常处理器
* @param callable $handler
* @return $this
*/
public function whenException($handler)
{
$this->exceptionHandler = $handler;
return $this;
}
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
return $pipe($passable, $stack);
} catch (Throwable | Exception $e) {
Arguments
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Http.php
}
/**
* 执行应用程序
* @param Request $request
* @return mixed
*/
protected function runWithRequest(Request $request)
{
// 加载全局中间件
$this->loadMiddleware();
// 监听HttpRun
$this->app->event->trigger(HttpRun::class);
return $this->app->middleware->pipeline()
->send($request)
->then(function ($request) {
return $this->dispatchToRoute($request);
});
}
protected function dispatchToRoute($request)
{
$withRoute = $this->app->config->get('app.with_route', true) ? function () {
$this->loadRoutes();
} : null;
return $this->app->route->dispatch($request, $withRoute);
}
/**
* 加载全局中间件
*/
protected function loadMiddleware(): void
{
if (is_file($this->app->getBasePath() . 'middleware.php')) {
$this->app->middleware->import(include $this->app->getBasePath() . 'middleware.php');
}
}
Arguments
Closure($request) {#21 …4}
/usr/home/syu6901610001/htdocs/vendor/topthink/framework/src/think/Http.php
return $this->isBind;
}
/**
* 执行应用程序
* @access public
* @param Request|null $request
* @return Response
*/
public function run(Request $request = null): Response
{
//初始化
$this->initialize();
//自动创建request对象
$request = $request ?? $this->app->make('request', [], true);
$this->app->instance('request', $request);
try {
$response = $this->runWithRequest($request);
} catch (Throwable $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
}
return $response;
}
/**
* 初始化
*/
protected function initialize()
{
if (!$this->app->initialized()) {
$this->app->initialize();
}
}
/**
Arguments
/usr/home/syu6901610001/htdocs/public/index.php
// }
// // 安装检测-e
// /*
// * 检测是否已编译前端-s
// * 如果存在 index.html 则访问 index.html
// */
// if (is_file($rootPath . 'index.html')) {
// header("location:" . DIRECTORY_SEPARATOR . 'index.html');
// exit();
// }
// // 检测是否已编译前端-e
// }
require __DIR__ . '/../vendor/autoload.php';
// 执行HTTP应用并响应
$http = (new App())->http;
$response = $http->run();
$response->send();
$http->end($response);
/usr/home/syu6901610001/htdocs/index.php
<?php
// 加载tp框架
require_once __DIR__ . '/public/index.php';
Arguments
"/usr/home/syu6901610001/htdocs/public/index.php"