
Php
文章平均质量分 60
Php
jartins
这个作者很懒,什么都没留下…
展开
-
PHP - 理论篇-1
PHP基础PHP 变量作用域PHP echo/printPHP EOF(heredoc)PHP 数据类型PHP 类型比较PHP 常量PHP 字符串变量PHP 运算符PHP If...Else 语句PHP 数组PHP 数组排序PHP 超级全局变量PHP 循环 - While 循环PHP 魔术常量PHP 命名空间(namespace)PHP 面向对象PHP 变量作用域PHP 有四种不同的变量作用域:local 局部作用域global 全局作用域static 静态作用域parameter 函数转载 2021-01-28 20:15:16 · 453 阅读 · 1 评论 -
什么是协程
协程不是进程或线程,其执行过程类似于子例程,或者说不带返回值的函数调用 一个程序可以包含多个协程,可以对比与一个进程包含多个线程,因此以下对比协程和线程。而多个线程相对独立,有自己上下文,切换受系统的控制 而协程也相对独立,有自己的上下问,但是其切换由自己控制,由当前协程切换到其他协程由当前协程来控制 多进程执行流程 代码执行流程 → 正常执行图 → 任务1 → 任务2 → 任务3 → 完成执行,进程退出。 ...原创 2021-01-28 14:52:39 · 1458 阅读 · 9 评论 -
Swoole (异步文件系统IO 读、 写)
<?php/** * 异步IO - 读 * readfile 有大小限制最大4M * read 支持超大文件读取 每次分段读取$size的字节 不会占用太多内存 */$result = swoole_async_readfile(__DIR__ . '/1.txt', function($filename, $fileContent) { echo "文件路径及文件名称 :...原创 2020-03-22 23:22:26 · 286 阅读 · 0 评论 -
Swoole (Task任务使用 + 毫秒定时器timer)
<?php/** * 结合websocket 实现* ws优化 + task机制*/class Ws{ CONST HOST = "0.0.0.0"; CONST PORT = 8812; public $ws = null; public function __construct() { $this->...原创 2020-03-22 21:39:01 · 633 阅读 · 0 评论 -
Swoole ( TCP / UDP / Http / Websocket )
查询命令号php使用的php配置文件目录地址命令php -i | grep php.ini原创 2020-03-21 23:18:56 · 517 阅读 · 0 评论 -
thinkphp5实现文件下载
public function download() { $famlePath = $_GET['resum']; $file_dir = ROOT_PATH . 'public' . DS . 'uploads' . '/' . "$famlePath"; // 下载文件存放目录 // 检查文件是否存在 ...原创 2018-09-03 20:31:10 · 10597 阅读 · 0 评论 -
Laravel 打造一个完整的项目
搭建简书 开发过程: 1、数据库迁移 2、数据填充 3、模型关联建立 4、elasticsearch全文检索引擎服务搭建使用 5、基于数据库的异步队列操作 6、如何设计表格更符合laravel的默认约定 7、如何理解laravel的依赖注入容器等思想 8、如何设计权限管理系统 9、如何...原创 2018-07-25 08:26:09 · 2568 阅读 · 0 评论 -
ThinkPHP5 Advance Model学习笔记
一、ThinkPHP5 数据库操作连接数据库的四种方式方法1.use Db; Db::connect() // 配置信息为单一的 单连接 单库方法2.use Db; Db::connect(['写入配置的信息']) // 个性定制连接信息方法3.use Db; Db::connect('db_conf_01'); // 个性的定制连接信息 名称为配置新库的键 在config中写入数据库查...原创 2018-06-26 21:34:48 · 439 阅读 · 0 评论 -
ThinkPHP5 Base学习笔记
目录结构/applicationcommand.php 命令行config.php 通用的配置文件common.php 公共文件 可以添加全局的函数database.php 数据库配置route.php 路由配置/路由的美化tags.php 应用行为扩展文件,有很多钩子 可以对框架进行扩展而不用修改框架的源码 在钩子上注册行为或函数 改变框架的执行流程extend //下载第三方...原创 2018-06-26 21:33:41 · 1605 阅读 · 0 评论 -
yii 框架关于删除
删除多个User::deleteAll('name = zhangsan'); 删除 name = zhangsan 的数据记录;User::deleteAll('age > :age AND sex = :sex', [':age' => '20', ':sex' => '1']); 删除符合条件的数据记录;删除一个User::findOne($id)...原创 2018-04-03 13:45:52 · 648 阅读 · 0 评论 -
3-11 Yii2框架博客系统文章创建create方法实现 观察者模式,高内聚,低松耦合
概览create方法实现 源码思路 控制器为了实现添加调用-》表单模型处理逻辑方法-》表单模型补全字段数据调用数据库模型1. 要完成数据的创建添加,所以要引用适合的场景 场景的定义 /frontend/models/postform/*** 用常量定义场景* SCENARIOS_CREATE 创建 音标 [sɪ'nɑ:ri:əʊz]* SC...原创 2018-03-29 00:32:39 · 469 阅读 · 3 评论 -
3-10 Yii2框架博客系统定义场景与文章创建逻辑
标题1.场景应用 场景可以限制所应用的字段 可以自行调整修改和增加之间 字段的差异场景的用法 目录/ frontend / models / PostForm.php/*** 用常量定义场景* SCENARIOS_CREATE 创建 音标 [sɪ'nɑ:ri:əʊz]* SCENARIOS_UPDATE 更新* 场景的应用就是限制了所应用的字段...原创 2018-03-28 14:58:39 · 231 阅读 · 0 评论 -
3-9 Yii2框架博客系统文章创建-标签
步骤tags组件及功能的实现首先将标签组件引入widget/视图层加入以下代码即可 <?= $form->field($model,'tags')->widget('common\widgets\tags\TagWidget') ?>为了更加美观 在css样式中可以加入以下样式.select2-container--default .sele...原创 2018-03-26 01:09:44 · 381 阅读 · 0 评论 -
3-8 Yii2框架博客系统文章创建-富文本编辑器
步骤1. Ueditor 组件加载 及 内容实现 和上传组件相似 组件的下载地址http://www.yii-china.com/post/detail/3.html 资源下载:扩展下载(yii2.0-ueditor)框架下载(Yii 2.0.6 高级版)描述:最佳适用于yii2.0 高级版(advanced)应用框架,对于基础板(basi...原创 2018-03-26 00:54:07 · 791 阅读 · 0 评论 -
3-7 Yii2框架博客系统文章创建-标签图上传
概述* 在框架中理解并合理的运用组件 会对整体效率提高很多1.图片上传组件 2.标签图实现http://www.yii-china.com/post/detail/15.html 组件下载地址资源下载:扩展下载(图片上传扩展-file_upload)适用框架:Yii2.0高级版(基础版使用需要适当修改,咨询:添加底部技术交流群)...原创 2018-03-26 00:27:38 · 225 阅读 · 0 评论 -
3-6 Yii2框架博客系统文章创建-分类表单
步骤1.创建分类模型 使用gii工具 创建‘分类’模型,避免代码冗余 依旧使用了公共common/models/CatsModel.php2.获取分类数据 因为代码的运行流程是 控制器方法调用model的操作 =》 model获取返回数据 =》 渲染页面结果 所以控制器调用model的操作 model获取返回数据 渲染结果 p...原创 2018-03-26 00:05:11 · 589 阅读 · 2 评论 -
Yii2框架博客系统文章创建之表单生成
1.文章创建 创建基础控制器与表单创建控制器中的文章操作1. 首先要使用命名空间下的表单模型2. 创建操作3. 实例化表单模型4. 渲染页面并且携带model代码:use frontend\models\PostForm;return $this->render('create',['model'=>$model]);创建基础表单...原创 2018-03-25 19:09:23 · 442 阅读 · 0 评论 -
Yii2框架博客系统创建文章model与form
简介部分1.使用gii创建文章数据模型 * 命名空间放在common中 方便后续扩展跟创建文章控制器一样 在根目录创建 /common/models/base/BaseModel.phpBaseModel.php 代码 目录 <?php namespace common\models\base; /** ...原创 2018-03-25 16:24:12 · 1056 阅读 · 0 评论 -
Yii2框架博客系统创建文章控制器与数据表
标题1.创建文章控制器 文章控制拟名为PostController.php 为了方便后续的操作 习惯创建了一个Controller/base/BaseController.php PostController.php 代码实例 BaseController.php 代码实例 <?php namespace frontend\contro...原创 2018-03-25 00:27:41 · 306 阅读 · 0 评论 -
Yii2框架博客系统登录注册
简介部分1. model与Form的区别model是映射数据表的结构Form是映射input框 表单模型的映射释义举个例子:比如数据库字段中没有重复密码的字段 而在前端html我们需要借助js等验证方式来确认密码两次输入的正确性 此时 我们只需要在modelForm中定义这个变量(重复密码),而不需要在model(数据表的映射)中加入 ...原创 2018-03-24 18:53:06 · 492 阅读 · 0 评论 -
Yii2框架博客系统前台界面布局
操作步骤1.菜单导航的css操作 下面截图是完成左右浮动操作的具体方法2.登陆显示头像首先在web目录下创建static的静态文件夹 用于存储css js img 等文件 目录结构/web/static/css 或者 /web/static/images其次要明白 /assets/AppAsset 是资源文件目录css js images等文件存储的样式...原创 2018-03-24 12:23:22 · 2470 阅读 · 2 评论 -
YII 框架语言包配置方法
操作思路 1.开启中文显示 在配置中加入以下代码 表示开启中国显示 *基础版本在/config/web.php 高级版本在/basic/main.php 'language' => 'zh-CN', 2.配置语言包 *基础版本在/config/web.php 高...原创 2018-03-23 00:08:23 · 1065 阅读 · 0 评论 -
yii框架路由配置
操作思路关于去掉index.php 案例未重写路由 http://www.front.com/index.php?r=site%2Flogin重写之后 http://www.front.com/?r=site%2Flogin 去掉index.php基础的伪静态文件规则写法 (.htaccess) 放在web目录下即可...原创 2018-03-22 02:12:11 · 2871 阅读 · 0 评论 -
tp5.1 运行workerman时出现 Cannot use Workerman\Worker as Worker because the name is already in use
错误原因:命名空间冲突[think\exception\ErrorException] Cannot use Workerman\Worker as Worker because the name is already in use解决办法:找到目录:\vendor\topthink\think-...转载 2019-02-01 18:04:52 · 3540 阅读 · 2 评论 -
thinkphp5composer安装workman错误 Your requirements could not be resolved to an installable set of packag
错误概览信息192:thinkphp_5.0.12_full 2 googol$ composer require topthink/think-workerUsing version ^2.0 for topthink/think-worker./composer.json has been updatedLoading composer repositories with pack...原创 2019-01-11 02:33:29 · 1877 阅读 · 0 评论 -
小程序文档整理之 -- API(开放接口)
https://blog.youkuaiyun.com/bobobocai/article/details/77651566?locationNum=5&fps=1转载 2018-07-27 09:39:13 · 2254 阅读 · 0 评论 -
微信支付服务商分账-请求单次分账
注意事项服务商请求单次分账与普通商户请求单次分账的区别。1下预付单时 务必要添加 profit_sharing 为 Y 否则该笔订单不支持分账。 参考链接 https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_3订单支付成功后不能立刻执行分账逻辑 要任务操作 大于订单支付时间1分钟以上 且有QPS限制 建议做好日志警告 必要时切换到服务商<?phpnamespace app\api\lib\Weixin;us原创 2020-08-05 04:36:06 · 1874 阅读 · 0 评论 -
微信支付服务商户分账-添加分账接收方
微信支付服务商分账-添加分账接收方写在前面:服务商官方文档SIGN值校验检查地址调试中可能遇到的问题直接上代码服务商添加分账接收方与普通商户添加分账接收方的区别。1写在前面:服务商官方文档https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_3&index=4SIGN值校验检查地址https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=20_原创 2020-08-05 03:55:36 · 3857 阅读 · 0 评论 -
微信支付普通商户分账-请求单次分账
注意事项下预付单时 务必要添加 profit_sharing 为 Y 否则该笔订单不支持分账。 参考链接 https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=26_3订单支付成功后不能立刻执行分账逻辑 要任务操作 大于订单支付时间1分钟以上 且有QPS限制 建议做好日志警告 必要时切换到服务商<?phpnamespace app\api\lib\Weixin;use think\Controller;class原创 2020-07-15 15:29:32 · 3920 阅读 · 0 评论 -
微信支付普通商户分账-添加分账接收方
微信支付普通商户分账-添加分账接收方写在前面:微信官方文档SIGN值校验检查地址调试中可能遇到的问题直接上代码写在前面:微信官方文档https://pay.weixin.qq.com/wiki/doc/api/allocation.php?chapter=27_3&index=4SIGN值校验检查地址https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=20_1调试中可能遇到的问题SIGN_ERROR : https原创 2020-07-15 06:46:48 · 3239 阅读 · 0 评论 -
支付宝第三方支付开发
商户应用公钥:商户自己生成了RSA 商户需要生成公钥上传到支付宝开放平台(以便支付宝验证是否是该商户发起的)商户应用私钥:商户自己生成的RAS私钥 商户使用私钥对请求字符串加签支付宝公钥:验证该结果是否是支付宝返回的 生成秘钥:1024长度为 RSA 加密、2048长度为 RSA2 ...原创 2019-01-25 16:21:57 · 416 阅读 · 0 评论 -
Thinkphp5开发电脑网站支付宝支付详细流程(线上测试篇)
在沙箱测试篇讲过的我在这里就不再做重复,详情请见上一篇PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)在沙箱测试的时候使用的是沙箱环境中的配置,现在进行线上测试,需要创建应用1、创建应用登录蚂蚁金服开放平台商户账号,进入管理中心选择开发者中心->网页&移动应用选择支付接入根据开发需求填写基本信息创建完成后,完善基本信息上传应用图标选择...转载 2018-07-19 15:05:20 · 1666 阅读 · 0 评论 -
PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)
先附上我开始做沙箱测试的时候写的笔记(1)准备工作1、蚂蚁金服开放平台的商户账号(个人账号不行)2、php5.5以上的开发环境(2)具体流程1、demo下载进入蚂蚁金服开放平台的首页,选择文档中心——开发文档找到电脑网站支付,单击进入选择SDK&Demo,单击下载PHP版本的demo(https://docs.open.alipay.com/27...原创 2018-07-19 15:04:01 · 2001 阅读 · 0 评论 -
微信防封怎么做?
大致解决办法准备一个固定不变的域名 假设a.com (待重定向的域名,这个域名被封的概率很小)准备一个炮灰域名 假设b.com(重定向之后的域名,这个域名就是要让微信封的域名)通过a.com访问,随即会由a重定向到 b.com,这个时候用户看到的就是b.com,被举报以及违规举证也就是在这个域名下面。所以一但b.com被封,立马换一个c.com的炮灰域名,修改a.com的重定向地址即可含有微信授权、微信支付等域名的防封解决办法授权域名就是a.com,b.com永远是炮灰域名(授权完成之后跳转的地址),这里建原创 2020-11-13 14:40:07 · 1225 阅读 · 1 评论 -
关于QQ第三方登录
一、什么是Oauth2协议? 1. 当使用qq号登录的时候 web应用会请求一个登录页面(用户在这个页面输入自己的账号和密码) 2. 登录成功后会向我们指定的回调地址返回一个时间很短的code给这个web应用 3. web应用会利用这个code以及qq开放平台发放的AppID与Appkey动态拼接一个url 向qq开放平台的服务器发送一个请求 4 最后开放平台服务器会返回一...原创 2018-07-08 20:58:08 · 429 阅读 · 1 评论 -
PHPExcel --- 不止是强大 导出
一、前期准备工作前期准备工作可以看看PHPExcel导入的准备,另外导出需要准备一个数据列表页面,一张学生信息表。二、具体操作流程及实现思路实现思路:1.首先将数据库里面的学生信息取出来,展示在界面。我们将新建一个student方法,来展示学生信息。2.通过点击 导出Excel按钮 请求导出处理函数export。3.export收到请求后,将取出来的数据循填入到excel表格中。4.数据填完了,生...原创 2018-06-26 21:17:33 · 266 阅读 · 0 评论 -
PHPExcel --- 不止是强大 导入
一.前期准备工作1.首先去PHPExcel官网下载PHPExcel类库,地址:https://github.com/PHPOffice/PHPExcel,我们只要Classes文件夹就行了,其他的是些例子,有时间可以研究一下。2.去bootstrap官网下载,bootstrap.css和bootstrap.js,我们将使用响应式做模板。3.准备一张Excel表格,内容不要求多,简单实用就......原创 2018-06-26 21:13:04 · 4834 阅读 · 0 评论 -
mac+mamp安装composer
一、打开终端 php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"二、安装 php composer-setup.php三、移除安装包php -r "unlink('composer-setup.php');"四、composer 全域指令sudo mv composer.p...原创 2018-05-11 09:08:37 · 1479 阅读 · 0 评论 -
PHP+Sphinx+MySQL实现全文检索
理论篇 sphinx 可以解决 站内搜索的应用场景(用来生成索引数据,为后续的高效搜索做铺垫) sphinx 简介 sphinx是一个基于SQL(mysql sqlserver... )的全文检索引擎,它提供了比数据库更加专业的搜索功能,并且sphinx特别为一些脚本语言设计了搜索的API接口吗,比如PHP、Ruby、Python等,同时为MySQ...原创 2018-05-02 00:27:24 · 6075 阅读 · 0 评论 -
CDN与智能DNS原理和应用
什么是 CDN 1. Content Delivery NetWork ,内容分发网络 2. 可以使用户可以就近的取得所需的内容,提高用户访问网站的响应速度(增多节点,智能dns的作用就是智能的解析就近的节点,减少物理距离 减少加载时间) 3. CDN = 更智能的镜像 + 缓存 + 流量引导 早先做一个较大的...原创 2018-05-01 00:17:42 · 917 阅读 · 1 评论