浅析依赖倒转、控制反转、IoC 容器、依赖注入。 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

用过 laravel 框架的人一定都听过控制反转和依赖注入这个概念,对于很多初学者来说,对这两个概念很难理解,当初我也不例外,现在我就将我自己的理解分享出来,如果有什么不正确的地方还请指出。这里我不仅会给出这两个概念的见解,还会给出依赖倒置和 IOC容器 的见解。 一.依赖倒转。 开始之前,我们先来看一下什么是依赖倒转原则。依赖倒转原则书本上给出的说明是: 高层模块不...
阅读全文

PHP7 版本的微信机器人来了!(这应该是最灵活的版本了) | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

是基于微信web API实现的机器人,通过实现_匿名函数_能够实现多种自定义的效果例如: 消息转发 红包提醒(有点鸡肋) 留言统计 自定义回复 防撤回 特殊关键词触发事件等等,这里就不一一列举,可以参考 安装`composer require hanson/vbot` 使用```phprequire_once __DIR__ ...
阅读全文

Laravel Session 遇到的坑 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

这两天遇到了一个很奇怪的问题,更新`session` ,`session`的值不变。经过一番追查,终于找到问题,并搞明白了原理。写这篇博客记录下。框架版本Laravel 5.4问题先来描述下问题,我在我们项目基础的`Middleware`中,加入`session`操作,存入了一个值,再在`Controller`中取出使用,大致代码如下:```php// Middle...
阅读全文

PHP 爬虫爬取社区文章内容 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

php也可以写爬虫 说起爬虫,大多数第一反应都是python,python强大的requests和bs4等等强大的第三方库让人们都喜欢用python去写爬虫。但是php作为“世界上最好的语言”当然也可以用来开发爬虫。 写了一个小的爬虫爬取社区的文章前期准备 composer Guzzle是一个十分强大的php的模拟HTTP client的第三方库,可以通...
阅读全文

PHP 中的无限级分类、无限嵌套评论 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

回顾上一篇文章我们讲到。来回顾下什么是递归?一般来说,递归被称为函数自身的调用。 递归在开发中的实际运用 N级分类无限级的分类在平常的开发中是常见的需求,并且在不少面试题中都会碰到。不管你做什么项目,应该都碰到过类似的问题。下面,我们就使用递归的思想,实战一把。 SQL结构```sqlCREATE TABLE `categories` ( `id` i...
阅读全文

Laravel-ebank 电商类项目虚拟积分与聚合支付通用解决方案,持续维护 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

](https://raw.githubusercontent.com/yybawang/images/master/ebank/laravelebank_code.png)laravelebank============= 项目功能基本满足使用,并流畅运行,持续更新中,如有使用方式问题可在QQ群里@群主 现已加入豪华午餐 推荐中小型项目使用 此项目功能已完成...
阅读全文

Laravel 文档阅读:Eloquent 起步(上篇) | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

翻译、衍生自:简介Laravel 的 ORM 实现称为「Eloquent」,又称「Eloquent ORM」。Laravel 中的 Model 是 Eloquent 功能的载体,称为 「Eloquent Model」。一个 Model 对应的是数据库里的一张表,与 Model 的交互,就相当于是和数据库表交互。在开始讲 Eloquent 前,先要把数据库配置文件 `confi...
阅读全文

Laravel 5.5 使用 Passport 实现 Auth 认证 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

最近在写一个前后端分离项目,本来想用 Jwtauth + Dingo 开发的,但是略感笨重,于是想到了 Laravel 的 Passport 和 5.5 新出的 Api Resource。Laravel Passport 是一套已经封装好的 OAuth2 服务端实现,关于 OAuth2 我以后我会单独写一篇文章,所以这里就不细说了,先来看看怎么安装它吧。安装 安装 Passport...
阅读全文

浅谈 Redis 分布式锁实现 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

在分布式系统当中, Redis锁是一个很常用的工具. 举个很常见的例子就是: 某个接口需要去查询数据库的数据, 但是请求量却又很大, 所以我们一般会加一层缓存, 并且设定过期时间. 但是这里存在一个问题就是当并发量很大的情况下, 在缓存过期的瞬间, 会有大量的请求穿透去数据库请求数据, 造成缓存雪崩效应. 这时候如果有锁的机制, 那么就可以控制单个请求去更新缓存. 其实对于Redis锁的...
阅读全文

Gitflow 工作流 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

Gitflow 工作流定义了一个围绕项目发布的严格分支模型。其优点是清晰可控,使多人项目协作开发更加规范;缺点是相对复杂,需要同时维护两个长期分支。 分支介绍项目中存在两个长期分支 主分支(master) 开发分支 (develop)`master` 分支一般对应的是生产环境的代码,是稳定的发布版本;`develop` 分支对应的是开发环境的代码,存放的都是最新的...
阅读全文