Laravel 网站不会被嵌入到其他站点中
1 |
|
Uncaught ReflectionException: Class request does not exist
1 | PHP Fatal error: Uncaught ReflectionException: Class request does not exist in /home/vagrant/learnku/vendor/laravel/framework/src/Illuminate/Container/Container.php:790 |
Laravel 下 TNTSearch+jieba-PHP 实现中文全文搜索
1 | TNTSearch+jieba-php 这套组合可以在不依赖第三方的情况下实现中文全文搜索; |
二分查找
1 | 原理实现:有序集合从中间分为前后2部分,当要查当数值等于中间值,直接返回;当要查询数值大于中间值,则说明要查询的数值在后半部分,那么继续二分后半部分;当要查询数值小于中间数值时,说明要查询的数值在前半部分,那么继续二分前半部分。(过滤掉一半数据查询) |
子孙树
1 | $arr = [ |
Laravel 的设计哲学
1 | class UserController extends Controller |
高并发业务场景下的秒杀解决方案
1 |
|
PHP 开启 Opcache 后如何优雅地部署 PHP 代码
1 | 提交了代码并且部署了以后,线上代码依然是旧的。所以我执行了下 |
模型::query () 无数据
1 | public function getPost() |
JSON_encode 小数位丢失
1 | $a = '{"orderAmt":500.00}'; |
支付宝公钥证书 PHP 版本 SDK
1 | function getRootCertSN($str) |
字符串表达式计算
1 | $a = 10; |
用户登录密码改为 md5
1 | 新建一个文件 Libraries,在 Libraries 目录下新建一个 MD5.php 文件 |
Laravel跨库跨连接的事务操作
1 | Laravel 下的跨库事务操作是基于连接的 当执行 DB::beginTransaction(); 的时候 其实是和默认的数据库配置建立了连接 后面的操作 commit 或者 rollback 都是操作的这个默认数据库 如果在这中间操作了其他的数据库 对他是不生效的 |
array_splice无法自定义键值
1 | function array_insert (&$array, $position, $insert_array) { |
数字转度量
1 | /** |
获取两个坐标之间距离
1 | /** |
Laravel 上传图片
1 | /** |
拼音排序
1 | $ composer require "overtrue/pinyin:~4.0" |
PHP读取微信客户端数据库
1 | class MyDB extends SQLite3 |
PHP7.4 可能会对 Laravel 生态带来的改变
1 | php 7.4 alpha 版本已经发布了,新特性很多,不过我只关注了预加载(preload)特性。 |
无限极分类
1 | $arrs = [ |
限制请求频率中间件
1 | use Closure; |
Laravel MongoDB 数据库查询
1 | composer require jenssegers/mongodb |
树状数据结构存储方式
1 | CREATE TABLE `categories` ( |
冬令时
1 | function getSeason($timezone){ |
展开表达式
1 | <?php |
helper函数
1 | public function register() |
魔术方法__call
1 | class Family{ |
获取每年所有周
1 | function get_week($year) |
php yield
1 | public function parseStr(...$param){ |
PHP 规范 - Symfony 代码规范
1 | 使用 php-cs-fixer 工具来自动检查编码规范 |
Laravel 限制条数后再分页
1 | $per_page = 15; // 每页条数 |
php.ini 配置
1 |
|
PHP Traits
1 | “ Trait 是单继承语言(如 PHP )中的一种代码复用机制。 Trai 的目的是减少单继承语言的一些限制,能让开发者自由的重用在不同的类层次结构下几个独立类中的方法。 Trait 的语义组合与类的定义在某种程度上减少了代码的复杂度,避免了与多继承和 Mixins 相关的一些典型问题。 |
正则表达式
1 | /* |
curl 下载文件
1 | function curl_download_file($url,$path) |
更新数据后返回原来数据
1 | $article = Finance::where('state', 0) |
生成器
1 | 最普通的方式就是一次性读取文件内容,然后再进行遍历。 |
多维数组变一维
1 | public static function flatten($array, $depth = INF) |
phpexcel遇到内存溢出
1 | class ExportService |
基于雪花算法的 PHP ID 生成器
1 | 第一个 bit 为未使用的符号位。 |
Nginx 与 PHP 的通信
1 | Nginx 并不是直接和 PHP 进行通信的,而是通过 PHP-FPM。Nginx 不仅仅是一个强大的 Web 服务器,也是一个强大的代理服务器,提供了很多请求协议的代理。比如 Http 协议还有 FastCgi 协议等。 |
Elasticsearch/Algolia 全文搜索
1 | https://www.elastic.co/cn/downloads/elasticsearch |
PHP 系统调用time()
1 | $year = date('Y', time()); |
curl 下载进度
1 | class Downloader |
队列执行频率限制
1 | 每分钟限制执行 10 次 JOB(注意是 JOB,而不是整个队列) |
上传文件和下载
1 | /* |
app 接口对接
1 | if (empty($arr)) { |
异常类
1 | function doSomething(){ |
where or 查询
1 | SELECT * FROM user |
查询封装
1 | select * from posts where title='xxx' and content='xxxx'; |
redis同步到数据库
1 | namespace App\Models\Traits; |
where in
1 | $where['status'] = 1; |
付费文章试读
1 | 对 HTML 进行截断: |
全局记录管理员的所有操作
1 | namespace App\Providers; |
Column not found: 1054 Unknown column
1 | $res = Model::where('date',date('Ymd')) |
groupBy 分组查询的分页
1 | use Illuminate\Pagination\LengthAwarePaginator; |
php artisan tinker编码
1 |
|
api文档l5-swagger
1 | composer require darkaonline/l5-swagger |
Laravel 里面的 chunk 分块效率
1 | public function chunkTest() |
Facade demo
1 | php artisan make:provider MyServiceProvider |
验证码(Captcha)包乱码
1 | https://github.com/Gregwar/Captcha |
laravel权限设计
1 | 用户表 角色表 用户角色表 权限表 权限角色表 |
路由多版本拆分
1 | /** |
lua 脚本 运行 Redis 命令
1 | class IncrementExistingKeysBy extends ScriptCommand |
Laravel 使用 Markdown 做文章编辑后台
1 | composer require chenhua/laravel5-markdown-editor |
Laravel 的测试与 PHP Unit
1 | // /tests/Feature/ExampleTest.php |
ORM 禁止 update_at 的自动更新
1 | Call to a member function toDateTimeString() on string |
无限级分类
1 | Schema::create('categories', function (Blueprint $table) { |
Laravel 在 with 查询中只查询个别字段
1 | $topics = Topic::limit(2)->with(['user'=>function($query){ |
同步config
1 | file_put_contents(base_path() . '/config/cnpscy.php', '<?php return ' . var_export($data_list, true) . ';'); |
删除MySQL数据
1 | $start = time(); |
composer 支持laravel
1 | https://github.com/shanyul/array2xml |
Eloquent Collection 中获 id 数组
1 | // 返回ID数组 |
hasMany 来处理『无限极分类』
1 | Schema::create('categories', function (Blueprint $table) { |
路由不生效
1 | Effect 为正常控制器补录 Effect_back 为旧的 |
Laravel Eloquent
1 | $user = User::where('name', 'wuqinqiang')->first(); |
自定义 Artisan 命令
1 | // routes/console.php |
递归子级
1 | 在 model 里面增加子级关联 |
基于 Laravel + swoole + 小程序的开源电商系统
laravel + swoole + adminlte 高效开发模板
Laravel editor.md 支持截图 / 粘贴上传图片
Laravel6.0 框架和 semantic-ui 开发的一个个人博客社区网站
Laravel + Vue + Swoole 实现的简单 Web 聊天
Laravel-layui-admin : 支持 Laravel6.0 的 RBAC 后台系统
基于支付宝 OpenAPI 开源的 PHP 语言版本 SDK
基于laravel5.5 + H-ui开发的一款基础后台管理系统
Laravel+vue 个人博客https://github.com/sweida/laravel-blog-api/
详解 laravel 源码 https://leoyang90.gitbooks.io/laravel-source-analysis/content/
EasyWechat 和 Laravel notification 发送微信小程序模板消息
Laravel 下 Elasticsearch/Algolia 全文搜索
Laravel Authorization:支持 ACL、RBAC、ABAC 等模型的授权库
Laravel 下 Elasticsearch/Algolia 全文搜索 使用案例