
PHP
讨吃的讨吃了
一个普通人。
展开
-
php实现,appleId授权登录app,sign in apple id
一、授权流程图二、简单逻辑介绍1.客户端工作就不介绍了,去苹果那边获取数据。 然后将获取到的identity token传递给后端。这个是最主要的,可以附带一些app所需要的用户信息什么的,例如头像等。2.服务端接受到客户端传递的identity token 然后去苹果要一个公钥,然后解析 苹果的JWT ,identity token。通过验证如果能验证通过就可以继续往下走业务逻辑了。就是新用户注册,旧用户找到用户记录返回给客户端。三、php核心代码以及所需要的类...原创 2021-04-09 15:45:17 · 1977 阅读 · 0 评论 -
PHP函数:sprintf 拼接sql语句
sprintf 在php中是一个函数,最近发现这个函数其实挺好用的,比如在拼接sql语句上简单常用的有%u ,和%s,其中%u 是自然整数 ,包括0,1,2...例如有一条 select * from users where user_id in (1,2,3,6,7);而我们接受到的参数是一个 数组 [1,2,3,6,7];我们可以这样写sql<?php$userIds =[1,2,3,6,7];$sql = sprintf("select * fro...原创 2021-01-14 21:58:06 · 563 阅读 · 0 评论 -
PHP设计模式之单例
一、单例描述前两天面试微博让写一个单例出来,我愣是没写出去,作为一个三年的PHP程序员说出去有点丢人,所以下来赶紧学习了一下。首先要明白为什么要单例?所谓单例就是说用无论多少个用户访问,过来只实例一个对象,这样就会节省内存,实现一个对象大家共同调用。其中最为经典的就是数据库对象了,因为我们连接数据库的时候一般是同一个用户名密码的。二、单例基本思想代码实现对于PHP而言,单例就是三私一公,所谓三私一公指的是私有的构造方法,私有的克隆方法 ,私有的静态属性,公共的静态方法。下面看代码.原创 2020-07-01 15:39:32 · 192 阅读 · 0 评论 -
PHP实现二分查找(递归版本)
首先说下二分查找,需要在数组的数据结构上应用,而且前提是这个数组是有序的。不管是升序还是降序。一般数组的查找都是顺序查找,也就是逐个比对。而二分查找是分治思想的一个代表性应用。大概思想是 拿所想找的数字,去和数组中间的值比较。如果相等,直接返回KEY值,如果大于,拿右边的数组再去进行一分为二。如果小于,拿左边的数组进行对比。知道数组为空。下面看具体代码实现。 function handle() { $arr = array(2, 11, 23, 5, 888, 111, .原创 2020-05-11 11:24:07 · 545 阅读 · 0 评论 -
PHP简单爬虫CURL +Crawler 抓取取考研单词数据脚本
记录一个简单的爬虫功能,用来自己学习背诵单词。如果有侵权,立马删除。目标是爬取一个网站的考研词汇。网址为:https://www.kuakao.com/english/ch/39243.html首先在 在larvel框架中,生成一个artisan 脚本我的代码:填写数据:开始写代码:<?phpnamespace App...原创 2020-04-14 14:54:56 · 816 阅读 · 0 评论 -
PHP- 实现简单抽奖(定义比例,定义库存)
大概想法是这样的, 将 所有抽奖的可能结果 放在一个数组里,然后用随机整数 rand函数,取出一个下表。如果库存为0则不放在数据里,如果库存大则概率大一些。具体实现: //拿到所有奖品的总共可 抽奖数量,以及今天剩余 抽奖数量 $allPrize = $this->getPrizeService()->getAllPr...原创 2019-09-09 13:57:15 · 1213 阅读 · 0 评论 -
跨域问题总结(普通跨域,header头加参数跨域)
背景是这样的:一直都是为APP写接口,然后用postman测试,是没有出现过跨域问题的,最近给前端H5页面写接口,出现了跨域问题, 我们的token是存在header头的,然后用了 在前端用jsonp 以及在后端使用 容许所有人访问的方式都没有解决。最终发现,header头没有加入,token一直没有验证通过。参考博文:ajax 跨域 headers JavaScript ajax 跨...原创 2019-09-02 16:35:32 · 18332 阅读 · 0 评论 -
PHPstorm 激活码 到2019年 8月
PQ8PP6VBIC-eyJsaWNlbnNlSWQiOiJQUThQUDZWQklDIiwibGljZW5zZWVOYW1lIjoi5b285bK4IDMiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVzZSBvbmx5IiwiY2hlY...转载 2019-05-05 19:55:42 · 2569 阅读 · 0 评论 -
PHP 关于0 与字符串的比较,数据类型转换
今天写了一句代码,if(!($start == 'success')) { return $this->getSuccessBillByStatus($status, $userId); }然后 当$start 为0 时,就一直往进走,难受的不行,后来查了资料发现,自己PHP基础太弱。。,原来当字符串和整型比较,会把字符串先转为整型,succes...原创 2019-04-16 16:24:35 · 1044 阅读 · 0 评论 -
Guzzle 实现模拟登陆,抓取数据 (某网盘为例)
这个适用于已经有账号和密码,需要拿到指定的数据。整体过程是这样的一.https://www.sojson.com/httpRequest/ 使用这个网站模拟了一下整体的操作。发现了几个问题如要拿到的参数有隐藏域的input 内容 cookie 验证码 隐藏的input 内容以及cookie, 我是通过F12查看的,然后记录在了里边,...原创 2018-11-22 14:22:32 · 4908 阅读 · 1 评论 -
PHP 通过一个节点找出所有父节点
如图,拿到所有给出节点的父节点。百度搜了半天,都是通过父节点找子节点的。无奈,后来只能自己写了。遍历+递归,大神们不要鄙视我。。。我数据结构。。。<?php//测试数据$arr = [ ['id'=>8,'pid'=>7,'username'=>'test3'], ['id'=>7,'pid'=>6,'username'=>'test3'],...原创 2018-06-22 19:00:26 · 4050 阅读 · 1 评论 -
PHP 代码优化(转载)
1 字符串1.1 少用正则表达式能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。没得说,正则最耗性能。str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。有没有你漏掉的好用的函数?例如:strpbrk()、strncasecmp()、strpos()、strrpos()、stripos()、strr...转载 2018-06-13 17:02:01 · 206 阅读 · 0 评论