Laravel
文章平均质量分 65
Laravel项目实战
戴国进
往后余生,专注人工智能领域!!!
展开
-
laravel 在中间件内生成参数并且传递到控制器
方法一使用$request->attributes->add($arr)方法Demo:注册中间件这部分就不说了 主要说用法class MidParams //中间件{ public function handle($request, Closure $next) { $mid_params = ['mid_params'=>'this is mid_params']; $request->attributes-&g...转载 2021-10-29 15:50:08 · 817 阅读 · 0 评论 -
laravel 的 phpunit.xml 文件说明
通用配置首先来看phpunit元素上的属性,其中很多属性其实都可以在执行phpunit命令时通过命令行参数的形式传入,但是如果参数太多,且每次传入参数都是一样的,显然配置到phpunit.xml中更方便,也更加易于维护,PHPUnit 执行的命令行参数可以在这里查看,或者通过phpunit --help在命令行查看:backupGlobals属性对应命令行参数里的--globals-backup,用于在每个测试中备份和恢复 PHP 超全局变量$GLOBALS,这里设置为...原创 2020-07-24 21:59:21 · 9904 阅读 · 0 评论 -
【单元测试】laravel 5 的一些属性和方法
phpunit文档地址:https://phpunit.de/manual/current/zh_cn/appendixes.assertions.html1、简介 (#f4645f)Laravel植根于测试,实际上,基于PHPUnit对测试提供支持是开箱即用的,并且phpunit.xml文件已经为应用做好了所需配置。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。默认情况下,tests目录包含了两个子目录:Feature和Unit,分别用于功能测试和单元测试,单元测试专...原创 2020-09-09 18:10:54 · 8310 阅读 · 0 评论 -
php Carbon 时间处理类 超详细讲解
IntroductionCarbon 是php的日期处理类库(A simple PHP API extension for DateTime.)。Carbon 继承了PHP的 Datetime 类,所以 Carbon 中没有涉及到的,但在 Datetime 中已经实现的方法都是可以使用的。<?phpnamespace Carbon;class Carbon extends \DateTime{ // code here}Carbon 类声明在 Carbon.原创 2021-01-20 19:59:44 · 5113 阅读 · 0 评论 -
Laravel 6 - 8各版本新增功能
Laravel 6:https://xueyuanjun.com/post/19907.html语义化版本 兼容Laravel Vaor 通过Ignition优化异常 优化授权响应 任务中间件 懒集合 Eloquent子查询优化 Laravel UILaravel 7:https://xueyuanjun.com/post/21443Laravel Airlock(轻量级 API 认证解决方案) 路由匹配速度优化 自定义 Eloquent 转化类型 Blade 组件标签 字.原创 2020-12-01 10:36:19 · 5044 阅读 · 0 评论 -
谨慎使用 Laravel 的 Model 复制(replicate)功能
今天分享一个刚挖的坑,我们的产品有一个交互是用户可以复制自己的日程,我们当时实现的时候仅仅花了不到半小时就上线了,完事还夸了 Eloquent 真的是面面俱到,连复制功能都做好了,代码如下:$item = Item::find($request->input('copy_from')) ->replicate() ->fill(['copy_from' => $request->input('copy_from')]) -&转载 2020-11-30 22:05:33 · 6047 阅读 · 0 评论 -
Laravel ORM 工作中常用的方法
模型代码示例:/** * 为模型指定一个连接名称。 * * @var string */ protected $connection = 'connection-name'; /** * 为模型指定一个表名。 * * @var string */ protected $table = 'users'; /** * 为模型指定主键。 * * @var string */ protected $primaryKey = 'user_id';原创 2020-11-30 22:04:09 · 4330 阅读 · 0 评论 -
Laravel ORM clone模型的用法(主要是replicate和push两个函数)
首先建立一个简单的文章和标签表来演示replicate()方法的实用。建立表和迁移文件# wanli @ wanlideMacBook-Pro in /Applications/MAMP/htdocs/iTest [20:14:03] $ php artisan make:model Models/article -mModel created successfully.Created Migration: 2016_06_16_121430_create_articles_table..原创 2020-11-30 21:52:53 · 5917 阅读 · 0 评论 -
Laravel-timezone —— 根据 IP 自动为用户设置合适的时区
原文地址:https://laravel-news.com/laravel-timezon...译文地址:https://learnku.com/laravel/t/42897Laravel Timezone 是 James Mills 开发的的第三方依赖包,用于在您的应用程序中为用户设置时区,然后在其本地时区中向他们显示日期 / 时间。它通过侦听用户登录事件并在数据库中设置时区来工作。它使用Laravel GeoIP(https://laravel-news.com/use-lara...转载 2020-11-26 13:59:00 · 5771 阅读 · 0 评论 -
Laravel 分布式事务处理
TCC 是现在非常流行分布式处理模式,属于柔性事务。柔性事务,基于分布式领域 BASE 理论,它是在 CAP 理论(一致性、可用性、分区容忍性)的基础之上的延伸,包括:基本可用(Basically Available)、柔性状态(Soft State)、最终一致性(Eventual Consistency)。* 基本可用:分布式系统出现故障的时候,允许损失一部分可用性。* 柔性状态:允许系统存在中间状态,这个中间状态又不会影响系统整体可用性。* 最终一致性:数据经过重试等机制处理后,最终数据能达转载 2020-05-24 16:31:43 · 8638 阅读 · 0 评论 -
laravel Eloquent ORM模型中添加自定义值
1. 将想要获取的属性 添加到 Eloquent ORM模型中 protected $appends = [ 'must_type', 'type_content', ];2. 自定义属性的值 public function getMustTypeAttribute() { return $this->is_must == 1 ? 'Required' : 'Optional'; } pub原创 2020-09-17 15:35:19 · 7065 阅读 · 0 评论 -
使用 docker 打包部署Laravel 应用
Laravel是目前最流行的PHP框架,特点是开发速度快,当然部署也麻烦。传统部署流程:Composer安装依赖 使用Apache/Nginx进行部署Laravel的Web接口 使用Supervisor作为Laravel队列服务的进程守护 设置crontab定期执行Laravel的定时任务看起来,每次部署Laravel还是挺麻烦的,有了Docker后,我们可以使用Docker的特性来集成基本的部署操作,并且由于容器的特性,还可以使的应用跑的时候更加安全。使用Apache打包基础镜像这转载 2020-08-27 10:48:19 · 9699 阅读 · 0 评论 -
laravel 解决报错: Please provide a valid cache path
这是因为laravel的缓存路径没有找到laravel缓存文件路径是在 config/cache.php中设置,默认存在storage文件夹中'file' => ['driver' => 'file','path' => storage_path('framework/cache/data'),],解决:需要保证storage/framework下面创建 sessions, views, cache 文件夹并确保可写权限...原创 2020-08-24 10:00:16 · 12009 阅读 · 0 评论 -
laravel session详解
众所周知,每一个session都要经历从启用,存取,到最后的删除这样一个过程,在laravel中是如何处理session的呢?在laravel里,没有使用PHP内置的 session功能,而是自己开发了新的Session,并且通过中间件直接帮我们开启了Session,那么它是如何启用的,又是怎么处理生命周期的呢,并且都有哪些可以供我们使用的方法呢,一起探讨一下.laravel Session的启用:在laravel的核心类文件中(app/Http/Kernel.php)我们可以看到StartSess原创 2020-08-14 16:21:15 · 10078 阅读 · 0 评论 -
【单元测试】laravel API测试session及cache构造
使用laravel 开发完api接口后 , 为api编写测试脚本可以大大提高测试效率phpunit vendor/custom/test/exampleTest.phplaravel 的 session 及cache 是通过数组进行构造的 , 如下class exampleTest extends testCase{ public function abTest(){ $session = ['key'=>value]; $cach.原创 2020-08-13 11:10:47 · 7981 阅读 · 0 评论 -
使用 laravel-admin 配置后台管理系统
内容有点多,就不说别的了。。需要一个简单的后台管理系统,对接数据库中的用户信息表,完成基本的增删改查操作。最好支持权限管理;有便捷的接口可供调用(不需要深度定制);前端界面和交互美观简洁,足够“现代化”;架构明晰,配置简单,可快速成型等等。几经查找,感觉 laravel-admin 这个框架还不错。虽说文档算不上完善,小踩几坑,没怎么太费事就构建好了。值得记录一下。后台管理系统一、安装 Laravel 环境laravel-admin 需要 PHP 7+ 和 Lavavel 5.5+.转载 2020-08-06 17:58:24 · 11621 阅读 · 0 评论 -
laravel mongodb eloquent查询中将日期与mongodb iso日期进行比较
我希望从日期大于给定日期的数据中获取记录.但是我在将日期与mongodbiso datetime进行比较时遇到了问题.目前我正在以Y-m-d格式获取日期,我想在查询中比较并且mongodb中的日期是2015-10-08T08:01:46.000Z格式.解决方法:Laravel的Eloquent支持Carbon / DateTime对象而不是MongoDate对象,当保存到数据库时,它们将在内部转换为MongoDate对象.您可以在您的查询中使用名为Carbon的laravel中的此日期处理.原创 2020-08-06 11:22:24 · 9584 阅读 · 0 评论 -
laravel使用阿里云OSS上传图片
阿里官网文档:https://help.aliyun.com/document_detail/32101.html?spm=a2c4g.11186623.6.1093.294d2589CrVykP需要自己注册阿里云账号并且开通oss服务,建立Bucket存储空间,此步骤不做演示一、composer安装:使用composer在项目根目录执行以下命令composer require johnlui/aliyun-oss:~2.0二、构建 Service 文件需要自己手动建立 app...原创 2020-08-04 09:06:41 · 9041 阅读 · 2 评论 -
laravel mysql读写分离配置及源码解析
参考资料:Laravel 5 配置读写分离和源码分析Laravel 5 配置数据库主从读写分离和源码分析配置'mysql' => [ 'write' => [ 'host' => '127.0.0.1', 'port' => 3306 ], 'read' => [ [ 'host' => '127.0.0.1', 'port' => 33转载 2020-07-23 14:52:35 · 9875 阅读 · 0 评论 -
Laravel $OBJECT->UPDATED_AT 返回的是Carbon对象,如何返回正常时间格式
当你准备使用数据库里面的created_at的日期的时候,你发现 $object->created_at 返回的确是个对象,而不是string采用下面的方式获取你的想要的时间$object->created_at->timestamp //返回时间戳 $object->updated_at->format('Y-m-d H:i:s') //返回 ‘2020-07-20 17:00:13’$object->created_at其实是php内置时...原创 2020-07-20 20:56:37 · 9116 阅读 · 0 评论 -
laravel临时暴露隐藏属性/隐藏显示属性
$user = User::where('id', 1)->get();$user->makeVisible('attribute')->toArray();$user->makeHidden('attribute')->toArray();原创 2020-07-18 15:13:04 · 9151 阅读 · 0 评论 -
Laravel Redis 由predis切换到phpredis,如果你是通过 PECL 安装 Redis PHP 扩展,就需要重命名 config/app.php 文件里 Redis 的别名的疑惑
参考:https://learnku.com/laravel/t/33649原创 2020-07-17 16:24:21 · 9247 阅读 · 0 评论 -
Laravel 连接Redis 报 failed: ERR invalid DB index [tcp://localhost:6379] 错误,解决方案如下
错误原因配置信息'database' => env('REDIS_DEFAULT_DATABASE', 0),如果.env 里面REDIS_DEFAULT_DATABASE=0,结果就转成空字符串 ”redis的command就变成SELECT,而非想要的SELECT 0解决方法REDIS_DEFAULT_DATABASE= 1-15 的随意有效值 REDIS_DEFAULT_DATABASE=‘0’,明确是 string 0 .env里不写 REDIS_DEFA...原创 2020-07-16 21:32:17 · 9872 阅读 · 0 评论 -
Laravel ide-helper的用法
自动生成模型字段注释php artisan make:model Userphp artisan ide-helper:models "App\Models\User" 记住一定要加引号php artisan ide-helper:generate - 为 Facades 生成注释php artisan ide-helper:meta - 生成 PhpStorm Meta file...原创 2020-07-16 15:25:50 · 9709 阅读 · 0 评论 -
Laravel 查询构造器最终生成sql的地方
vendor/jenssegers/mongodb/src/Jenssegers/Mongodb/Collection.php 查看mongodb查询源语句vendor/laravel/framework/src/Illuminate/Database/Query/Grammars/Grammar.php 查看mysql源语句的地方->toSql() 获取源语句的方法...原创 2020-07-16 15:24:16 · 9026 阅读 · 0 评论 -
Laravel 技巧之 Pivot
在关系式数据库中,要定义一个符合范式的多对多表关系需要一个中间表作为两个表的关系。在Laravel中这个表称为pivot,在查询出关联的记录之后,可以通过pivot属性来访问关联表的字段:$user = App\User::find(1);foreach ($user->roles as $role) { echo $role->pivot->created_at;}在实际应用中,这个中间表可能不仅仅包含两个表的外键,还有一些附加的字段,举个例子:一个用户.转载 2020-07-16 11:45:55 · 9573 阅读 · 0 评论 -
Laravel 使用Guzzle执行HTTP请求
手册地址:http://docs.guzzlephp.org/en/stable/request-options.html#headersGuzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。Guzzle提供了简单的接口,构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。安装使用Composer安装:composer require guzzlehttp/guzzle或者编辑项目的comp...原创 2020-07-06 14:44:58 · 12446 阅读 · 0 评论 -
laravel 分布式事务解决方案TCC详解
参考:https://learnku.com/articles/19541原创 2020-07-05 19:18:17 · 9341 阅读 · 0 评论 -
通过 Laravel + Vue 实现文件上传功能
最近项目中要用优化文件上传操作,因此对Android端文件上传做下总结。测试服务器端就用PHP写了,比较简单,代码如下:[php]view plaincopy$base_path="./uploads/";//接收文件目录$target_path=$base_path.basename($_FILES['up原创 2015-08-17 20:23:38 · 20527 阅读 · 0 评论 -
Laravel composer第三方插件 实现JWT
详见:https://learnku.com/articles/17883 https://learnku.com/articles/10885/full-use-of-jwt#852929原创 2020-06-02 20:40:47 · 8155 阅读 · 0 评论 -
Laravel composer第三方插件操作 mongodb
详见:https://learnku.com/articles/2560/using-mongodb-in-laravel#38f869 https://github.com/jenssegers/laravel-mongodb原创 2020-06-02 20:37:34 · 7952 阅读 · 0 评论 -
浅谈laravel的msvc模式
在以前没有 Service 时,如果要查询一个 id 为 1 切 status 为 1 的数据,而且这段代码需要重复用到,那么很多人的第一想法是定义一个方法到 Model 里面去。因为在业务中,我们会遇到很多这种事情,然后随着更新 Model 就会越来越大,大到难以维护,所以我们就需要把 Model 拆分。常规的拆分除了 Service 还有 Repository ,这两种组合加上去。因为在业务中,我们但部分时间都是放在查询的。Repository 应该做什么?Repository ,顾名思义是一个转载 2020-05-28 14:26:50 · 7956 阅读 · 0 评论 -
Laravel 使用 ramsey-uuid 生成UUID
想随机一个唯一id,想到php的 uniqid(),或者是其他方式生成一个唯一id。这种场景其实是很多的,但是也想不起之前是怎么写的,哪里写的,就看看laravel有没有依赖包,上网一搜,发现了这个: ramsey/uuidgithub地址: https://github.com/ramsey/uuid官网地址: https://benramsey.com/projects/ramsey-uuid/ 看来,作者应该有不少项目,没看,记录下,有时间了看!搜...原创 2020-05-27 10:29:16 · 9058 阅读 · 0 评论