首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel 第三方登陆之 Socialite Providers

Socialite Socialite 是 Laravel 官方提供的实现 Oauth Client 的扩展包,用于实现各厂商提供的第三方登陆,并在其官方文档中有详尽的使用步骤描述,可点击以下链接查看:...移除 config\app.php 文件中, providers[] 数组里的 Laravel\Socialite\SocialiteServiceProvider (如果有的话)。...添加 \SocialiteProviders\Manager\ServiceProvider::class 到 config\app.php 文件中的 providers[] 数组里。...文件的 protected $listen 数组属性中,添加 \SocialiteProviders\Manager\SocialiteWasCalled::class 事件,并为其添加对应适配器的监听器...新建控制器 在 app\Http\Controllers\Auth 新建控制器 OSChinaController.php 文件: php /** * Created by PhpStorm.

1.7K30

Laravel Ignition 功能全解析

让我们看看默认情况下 PHP 中有什么。在不使用框架的情况下,PHP 提供了这个功能。您只会得到错误:没有堆栈跟踪、没有请求或应用程序详情。 ?...它比默认的 Symfony 好得多,可以显示堆栈跟踪和一些关于请求的信息。尽管在 Laravel 中 Whoops 是默认值,但它是一个框架无关的(错误收集展示)。它仅仅显示通用信息。 ?...您可以在 ignition配置文件中将其配置为您最喜欢的编辑器。 注意到右上角的那个小 “望远镜” 链接了吗?我们只会在您安装了 Laravel Telescope(第一方调试助手) 的情况下显示。...在 Context 选项卡中,我们显示关于您的 repo (repo 位于何处,签出提交 hash) 和环境 (您使用的 PHP 和 Laravel 的哪个版本) 的信息。 调试选项卡 ?...让 getRunParameters返回一个数组。该数组将被传递给 run。 使 Ignition 更聪明 因此,你有能力使用文本或者可运行的解决方案来增强自己的异常。

3.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Laravel5.2之Validator

    引言: Laravel提供了Validator模块,可解决表单提交验证等一些需求,并且可以在视图View中显示错误验证信息,交互还是很友好的。注明:作者水平有限,有错误或建议请指正,轻拍。...概述: Laravel中在Controller.php文件中引用了trait为ValidatesRequests,这个trait源码在/Illuminate/Foundation/Validation/...(一)、post表单提交,并在视图中显示验证错误信息 1、先在routes.php中写两个路由: Route::get('laravel/test/validator', 'PHPTestController...4、写显示验证错误信息视图 在laravel中,laravel会在每次请求把errors变量刷到session中,和视图模板绑定,所以errors变量在视图模板中可用,官方文档原话:"So, it is...@postValidator'); }); (二)、验证数组形式表单 有时候在写表单时,需要同时输入相类似的表单输入时,可以把这些input作为数组看待,laravel5.2也提供了数组形式的验证

    13.3K31

    Laravel框架表单验证格式化输出

    laravel默认的输出格式(图一) ? 修改后的输出格式(图二) 或许通过上面两张图,你还是未看出有什么区别的话。这里我用文字描述一下吧。这种情况是发生在laravel做表单验证的情况下发生的。...然而我们需要的只是如图二的格式,单个的输出错误信息。...大致的解决思路就是在输出的时候,我们去默认显示第一个未通过的验证信息,当通过之后,之前第二个未严重通过的就变成了第一个,这样依次循环下去,我们的每个数据就得到了验证。...执行下面的命令之后,我们在 php app/Http/Requests目录下面就可以看到该类文件了。...找到 phpApp\Exceptions\Handler.php文件,找到下面的方法,修改为如下内容。这时候在做表单验证就会显示图二的格式信息了。

    2K30

    3分钟短文:可能是Laravel模板最直白的用法了,没有之一

    laravel为什么说是最优雅的框架呢?因为提供了许多优雅的方法,比如上面控制器方法内, 使用 View 对象的 with 方法,可以传递键值对,传递数组。...传递多个变量 上一节只在视图渲染的时候,传递了一个变量值,而实际业务中,我们不可能把所有的数据,都写入到同一个变量内, 然后在模板使用单个组装的变量。...Hacking and Coffee'); } 在模板内,就可以直接使用 $id 和 $name 两个变量了: {{ $name }} has the event ID #{{ $id }}....welcome', compact('name', 'date')); 使用compact函数将两个变量包裹为键值对的数组传递给 view 函数,就可以正常在视图模板内使用了。...或者为了直观一些,我们自己封装这个数组结构: public function show($id) { $data = [ 'name' => 'Head First PHP',

    1.9K20

    CVE-2021-39165: 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅

    ,发现有一个匿名用户一连向我提出了两个问题: 本来不是很想回答这两个问题,一是感觉比较基础,二是现在大部分人都卷Java去了,关注PHP的其实不多。...我们可以在app/Http/Kernel.php找到这三个名字对应的中间件类,他们的作用是: web是多个中间件的组合,作用主要是设置Cookie和session、校验csrf token等 ready...,我看可以将多个条件组合成一个数组传入where函数中,比如: DB::table('dual')->where([ ['id', '>', '18'], ['title', 'LIKE...Laravel的这个数组特性可以类比于6年前我第一次发现的ThinkPHP3系列SQL注入。...两个漏洞组合起来,就可以成功拿下Cachet系统权限。

    99620

    Laravel Validation 表单验证(一、快速验证)

    或者,验证规则可以指定为一个数组而不是单个 | 分隔字符串: $validatedData = $request->validate([ 'title' => ['required', 'unique...关于数组数据的注意实现 如果你的 HTTP 请求包含一个 「嵌套」 参数(即数组),那你可以在验证规则中通过 「点」 语法来指定这些参数: $request->validate([ 'title...unique:posts|max:255', 'author.name' => 'required', 'author.description' => 'required', ]); 显示验证错误信息...正如前面所提到的,Laravel 会自动把用户重定向到之前的位置。另外,所有的验证错误信息会被自动 存储到 session。 重申一次,我们不必在 GET 路由中将错误消息显式绑定到视图。...关于可选字段的注意事项 默认情况下,在 Laravel 应用的全局中间件堆栈 App\Http\Kernel 类中包含了 TrimStrings 和 ConvertEmptyStringsToNull

    3.8K10

    通过 Request 对象实例获取用户请求数据

    而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,从收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们将通过三四篇教程的篇幅来为你详细介绍如何在 Laravel...Postman 中模拟请求数据,不过在测试前需要在 app/Http/Middleware/VerifyCsrfToken.php 中间件中将测试路由排除在外,否则会因为 POST 请求触发 CSRF...学院'); 获取数组输入字段值 有的时候,我们在表单中传递给后端的可能是一个数组,比如一些复选框选中项,这些表单输入框的 name 值通常是 name[],如 books[],这个时候传递到后端的 books...数据就是数组格式: ?...我们可以通过「.」来分别获取每个数组元素: $request->input('books.0'); $request->input('books.1'); 甚至还支持更深层级的嵌套: dump($request

    19.8K30

    3分钟短文:Laravel请求对象方法极多,可不是花拳绣腿

    两者的请求方法不一样。 那么对于用于csrf拦截的字段_token,系统生成,系统自检,我们在表单中并不使用, 可以使用 except 方法将其排除在外。...有两个方法,一个是 has(),一个是 exists()。这两者是有细微区别的,has方法要求键名存在,且数值不为空;exists方法仅要求键名存在。...PHP就是最为擅长处理数组,所以轻快。...整个数组结构大致如下: [ 'employees' => [ 0 => [ 'firstName' => 'Jim', 'lastName...写在最后 本文通过示例演示了laravel Request请求常用的方法获取表单数据,最重要也用的最少的数组数据的解析, 可以加深大家对于表单数据处理的逻辑。 Happy coding :-)

    1.4K20

    Laravel 5.0 之命令及处理程序

    . ---- 本文中涉及的新功能都是关于 Commands 的,这些特性在 Laravel 旧版本中已经有了,但是在 Laravel 5.0 中变得更加好用了。...在 Laravel 中使用 Command 在开始介绍 Laravel 5.0 中使用 Command 的整个结构之前,我们先看看最终的用例是怎样的。...文件夹 在 Laravel 5.0 的应用框架中,app/ 目录下有两个新的文件夹:Commands 和 Handlers, Handlers 目录下还有两个子目录:Commands 和 Events(...执行这个 artisan 命令会生成两个文件: 命令文件(app/Commands/DuplicateTalkCommand.php) 和 处理程序文件(app/Handlers/Commands/DuplicateTalkCommandHandler.php...会自动在传入的数组或者 arrayAccessible 对象中去寻找与属性名相同的 key, 取出对应的值来调用命令的构造函数。

    1.7K60

    Laravel5.2之Demo1——URL生成和存储

    (4)、使用Laravel的Artisan CLI工具命令创建migrations迁移文件,可以在终端进入项目根目录输入php artisan命令查看Artisan命令列表。.../文件夹下新建一个date+create_links_table.php文件,该文件源码主要包含两个非常重要的方法:up()/down()。...2、创建Form表单 (1)、在resources/views/文件夹下创建一个urls文件夹,在urls文件夹下创建一个form.blade.php文件文件名需要有blade字符串,laravel会自动识别这个文件为...'数组中加上Collective\Html\HtmlServiceProvider::class,,在'aliases'数组中加上'Form' => Collective\Html\FormFacade...(1)、验证输入 在提交表单时都要验证输入数据是否符合规定,免得让脏数据进入数据表里,laravel提供了Validation模块来做表单验证并且可以在视图中显示验证错误信息,具体想了解下的可以看我这篇文章

    24.1K31

    Laravel API教程:如何构建和测试RESTful API

    前言 本文原文:Laravel API Tutorial: How to Build and Test a RESTful API 这次一次来了两个没接触过的内容,一个与php的Laravel 有关,一个与...您可以将资源表示在多个数据模型中(或根本不在数据库中表示),并且模型完全不受用户限制。最后,您将以适合您的应用程序的方式来决定如何构建资源和模型。...迁移和模型(Migrations and Models) 在实际编写第一次迁移之前,请确保为此应用程序创建了一个数据库,并将其凭据添加到.env位于项目根目录中的文件中。...使用它将使我们的测试快速运行,但是权衡是一些迁移(migration )命令(例如约束)在该特定设置中将无法正常工作。...现在,我们创建注册端点测试,并为该端点写一对: $ php artisan make:test RegisterTest class RegisterTest extends TestCase {

    20.4K20

    Laravel在命令行问用户要数据!

    事前询问 首先我们要区分获取参数的两种方式,一种是在输入命令行时直接给定的,还有一种是在程序运行过程中,等待用户输入信息之后才能继续。...先说第一种方式,也分为两种,一种叫参数 argument,一种叫选项 option。在laravel程序里,这两个名字没有变化。...}'; 假设上述类已经完成功能开发,在命令行中调用: php artisan password:reset 5 在代码中使用 $this->argument() 方法,打印其结果是一个数组,内容如下:...用法类似,获取单个的选项值,只要传入键名就可以了: $this->option('userId'); 为了演示两个方法的用法,我们为命令行调用方式声明两种获取参数的方式: protected $signature...写在最后 本文我们讲述了两个重要的概念,参数和选项。在设计命令行的时候一定要想清楚,规划好,到底用哪一个,在代码中才能有的放矢地读取。并且使用询问等待可以制作更多灵活的引导型程序,非常实用。

    52420

    Laravel在命令行问用户要数据!

    事前询问 首先我们要区分获取参数的两种方式,一种是在输入命令行时直接给定的,还有一种是在程序运行过程中,等待用户输入信息之后才能继续。...先说第一种方式,也分为两种,一种叫参数 argument,一种叫选项 option。在laravel程序里,这两个名字没有变化。...}'; 假设上述类已经完成功能开发,在命令行中调用: php artisan password:reset 5 在代码中使用 $this->argument() 方法,打印其结果是一个数组,内容如下:...用法类似,获取单个的选项值,只要传入键名就可以了: $this->option('userId'); 为了演示两个方法的用法,我们为命令行调用方式声明两种获取参数的方式: protected $signature...写在最后 本文我们讲述了两个重要的概念,参数和选项。在设计命令行的时候一定要想清楚,规划好,到底用哪一个,在代码中才能有的放矢地读取。并且使用询问等待可以制作更多灵活的引导型程序,非常实用。

    87900

    【Laravel系列4.4】模型Eloquent ORM的使用(二)

    /framework/src/Illuminate/Database/Eloquent/Collection.php 对象,然后这个对象里面有个 items 属性,是一个数组。...而另外一个 map() 函数就不用多说了,之前我们说过,Laravel 的 PDO 在默认查询构造器的情况下,走的是 PDO::FETCH_OBJ ,获得的集合结果中的每个数据都是一个 stdClass...laravel/framework/src/Illuminate/Collections/Collection.php 是集合类,里面的方法大部分都调用的是 laravel/framework/src/...在所有模型都要继承的 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 类中,我们很快就能发现一个 query() 静态方法。...而不是我们之前 查询构造器 中的 laravel/framework/src/Illuminate/Database/Query/Builder.php 对象。

    2.8K20

    如何在Ubuntu 14.04上使用Ansible部署基本PHP应用程序

    介绍 本教程介绍使用Ansible配置基本PHP应用程序的过程。本教程结束时的目标是让您新Web服务器为基本的PHP应用程序提供服务,而无需在目标腾讯CVM上运行单个SSH连接或手动命令。...创建一个名为php.yml的新剧本。 nano php.yml 粘贴以下配置。前两行指定了我们希望使用的主机组(php),并确保它通过使用sudo来默认运行命令。其余的在模块中添加了我们需要的包。...接下来,我们还需要确保php5-mcrypt模块已启用。这是通过使用shell任务运行脚本php5enmod来完成的,并在启用时检查20-mcrypt.ini文件是否在正确的位置。...为此,我们需要使用该目录更新我们的Nginx默认配置,并为php-fpm添加支持,以便它可以处理PHP脚本。...您刚刚使用Composer在基于Ubuntu的Nginx Web服务器上部署了一个基本的PHP应用程序来管理依赖项!所有这些都已完成,无需直接登录到您的PHP腾讯CVM并运行单个手动命令。

    5.9K00

    Laravel 控制器:从 MVC 模式聊起

    1、控制器概述 到目前为止,我们定义的所有路由都是基于闭包函数实现的,前面已经提到过,随着应用体量的增长,不可能将所有路由都定义在单个文件中,且对于复杂的业务逻辑,闭包函数也不足以支撑,所以和其他 Web...3、获取用户输入 除了数据渲染之外,还可以在控制器中获取用户输入并进行处理,下面我们来看两个例子: Route::get('task/create', 'TaskController@create');...在 Laravel 中所有的控制器方法(包括构造函数)都会在服务容器中进行解析,这意味着所有方法中传入的可以被容器解析的接口/类型提示对应服务实现都会被自动注入,我们将这个过程称之为依赖注入。...5、资源控制器 有时候在编写控制器时命名方法名称可能是最困难的,好在 Laravel 为常见的 REST/CRUD 控制器(在 Laravel 中称之为「资源控制器」)提供了一套约定规则,并为此提供了相应的...$id . ' Link: ' . route('post.show', [$id]); } 在浏览器中访问 http://blog.test/post/1,页面显示如下: Post 1 Link:

    11.3K51
    领券