laravel
zihanzy.com
前端攻城狮
个人博客 https://www.zihanzy.com
欢迎来访
展开
-
laravel邮箱认证
1.首先在UserModel引入邮箱认证相关功能<?phpnamespace App\Models;use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract;use Illuminate\Foundation\Auth\User as Authenticatable;use Illuminate\Notifications\Notifiable;use Illuminate\Auth\MustVer原创 2020-06-13 21:02:08 · 1899 阅读 · 0 评论 -
解决laravel Use of undefined constant JSON_INVALID_UTF8_SUBSTITUTE - assumed ‘JSON_INVAL
安装 Laravel6.0报错Use of undefined constant JSON_INVALID_UTF8_SUBSTITUTE - assumed ‘JSON_INVALphp 版本问题composer.json的php版本最低要求为php7.2但是我的homestead环境的php版本为7.3后来在nginx的配置文件发现了问题 虽然php版本是v3但nginx实际上是phpv1在 /etc/nginx/sites-available/{项目文件配置}编辑文件将php.fpm转载 2020-06-11 17:58:54 · 5694 阅读 · 0 评论 -
如何在Laravel中使用easywechat
EasyWeChat 是一个开源的 微信 非官方 SDK。官方网站:https://www.easywechat.com/对于如何使用感觉官方上还是说的有点模糊,示例都比较简单首先安装第三方插件composer require "overtrue/laravel-wechat" -vvv命令行输入如下命令生成配置php artisan vendor:publish --provider...原创 2020-04-27 16:05:22 · 5152 阅读 · 1 评论 -
Laravel利用redis和定时任务实现活跃用户统计
最近在Summer的《Laravel教程-Web开发实战进阶》学到很多东西,以前只会看文档,大概了解Laravel的内容而在实际运用中确不知道该怎样做,碰到一个需求不会立马联想到“这个东西可以用…实现“。不是有句话”实践是检验真理的唯一标准“ 所以学习编程还是要多实践多写项目,不然就像我一样拿到东西不知道怎样运用 废话不多,今天分享一下利用redis和定时任务实现活跃用户统计如果你对redis...原创 2020-04-12 15:33:38 · 2267 阅读 · 1 评论 -
Laravel消息通知系统之数据库
Laravel 自带了一套极具扩展性的消息通知系统,尤其还支持多种通知频道,我们将利用此套系统来向用户发送消息提醒。通知频道指通知的各种途径,Laravel自带的有如下几种数据库邮件短信(通过 Nexmo)Slack通过数据库实现消息通知1.准备数据表 php artisan notifications:table该命令会生成消息通知表的迁移文件database/migr...原创 2020-04-11 12:02:56 · 2293 阅读 · 0 评论 -
Laravel队列简单使用
消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。配置队列安装扩展包composer require "predis/predis:~1.0"队列的配置信息存放在co...原创 2020-04-10 21:46:31 · 1796 阅读 · 0 评论 -
Laravel防范xss攻击
XSS 也称跨站脚本攻击 (Cross Site Scripting),恶意攻击者往 Web 页面里插入恶意 JavaScript 代码,当用户浏览该页之时,嵌入其中 Web 里面的 JavaScript 代码会被执行,从而达到恶意攻击用户的目的。解决办法:永远不要信任用户提交得数据。这里我们通过HTMLPuifier for Laravel 对用户提交的内容过滤安装HTMLPurifi...原创 2020-04-10 21:05:17 · 2919 阅读 · 0 评论 -
Laravel核心概念:服务容器(ServiceContainer),服务提供者(Service Provider),门面(Facade),契约(Contracts)
写在前面学了两个多月的laravel一直没有去研究他的核心概念,在文档上看到些名词 “服务容器”,“服务提供者”…整个人人都是懵的下面结合我这几天的学习谈谈我的理解。laravel的核心架构:服务容器,服务提供者,门面,契约。要理解上面概念首先我们得知道什么是服务服务如我们在开发时需要的各种功能 邮件发送,图像处理,验证码等等 这些可以称之为服务,因为他为我们提供了一些第三方功能。如邮...原创 2020-04-04 20:32:53 · 2170 阅读 · 0 评论 -
Laravel开发小技巧
前言本文记录Laravel在实际开发中的一些技巧,提高自己帮助他人!1.提示框/警告框实现我们可以在前台视图或组件键入如下代码@foreach (['danger', 'warning', 'success', 'info'] as $msg) @if(session()->has($msg)) <div class="flash-message"> ...原创 2020-04-03 10:43:43 · 1505 阅读 · 0 评论 -
Laravel修改中文语言包
1.命令安装语言包composer require "overtrue/laravel-lang:~3.0"2.在将config/app.php的Illuminate\Translation\TranslationServiceProvider::class,替换为Overtrue\LaravelLang\TranslationServiceProvider::class,完美编译...原创 2020-04-03 10:01:16 · 2094 阅读 · 0 评论 -
Laravel自定义辅助函数
Laravel为我们提供了很多辅助函数,方便我们执行各种操作,但laravel也支持我们自定义辅助函数。方法如下:当app\目录下新键文件helpers.php在helpers.php添加你自定义的辅助函数function sayHi(){ return "hello word"}在compoers.json中添加如下代码 "autoload": { "ps...原创 2020-04-03 09:42:34 · 1503 阅读 · 0 评论 -
An unexpected error occurred: "EPROTO: protocol error, symlink '../../../../browserslist/cli.js' ->
解决办法;在yarn 后面加 --no-bin-links如yarn install --no-bin-links原创 2020-04-02 23:00:35 · 3094 阅读 · 0 评论 -
Symfony\Component\Debug\Exception\FatalErrorException
Laravel6构建项目报错Symfony\Component\Debug\Exception\FatalErrorExceptionDeclaration of Symfony\Component\Translation\TranslatorInterface::setLocale($locale) must be compatible with Symfony\Contracts\Tra...原创 2020-04-02 16:09:08 · 8298 阅读 · 0 评论 -
Laravel Model常用属性
$table = ‘应当操作的表名’; $primaryKey= ‘主键’;$timestamps = false;//是否创建crearte_at与update_at字段$fillable = [ '可批量填充的字段’];$guarded= [ ‘不可批量填充的字段’];$hidden = [ ‘模型转换为数组时应当隐藏的字段’];$visable = [‘模型转换为数组时应当显示...原创 2020-02-01 18:33:36 · 2572 阅读 · 0 评论 -
No application encryption key has been specified.
No application encryption key has been specified.laravel框架报错“No application encryption key has been specified.”这是因为没有配置APP_KEY打开.env文件 发现APP_KEY=没有值使用命令php artisan key:generate设置APP_KEY后的.env文件...原创 2020-01-23 17:50:19 · 1766 阅读 · 0 评论 -
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 byteslaravel报错 “ SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was ...原创 2020-01-23 17:55:18 · 4279 阅读 · 0 评论 -
Command "make:observer" is not defined.
今天学习Laravel中的观察者 ,通过命令创建观察者时报错php artisan make:observer UserDel --model=MuserCommand "make:observer" is not defined.Command “make:observer” is not defined.Did you mean one of these?make:authmak...原创 2020-01-31 16:26:11 · 2575 阅读 · 0 评论 -
Call to a member function format() on string
Laravel错误:Call to a member function format() on string出现这种错误大概有两种原因1.数据库时间字段没有设置为timestamp或datetime2.Model中没有加入额外添加的时间字段protected $dates = ['时间字段']...原创 2020-02-01 18:19:15 · 3019 阅读 · 0 评论 -
关于laravel find方法非正常显示全部记录
错误如下如图查询user ID等于1的记录$user = User::find(1)->get(); dump($user);看似好像没有问题?结果打印明明查找id等于1的记录却打印了3个数组突然想起find方法不应该使用get修改如下代码$user = User::find(1); dump($user);正常显示...原创 2020-02-03 14:52:41 · 1870 阅读 · 0 评论 -
PHP Startup:Unable to load dynamic library "bcmath,Libmcrypt,mhash,mcrypt
https://blog.csdn.net/aerchi/article/details/84646179转载 2020-03-12 20:52:49 · 1439 阅读 · 0 评论 -
(SQL: select * from information_schema.tables where table_schema = ches and table_name = migrations)
(SQL: select * from information_schema.tables where table_schema = ches and table_name = migrations)数据库未连接原创 2020-02-08 13:54:24 · 4756 阅读 · 0 评论 -
Laravel修改Gate默认认证User Model的信息
在Laravel中为我们提供了一种简单的方式来处理用户授权动作,主要有两种方式Gates和Policy(策略),但这两种方法默认是认证User模型的信息,我们想使授权认证为后台用户Admin模型的信息需进行如下操作1.参照我的另一篇文章【多表用户登录认证】增加一个使用auth登录的后台用户2.在要认证的路由绑定中间件Route::get('mydel','Procontroller@myde...原创 2020-03-08 20:56:30 · 1624 阅读 · 0 评论 -
Laravel DB类实现事务
事务事务主要用于处理操作量大,较复杂的数据,如在某个场景你想删除某个用户,但又要删除这个用户相关的信息,这种操作就构造一个事务。事务有四个特性原子性一致性隔离性持久性原子性一个事务的所有操作,要么全部完成,要么都不完成,如果在事务执行过程中发送错误则会回滚到事务开始前的状态。一致性在事务开始之前和事务结束以后,数据库的完整性没有被破坏。即写入的数据必须符合所有预设规则。隔...原创 2020-03-07 11:08:32 · 3618 阅读 · 0 评论 -
Laravel ajax 获取validator信息
if($validator->fails()){ return back()->withErrors($validator)->withInput();}将上面代码替换成下面这个if ($validator->fails()) { return \Response::json([ 'status' => 'err...原创 2020-03-03 22:55:46 · 1525 阅读 · 0 评论 -
Laravel 中接收ajax请求
在laravel中提交数据需要经过token验证,因此我们使用ajax发送post请求的时候需设置token第一种方式$.ajax({ headers: { 'X-CSRF-TOKEN': '{{csrf_token()}}' },第二种方式<meta name="_token" content="{{ csrf_token() }}"/>$.aj...原创 2020-03-02 16:45:35 · 1782 阅读 · 0 评论 -
Laravel学习记录--微信开发(day3)
微信开发第三天,利用Laravel做一个小项目----微分销三级分佣,无限裂变,利用社交媒体的巨大流量做产品分销,分裂出成千上万个分销商,扩大销售规模,这是微信三级分销的核心价值之所在。 微信三级分销平台,去掉了传统之间,为生产商带来分销商, 使得生产商与消费者直接沟通,不仅降低生产商交易成本,而且为商家带来更多精准用户。 同时,三级分销还为消费者提供成为分销商的机会,为消费者带来额外收入...原创 2020-02-06 21:29:08 · 1959 阅读 · 0 评论 -
Laravel学习记录--微信开发(day2)
回复音乐信息参数是否必须说明ToUserName是接收方帐号(收-到的OpenID)FromUserName是开发者微信号CreateTime是消息创建时间 (整型)MsgType是消息类型,音乐为musicTitle否音乐标题Description否音乐描述MusicURL否音乐链接HQMusicUrl...原创 2020-02-05 12:23:09 · 1486 阅读 · 0 评论 -
Laravel学习记录--微信开发(day1)
在上一篇文章中我们介绍了微信开发的准备工作接下来就是正式开发了以自动回复为例要实现自动回复,我们首先的获取用户输入的消息,那么怎么获取用户输入的数据根据文档,“消息管理”----“接收普通消息”注意这样一句话“当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。当普通用户发送消息到公众号时,微信服务器会发送POST请求到我们的服务器,包含...原创 2020-02-04 17:02:20 · 1427 阅读 · 0 评论 -
Laravel学习记录--Laravel用户授权系统
简介在Laravel中为我们提供了一种简单的方式来处理用户授权动作,主要有两种方式Gates和Policy(策略),可以将其类比路由器(Gates)和控制器(Policy)Gates提供了一个简单的,基于闭包的方式来进行授权认证,而Policy在特定的模型或资源中通过分组来实现授权认证的逻辑这两种方式都能进行用户权限认证,但Gates一般用于与模型和资源无关的地方,如查看管理员后台,而Poli...原创 2020-02-03 17:15:17 · 2794 阅读 · 0 评论 -
Laravel学习记录--基于多表用户登录认证(前/后)台
Laravel支持基于多表的用户认证,同时允许不同的数据表用户(前/后台)进行登录验证在上一篇记录,我们完成了前台用户的认证,在这里只做后台用户登录认证1.创建后台用户模型,并生成表php artisan make:model Admin -m编辑迁移文件设置表结构2.编辑Admin模型将User模型的代码复制到Admin模型<?phpnamespace App;us...转载 2020-02-02 23:48:12 · 1887 阅读 · 0 评论 -
Laravel学习记录--Blade之View Composer&自定义指令
引入假设有如下情景,我们做一个系统他的导航菜单,侧边栏,底部信息等在多个页面都会用到,因此最好的处理办法是将这些内容写成一个组件,每个页面直接调用即可,但是如何将数据传入到组件?每个页面都有对应的控制器,那我们是不是每一次都要有在不同的控制器里面获取这些组件的数据,只要模板调用了相关组件,这样做是不是太繁琐了?那有没有一种办法可以实现“一处定义,多处复用”?这样就不用每次在控制器获取组件的数据...原创 2020-02-01 18:16:17 · 1771 阅读 · 0 评论 -
Laravel学习记录--表单提交方法伪造
引入有时候我们需要定义发送表单所使用的HTTP请求方式,但HTML表单只支持GET和POST两种提交方法,如果要使用其他的请求方式,需要我们自定义常见HTTP请求OPTIONS:允许客户端查看服务器的性能。这个方法会请求服务器返回该资源所支持的所有 HTTP 请求方法,该方法会用’*'来代替资源名称,向服务器发送 - OPTIONS 请求,可以测试服务器功能是否正常。JavaScript...原创 2020-02-01 11:40:25 · 1724 阅读 · 0 评论 -
Laravel学习记录--数据填充
Laravel可以用seed类为数据库填充测试数据。所有的seed类被存放在database\seeds目录下。你可以任意为seed命名,但应该遵守类似UsersTableSeeder的命名规范。Laravel默认定义的一个DatabaseSeeder类,可以在这个类中使用call方法来运行其他的seed类,从而控制数据填充顺序生成Seeder使用命令 php artisan make:see...原创 2020-01-31 21:37:09 · 1583 阅读 · 0 评论 -
Laravel学习记录--Laravel事件系统
Laravel的事件提供了一个简单的观察者实现,能够订阅和监听应用中发生的各种事件,事件类保存在app\Events目录中,这些事件的监听器被保存在app\Listeners当然这些目录只有使用Artisan命令来生成事件和监听器时才会被自动创建。注册事件和监听器Larave中的app\Providers\EventServiceProvider 的listen数组键为事件值为事件对应的监...原创 2020-01-31 12:44:58 · 1705 阅读 · 0 评论 -
Laravel学习记录--访问器与修改器
简介当你在Eloquent模型实例中获取或设置某些属性值的时候,访问器和修改器允许你对Eloquent属性值进行格式化,访问器可在将要读取的数据进行处理后在返回给调用方,而修改器可在数据要被保存到数据库时进行一些相关处理,如清除表单提交的空格,时间格式化等访问器要定义一个访问器,则需在你的模型上创建一个getFooAttribute方法。Foo为要访问的属性,命名规则采用驼峰法,但访问这个属...原创 2020-01-30 22:54:53 · 1724 阅读 · 3 评论 -
Laravel学习记录--LaravelDebugbar
laravel 调试工具 Debugbar 安装及使用1.使用composer 安装 composer require barryvdh/laravel-debugbar2.在app\Providers\AppServiceProvider.php的register()方法加入如下代码使得只有在本地开发环境才加载debugbar//本地环境才加载Laravel debugbar ...原创 2020-01-27 12:34:32 · 1593 阅读 · 0 评论 -
Laravel学习记录--验证码
一,通过第三放库1.composer引入第三方库composer require gregwar/captcha2.准备路由//验证码Route::get('random','ProController@random');3.控制器验证码部分use Gregwar\Captcha\CaptchaBuilder;public function random(){ $...原创 2020-01-23 15:11:42 · 1328 阅读 · 0 评论 -
Laravel学习记录--查询构造器
/获取单列数据 first//返回对象的结果集$res=DB::table(‘book’)->where(‘bname’,‘数学’)->first();//获取具体字段值 value value必须指定值//返回字符串$res = DB::table(‘book’)->where(‘bname’,‘数学’)->value(‘bname’);//获取一列的值 pl...原创 2020-01-23 14:44:59 · 1662 阅读 · 0 评论 -
Laravel学习记录--连接多个数据库
1.配置.env 文件DB_CONNECTION=mysql//数据库DB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=database_name//数据库名DB_USERNAME=root//用户名DB_PASSWORD=//密码//----------------------------------自定义一个数据库连接-----------...原创 2020-01-23 14:09:06 · 1427 阅读 · 0 评论 -
Laravel学习记录--Laravel验证
Laravel自动验证使用Illuminate\Http\Request 对象提供的 validate方法如果验证通过,代码就可以正常的运行。如果验证失败,就会抛出异常,并自动将对应的错误响应返回给用户。public function test(Request $req){ $this->validate($rep,[ '字段1'=>'规则1', //(多个规...原创 2020-01-23 11:53:07 · 1802 阅读 · 0 评论