<?php // 使对象可以像数组一样进行foreach循环 (Iterator迭代器) class Test implements Iterator { private $arr = []; // 索引游标 private $_key = 0; public function __construct(array $arr) { $t…
// 保存评论 public function saveComment($data) { Db::startTrans(); try{ //计算嵌套循环 $query = self::withTrashed()->order('rgt','desc'); $parent_id = $data['parent_id'] ?? 0; if…
什么是 Github? github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。 Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 目前…
本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。我们项目中的抢购订单采用的是分布式锁来解决的,有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了100瓶!要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为P0级重大事故...只能坦然接受。整个项目组被扣绩效了~~事故发生后,CTO指名点姓让我带头冲锋来…
1.选好中介 市面上有形形色色的房产中介,一不小心就让人挑花眼。有一个大原则大家要谨记:选大品牌的房产中介。 大品牌的房产中介提供的房源一般是真实有效的;他们往往具备专业的知识,丰富的经验,能帮助买到合适的房子。 相比小中介,大房产中介的收费可能偏高,但优点是收费透明,流程合规,不懂行的人也不用担心被骗。 在中介靠谱的基础上,可以多方对比中介费,选…
嵌套集合插入 // 注册 public function register(Request $request) { try{ $post = $request->param(); $this->validate($post,Register::class); //验证短信验证码 if (!checkSms($post['phone'], '…
hg/apidoc——基于ThinkPHP6 根据注释自动生成API接口文档 HGthecode/thinkphp-apidoc think-userlogin ——thinkphp6的用户登录模块,支持短信登录/注册、邮箱登录/注册,支持JWT鉴权方式和session鉴权 HuikeDev ——一款基于ThinkPHP 6.0的逻辑分层框架 th…
1 sign签名代码: function sign($data) { //读取私钥文件 $priKey = file_get_contents('key/rsa_private_key.pem'); //转换为openssl密钥,必须是没有经过pkcs8转换的私钥 $res = openssl_get_privatekey($priKey); //…
上次我们聊了迭代法及其应用,并用编程实现了几个小例子。不过你知道吗,对于某些迭代问题,我们其实可以避免一步步的计算,直接从理论上证明某个结论,节约大量的计算资源和时间,这就是我们今天要说的数学归纳法。 平时我们谈的“归纳”,是一种从经验事实中找出普遍特征的认知方法。比如,人们在观察了各种各样动物之后,通过它们的外观、行为特征、生活习性等得出某种结论…
今天我们来说一个和编程结合得非常紧密的数学概念。在解释这个重要的概念之前,我们先来看个有趣的小故事。 古印度国王舍罕酷爱下棋,他打算重赏国际象棋的发明人宰相西萨·班·达依尔。这位聪明的大臣指着象棋盘对国王说:“陛下,我不要别的赏赐,请您在这张棋盘的第一个小格内放入一粒麦子,在第二个小格内放入两粒,第三小格内放入给四粒,以此类推,每一小格内都比前一小…