Laravel
文章平均质量分 55
韩某Hyman
Program is zero,but zero is start.
展开
-
Laravel 新建项目状态码500问题解决思路
500InternalServerError:服务器内部错误,无法完成请求(一般是服务器源代码错误)。原创 2019-12-27 18:00:44 · 1368 阅读 · 1 评论 -
一种简便的给 composer 包打补丁的方法
一种简便的给 composer 包打补丁的方法原创 2022-08-16 16:40:31 · 203 阅读 · 0 评论 -
为什么Laravel调试时谨慎使用dd()函数?这个问题成立否?
一直使用辅助函数dd()调试,没遇到过问题,但公司同事不建议使用,说有问题。今天研究了下,没想出个所以然来,道友们来讨论讨论!大体意思:dd函数是用来打印变量和结束脚本的运行的,如果不想结束脚本运行,请使用dump函数。是不是可以理解为 dd() = dump() + die() ,所以叫做dd()。区别就是结束脚本运行,但会有什么大的影响么?...原创 2021-07-16 14:58:38 · 423 阅读 · 2 评论 -
关于一个 Laravel 使用 cursor 占用内存问题
背景#我需要把一张表的所有数据查询出来,然后逐一查询出来进行逻辑处理。代码如下:原创 2021-03-03 21:00:15 · 2289 阅读 · 1 评论 -
如何在laravel中使用Repository Pattern(仓库模式)
来,这样做的好处有以下几点:把数据处理逻辑分离使得代码更容易维护 数据处理逻辑和业务逻辑分离,可以对这两个代码分别进行测试 减少代码重复 降低代码出错的几率 让 controller 代码的可读性大大提高如图所示 Repository 的分层关系然而,要独立一个操作层出来,那就会增加大量代码,非常繁琐。如果你是小项目,未必需要使用这一模式。但如果是 4-5 年以上的复杂大型项目,这种模式的好处就比较明显了。学习 Repository Pattern 的意义不只是为了使用它,更.转载 2021-02-25 20:28:48 · 605 阅读 · 0 评论 -
Laravel访问器与修改器妙用
当你在 Eloquent 模型实例中获取或设置某些属性值的时候,访问器和修改器允许你对 Eloquent 属性值进行格式化。例如,你可能想要使用 Laravel 加密器 来加密一个即将被保存在数据库中的值,当你从 Eloquent 模型访问该属性时,其值将被自动解密。除了自定义访问器和修改器之外,Eloquent 也会自动将日期字段类型转换成 Carbon 实例或将 文本字段类型转换成 JSON。访问器 & 修改器定义一个访问器若要定义一个访问器,则须在你的模型上创建一个 getFoo翻译 2020-07-13 20:27:21 · 1335 阅读 · 0 评论 -
Laravel ORM 中你不知道的骚操作
append class User extends Model { protected $appends = ['is_adult']; public function getIsAdultAttribute() { return $this->attribute['age'] > 18; } }这个操作大家是不是都用过,在模型里新增一个数据库不存在的字段,非常方便。但是 $转载 2020-06-29 23:03:04 · 413 阅读 · 0 评论 -
kafka 消费问题
请教大家一个问题:kafka生产没问题 消息能正常发送进队列 但消费始终得不到数据 一直在加载中,扩展"nmred/kafka-php": "v0.2.0.8"php:7.3.1 $config = \Kafka\ConsumerConfig::getInstance(); $config->setMetadataRefreshIntervalMs...转载 2020-04-22 20:15:41 · 732 阅读 · 0 评论 -
Laravel ORM 中你不知道的骚操作
append class User extends Model { protected $appends = ['is_adult']; public function getIsAdultAttribute() { return $this->attribute['age'] > 18; } }这个操作大家是不是都用过,在模型里新增一个数据库不存在的字段,非常方便。但是 $appends转载 2019-11-04 18:49:11 · 576 阅读 · 0 评论 -
什么是 Laravel 的资源控制器?
Laravel 资源型控制器资源控制器就是 Laravel 控制器的一种,具有创建、读取、更新和删除资源(或模型)的所有方法。 您可以使用此 artisan 命令创建资源控制器:php artisan make:controller PhotoController --resource该命令将在您的控制器目录中创建一个 PhotoController.php 文件,并将自动创建 7 种方法 index ,show,create,store,edit,update,destroy。 所有这些方法都是空转载 2019-11-13 19:57:23 · 471 阅读 · 0 评论 -
毕业设计也可以考虑SEO搜索引擎优化
虽然这个项目仅仅是个毕业设计,但除了实现基本功能外,肯定也要造就一些亮点。所以这两天就在慢慢考虑这件事情,网上看了一些什么特效做的炫些、支持多大的并发量什么的,但感觉稍微有些难度和浪费时间,然后就看到一个涉及到搜索引擎优化的。听着“搜索引擎优化”这个名字很有逼格,而且实现起来也并不难,所以就先从此下手。什么是SEO?SEO全称为Search Engine Optimization,汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。最大的作用是可以提高有效访问量。原创 2017-03-15 13:40:26 · 6378 阅读 · 0 评论 -
Laravel 中的模型事件与 Observer
在Laravel的世界中,你对Eloquent大多数操作都会或多或少的触发一些模型事件,今天就来看一下模型事件的使用。Laravel事先已经定义好了10个模型事件以供我们使用,它们分别是:creating,created,updating,updated,saving,saved,deleting,deleted,restoring,restored。事件名称都很浅显易懂,如果你是认真写代码话都应该可以看明白,如果不明白的话可以左转百度。不过你可能对upda原创 2017-03-21 21:05:50 · 594 阅读 · 0 评论 -
如何优化N+1问题
解决方案可以通过Eloquent(laravel内置的一个ORM实现)提供的预加载功能解决N+1的问题。使用with()方法提前加载并缓存需要用到的关联属性,等到遍历数据时,就不会再产生多余的sql查询。原创 2017-03-13 20:25:07 · 1058 阅读 · 0 评论 -
phpunit 学习
单元测试是一个强大的功能,之前一直不会今日学习了一下,由于还在学习可能还存在问题。首先,需要先进行 phpuit 的安装,正常情况下安装好 laravel 之后是已经安装该扩展。安装phpunit 安装composer require --dev phpunit/phpunit这样就安装好测试扩展了编写测试案列测试代码的生成在 test 文件夹下面包含了两个文件 ...原创 2020-03-14 23:14:36 · 806 阅读 · 0 评论 -
Laravel 架构设计:在服务端应用中使用客户端渲染
现代 Web 应用开发有两种常见的架构方法: 服务端渲染应用 (Rails, Laravel, Django) 渲染:通过服务端模板 数据源:通过 ORM 访问数据库 路由:由服务端定义 单页面应用 (Vue.js, React, Angular, Ember) 渲染:通过 JavaScript 组件 数据源:通过 REST API 或 GraphQL 获取数据...原创 2020-02-28 20:43:59 · 1466 阅读 · 0 评论 -
Laravel中表单验证unique唯一性时,如何排除当前记录
为新建某记录添加了一个表单验证类,想复用到更新功能中,结果却提示编号已存在。很明显是表单验证类的问题,因为添加新纪录时能保证唯一列的唯一性,所以没问题。但是更新记录时,因为记录已存在,表单验证类去检查唯一性时,就会把当前要更新的记录也统计上,发现有“重复”,所以提示已存在。百度了下,其实很简单,添加一个排除参数即可。通过路由route()获取参数,从而能知道id,然后按照如下方式排除...原创 2017-03-20 18:51:10 · 1627 阅读 · 0 评论 -
Laravel表格操作Laravel-Excel
Laravel-Excel应该算是目前接触过的,最好用的excel工具包。之前用过PHPExcel类库,项目中使用时会将PHPExcel类库放到扩展目录vendor中,然后直接调用。但是并没有Laravel-Excel用起来顺手,可能是因为Laravel-Excel与Laravel框架本身足够契合的原因吧。安装Laravel-Excelcomposer require maatweb...原创 2019-04-09 17:44:33 · 1586 阅读 · 3 评论 -
Laravel 队列经常卡死
使用队列的原因:因为项目需要每天定时拉取多个 api 的数据,数据量大(每次上万个任务),所以选择使用队列拉取。工具:laravel 队列,supervisor 进程监控遇到的问题:队列在运行过程中会突然卡住不再运行,需要重启 horizon 和 supervisorctl,才会继续运行。(2020-01-03 15:31:00 补充)难点:手动运行正常!重启队列并观察,也正常!运行一...原创 2020-01-03 18:06:12 · 9680 阅读 · 0 评论 -
PHP防止表单重复提交
日常开发中,表单的提交是无法避免的,而我们必须熟知的一点是“在做后退或刷新操作时,post会重新提交请求是有害的,而get虽然会重新获取数据但却是无害的”。所以我们要禁止用户重复提交表单。首先,我们要知道在什么情况下表单会重复提交:点击提交按钮两次。 点击刷新按钮。 回退,然后重复操作。 进行一些恶意操作。那么,如何防止表单重复提交呢?其实很简单,根据数据流向的过程,可以从三个...原创 2018-09-15 19:09:30 · 681 阅读 · 0 评论 -
命名空间与composer
命名空间命名空间定义方式:在"<?php"标签后的第一行声明,这个命名空间声明语句后声明的所有php类、接口、函数和常量都在这个命名空间中。也可以使用子命名空间,使用\符号把命名空间和子命名空间分开。在同一个命名空间中的类没必要全部在同一个php文件中声明,可以在多个php文件的顶部指定同一个命名空间或子命名空间,此时这个文件的代码就是该命名空间或子命名空间的一部分,因此我们可以在不同文件中编写属于同一个命名空间的多个类。原创 2017-03-11 17:23:12 · 759 阅读 · 0 评论 -
通过中间件Middleware、策略Policy控制权限
通过中间件限制未登录用户Laravel框架中,在“app/Http/Middleware”文件夹中内置了一些中间件,例如身份验证、CSRF保护等。而中间件MiddleWare为我们提供了一种非常棒的过滤机制来过滤进入应用的HTTP请求。当我们使用Auth中间件来验证用户的身份时,如果用户未通过身份验证,则Auth中间件会把用户重定向到登录页面;如果用户通过了身份验证,则Auth中间件会通过...原创 2017-03-09 22:01:14 · 916 阅读 · 0 评论 -
SSPU-BBS中的邮箱认证
虽然Laravel框架中默认自带了邮箱认证的功能,可以很方便地进行集成,但我还是想搞清楚其流程,所以今天花了一上午的时间进行理解。首先,先定义邮箱认证的业务流程。基本业务流程如下:用户注册成功后,系统会自动发送一个附带“认证链接”邮件到用户邮箱; 用户打开“认证链接”即为激活账号,才可以正常访问系统; 用户在未通过邮箱进行验证的情况下,所有访问都会重定向到邮箱验证页面。然后,再看...原创 2017-03-07 13:53:02 · 622 阅读 · 0 评论 -
SSPU-BBS登录注册功能的实现
Laravel框架中自带了用户认证功能,称之为“用户认证脚手架”。其实一个很简单的命令就可以生成相关代码,然后在对其进行定制化扩展即可。php artisan ui:auth//此命令生成、或修改的代码文件主要包括以下几个routes/web.phpapp/Http/Controllers/HomeController.phpresources/views/auth/视图文件若干...原创 2017-03-06 19:54:46 · 616 阅读 · 0 评论 -
毕业设计:基于Laravel的论坛网站SSPU-BBS
最近一直忙于毕业设计,虽还未完成,但已基本成型。就从本篇文章开始吧,梳理并总结下前段时间的开发内容,在这之后的开发内容也会一并记录。SSPU是母校简称,BBS是网络论坛简称。毕设名称直接以其拼接方式命名SSPU-BBS,比较直观,哈哈!谈到论坛,首先想到的肯定是贴吧了,虽然玩儿贴吧比较少,但还是有所了解的。根据自己的理解,我主要把自己开发的论坛分为两个大的模块:一、用户主要分为四种...原创 2017-03-05 18:36:07 · 666 阅读 · 0 评论