TLingC's Zone
TLingC's Zone

PHP
文章归档

ThinkPHP 6 阿里云日志服务日志驱动

think-aliyunsls ThinkPHP 6 阿里云日志服务日志驱动 安装 composer require tlingc/think-aliyunsls 配置 config/log.php // 默认日志记录通道 'default' => 'aliyunsls', // 日志通道列表 'channels' => [ 'aliyunsls' => [ // 日志记录方式 'type' => 'Aliyunsls', // 阿里云 endpoint 'endpoint' => 'http://cn-beijing.sls.aliyuncs.com/', // 阿里云 AccessKey ID 'access_key_id' …

716   2020-03-16  

腾讯云 ThinkPHP Serverless Component

由 官方维护的ThinkPHP Component 已发布,可使用官方版。 由于官方对静态资源处理采用扩展名枚举实现,暂无法满足我的业务需求,故本仓库还会维护一段时间。如果官方版已经能够满足你的需求,建议使用官方版。 简介 腾讯云 ThinkPHP Serverless Component。 本项目基于 tencent-laravel 修改,以支持运行 ThinkPHP,同时优化了对静态资源的兼容性。 目录 准备 安装 配置 部署 移除 0. 准备 初始化 ThinkPHP 项目 在使用此组件之前,你需要先自己初始化一个 thinkphp …

425   2020-03-08  

让ThinkPHP 6.0语言包支持多级分组

最近在做一个多语言网站项目,需要给一个多级导航栏编写语言包。虽然ThinkPHP 6.0多语言功能引入了语言分组,但其分组最深只能支持两层,在如我的这种情况下无法满足需要。 可通过修改框架src/think/Lang.php来实现多层级的支持。 在src/think/Lang.php中,替换对应方法: public function has(string $name, string $range = ''): bool { $range = $range ?: $this->range; if ($this->config['allow_group'] && strpos($name, '.')) { $names = e…

428   2020-02-05  

ThinkPHP 6.0 多语言优化扩展包

think-lang ThinkPHP 6.0 多语言优化扩展包 特色 支持通过如 mywebsite.com/zh-hans/ 的二级目录访问对应语言页面。 支持每种语言的语言包单独成目录,目录下可设有二级目录。 安装 composer require tlingc/think-lang 使用 基础配置 请参照 官方文档 进行相关配置。同时注意如下与官方文档的不同点。 开启和加载语言包 中间件名称为: 'tlingc\lang\middleware\LoadLangPack', 由于多语言通过二级目录访问,使用Cookie保存语言 功能无效。 语言文件定义 自…

849   2020-02-04  

https://tlingc.com/wp-content/uploads/2019/12/TIM截图20191208174038_conew2.jpg

在Composer中使用自己修改的包

在使用composer组件时,有时候需要对包进行一些自定义修改,有一些教程中写需要修改composer.json,然后发布到Packagist,但如果只是适应自己需求所作的小修改,其实并没有必要发布到Packagist,而这样做也是Packagist不推荐的: Do not submit forks of existing packages. If you need to test changes to a package…

454   2019-12-08  

在ThinkPHP中使用Laravel Mix

参照Laravel Mix文档,可以用在独立项目中,因此可以在ThinkPHP根目录下,参照Laravel项目,建立如下两个文件: package.json { "private": true, "scripts": { "dev": "npm run development", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "npm run development -- --watch", "watch-poll": "…

656   2019-10-15  

Composer检查可以更新的包

如果要为本地已经安装的composer包检查更新,可以用这个命令: composer show -o 运行后,会列出可以更新的包名称,以及当前版本和最新版本。

303   2019-09-17  

PHP中把字符串true/false转成boolean布尔型

在PHP中,无法使用(bool)或者settype()函数把字符串的"true"和"false"转成布尔型。如果使用上述两种办法,会始终返回true。 <?php $string = 'true'; var_dump((bool) $string); $string = 'false'; var_dump((bool) $string); $string = 'true'; var_dump(settype($string, 'boolean')); $string = 'false'; var_dump(settype($string, 'boolean')); ?> 返回 bool(true) bool(true) bool(true) bool(true) 参考PHP官网文档,可自己定义一个函数解决: //参考:https…

981   2019-09-03  

ThinkPHP 6.0 实现二级目录多语言功能

建议使用下方文章中的扩展包,它对本文中实现的多语言功能中间件进行了封装,同时计划加入更多相关功能。 前言 ThinkPHP内置了多语言功能,但是它是通过判断URL参数、Cookies、HTTP_ACCEPT_LANGUAGE请求参数来返回语言包的,由于多种语言的URL固定的,在搜索引擎抓取页面时,页面返回哪种语言取决于爬虫所带的请求头,这种方法对SEO有一定的影响,难以全面收录各种语言的版本。例如Google webmaster support的“管理多区域和多语言网站”一文中提及到: Google 建议对每种语言…

1,304   2019-08-13  

利用PHP把MySQL数据库内所有表编码转换为utf8mb4

<?php $mysql = mysql_connect(MYSQL_HOST,MYSQL_USERNAME,MYSQL_PASSWORD); if (!$mysql) echo "Failed to connect mysql!"; mysql_select_db(MYSQL_DBNAME,$mysql); $result = mysql_query("SHOW TABLE STATUS"); while($row = mysql_fetch_row($result)) { mysql_query("ALTER TABLE " . $row[0] . " CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"); } ?>

424   2018-02-22  

集成支付宝支付遇到的missing-signature问题解决及相关注意事项

今天用PHP集成支付宝电脑支付,使用demo进行测试时一直提示missing-signature,后来一番折腾后解决了,这里记录一下需要注意的几点。 config.php中的参数均是在蚂蚁金服开放平台密钥管理的开放平台密钥中获取。 需要下载密钥生成器先生成密钥,生成后复制公钥,在上述的密钥管理网站“RSA(SHA256)密钥(推荐)”下设置公钥。同时目录下会有rsa_private_key.pem、rsa_public_key.pem、rsa_private_key_pkcs8.pem。只需使用前两个。 1. app_id直接复制页面中的APPID 2. merchant_privat…

379   2018-01-19  

网页APP与后端JSON通讯方案

后端api.php,用于对客户端请求进行处理 <?php include_once( 'api.function.php' ); header("Content-type:application/json"); header("Access-Control-Allow-Origin: *"); $action = $_GET['action']; if($action == "" || $action == NULL) { SendReply(ERR_GENERAL,""); } else if(!function_exists($action)) { SendReply(ERR_GENERAL,""); } call_user_func($action); function hello_world() { $data = "HELLO WORLD!"; Send…

388   2017-06-25  

centos yum install PHP后许多模块没有安装的解决方法

PHP程序本地调试一切正常,传上centos一直报函数不存在,后来发现是相应的模块没有安装,用yum install php-devel安装PHP开发包可以解决大多数的模块不存在问题。

274   2017-06-23  

PHP curl post/get数据函数

Post function postData($url, $data) { $ch = curl_init(); $timeout = 300; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_REFERER, ""); //来路 curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $handles = curl_exec($ch); curl_close($ch); return $handles; } Get function getData($url) { $ch = curl_init()…

271   2017-06-21