laravel开发扩展记录
whoops 错误提示扩展
whoops 是一个非常优秀的 PHP Debug 扩展,它能够使你在开发中快速定位出错的位置。laravel默认安装。
区域 1 —— 是错误异常的简介
区域 2 —— 是错误发生的位置
区域 3 —— 是程序调用堆栈,这里看到脚本调用的顺序
区域 4 —— 是一些运行环境的信息,包括:
GET Data —— 用户提交的 GET 请求,PHP 超级全局变量 $_GET 里的内容
POST Data —— 表单提交的数据,PHP 超级全局变量 $_POST 里的内容
Files —— 用户上传文件的数据,PHP 超级全局变量 $_FILES 里的内容
Cookies —— 当前用户的 Cookie 信息,PHP 超级全局变量 $_COOKIE 里的内容
Session —— 当前用户会话信息,PHP 超级全局变量 $_SESSION 里的内容
Server/Request Data —— PHP 超级全局变量 $_SERVER 里的内容
Environment Variables —— 项目 .env 里的内容
Auth 认证扩展
Laravel 自带的用户认证功能,可以利用此功能来快速构建用户中心。
首先执行认证脚手架命令,生成代码:
php artisan make:auth
make:auth 命令为我们生成了 resources/views/auth 下的四个文件:
| 视图名称 | 说明 |
|---|---|
| register.blade.php | 注册页面视图 |
| login.blade.php | 登录页面视图 |
| passwords/email.blade.php | 提交邮箱发送邮件的视图 |
| passwords/reset.blade.php | 重置密码的页面视图 |
此命令会修改 routes/web.php 里的内容:
Route::get('/', 'PagesController@root')->name('root');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
默认以/home为登录成功的主页,集成了用户登录,注册,退出登录等功能。
mews/captcha 验证码扩展
mews/captcha是一个第三方验证码扩展包
使用 Composer 安装:
composer require "mews/captcha:~2.0"
以laravel为例运行以下命令生成配置文件 config/captcha.php:
php artisan vendor:publish --provider='Mews\Captcha\CaptchaServiceProvider'
我们可以打开 config/captcha.php 配置文件,可以看到这些配置选项都非常通俗易懂,characters 选项是用来显示给用户的所有字符串,default, flat, mini, inverse 分别是定义的四种验证码类型,你可以在此修改对应选项自定义验证码的长度、背景颜色、文字颜色等属性。
captcha_src()方法是 mews/captcha 提供的辅助方法,用于生成验证码图片链接。- 『验证码』区块中 onclick() 是 JavaScript 代码,实现了点击图片重新获取验证码,允许用户在验证码太难识别的情况下换一张图片。
mews/captcha是专门为 Laravel 量身定制的扩展包,能很好的兼容 Laravel 生成的注册逻辑。我们只需要在注册的时候,添加上表单验证规则'captcha' => 'required|captcha'即可。
overtrue/laravel-lang 语言包扩展
GitHub 扩展包 - overtrue/laravel-lang 来对 Laravel 提供默认提示信息添加多语言版本翻译。
使用 Composer 安装:
composer require "overtrue/laravel-lang:~3.0"
Laravel 为验证消息支持多语言方案,我们可以通过添加一个如 resources/lang/xx/validation.php 语言包,并在语言包的 custom 数组中对翻译语言进行设定即可:
'custom' => [
'email' => [
'required' => '邮箱地址不能为空!',
],
],
Carbon 时间操作扩展
Carbon 是 PHP 知名的 DateTime 操作扩展,Laravel 将其默认集成到了框架中。diffForHumans 是 Carbon 对象提供的方法,默认情况是英文的,如果要使用中文时间提示,则需要对 Carbon 进行本地化设置。对 Carbon 进行本地化的设置很简单,只在 AppServiceProvider 中调用 Carbon 的 setLocale 方法即可,AppServiceProvider 是框架的核心,在 Laravel 启动时,会最先加载该文件。
Intervention/image 图像处理扩展
Intervention/image 扩展包是图像处理包
使用 Composer 安装:
composer require "intervention/image"
执行以下命令获取配置信息:
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
运行成功之后打开 config/image.php 文件可以看到只有一个驱动器的选项,支持的值有 GD 库 和 ImageMagic,如果将要开发的项目需要较专业的图片,请考虑 ImageMagic。
Laravel 5.x Scaffold Generator 自动代码扩展
开发时遵守的代码风格是 Laravel 项目开发规范。遵照此规范,在实际操作中,有许多重复,接下来推荐一款专为此规范量身定制的代码生成器 —— Laravel 5.x Scaffold Generator 。代码生成器能让你通过执行一条 Artisan 命令,完成注册路由、新建模型、新建表单验证类、新建资源控制器以及所需视图文件等任务,不仅约束了项目开发的风格,还能极大地提高我们的开发效率。可以利用此扩展来快速构建项目原型。
composer require "summerblue/generator:~0.5" --dev
例子:
php artisan make:scaffold xxx(表名) --schema="title:string:index(表数据结构)"
代码生成器会为我们做下列的事情:
- 创建数据库迁移文件 —— xxxx_create_xxx_table.php;
- 创建数据工厂文件 —— xxxFactory.php;
- 创建数据填充文件 —— xxxTableSeeder.php;
- 创建模型基类文件 —— Model.php, 并创建话题数据模型;
- 创建控制器 —— xxxController.php;
- 创建表单请求的基类文件 —— Request.php,并创建请求验证类;
- 创建话题模型事件监控器 xxxObserver 并在 AppServiceProvider 中注册;
- 创建授权策略基类文件 —— Policy.php,同时创建话题授权类,并在 AuthServiceProvider 中注册;
- 在 web.php 中更新路由,新增话题相关的资源路由;
- 新建符合资源控制器要求的三个话题视图文件,并存放于 resources/views/xxx 目录中;
- 执行了数据库迁移命令 artisan migrate;
- 因此次操作新建了多个文件,最终执行 composer dump-autoload 来生成 classmap。
laravel-debugbar debug扩展
使用 Composer 安装:
composer require "barryvdh/laravel-debugbar:~3.1" --dev
生成配置文件,存放位置 config/debugbar.php :
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
打开 config/debugbar.php,将 enabled 的值设置为:
'enabled' => env('APP_DEBUG', false)
修改完以后, Debugbar 分析器的启动状态将由 .env文件中 APP_DEBUG 值决定。
刷新列表页面即可看到我们的网页底部多了一个开发者工具栏点开后可以查看网页的运行情况包括sql的执行情况,极大地方便了页面的调优。
目前就写到这里,以上都是比较基本常用的laravel 网站扩展。后续还会为大家带来一些最新的技术扩展。
laravel开发扩展记录的更多相关文章
- laravel composer 扩展包开发(超详细)
laravel composer 扩展包开发(超详细) 置顶 2018年02月05日 11:09:16 Simael__Aex 阅读数:10396 版权声明:转载请注明出处:http://blo ...
- SmartWiki开发日记之Laravel缓存扩展
SmartWiki简介请阅读: http://www.cnblogs.com/lifeil/p/6113323.html 因为SmartWiki的演示站点部署在阿里云上,阿里云有一个128M免费的Me ...
- 真实世界:使用WCF扩展记录服务调用时间
WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服 ...
- 使用WCF扩展记录服务调用时间
随笔- 64 文章- 0 评论- 549 真实世界:使用WCF扩展记录服务调用时间 WCF 可扩展性 WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Lay ...
- PHP-CPP开发扩展(一)
PHP-CPP是一个用于开发PHP扩展的C++库.PHP-CPP提供了一系列完善的文档.易于使用和扩展的类,让你可以相对快速的创建PHP的原生扩展. 为什么使用PHP-CPP 很快 用C++编写的代码 ...
- 翻译:Laravel-4-Generators 使用自己定义代码生成工具高速进行Laravel开发
使用自己定义代码生成工具高速进行Laravel开发 这个Laravle包提供了一种代码生成器,使得你能够加速你的开发进程.这些生成器包含: generate:model – 模型生成器 generat ...
- WCF扩展记录服务调用时间
WCF 提供了许多扩展点供开发人员自定义运行时行为. WCF 在 Channel Layer 之上还提供了一个高级运行时,主要是针对应用程序开发人员.在 WCF 文档中,它常被称为服务模型层(Serv ...
- 后台接口平台 基于Laravel 开发 快速开发数据接口
laravelPCMS V1.5.0 项目地址:https://github.com/q1082121/laravelcms 喜欢的朋友可以支持下 点点星标 百牛信息技术bainiu.ltd整理发布于 ...
- laravel 开发辅助工具
laravel 开发辅助工具 配置 添加服务提供商 将下面这行添加至 config/app.php 文件 providers 数组中: 'providers' => [ ... App\Plug ...
随机推荐
- layui 时间选择器 不要秒的选项
通过修改 CSS 样式可以隐藏秒的选项 ++ .laydate-time-list{padding-bottom:0;overflow:hidden} .laydate-time-list>li ...
- day35 守护进程、互斥锁、IPC
day35 守护进程.互斥锁.IPC 1.守护进程 # 守护进程:当父进程执行完毕后,设置的守护进程也会跟着结束# 当一个进程被设置为守护进程后,其不能再产生子进程 from multiproces ...
- [Comet OJ - Contest #6 C][48C 2279]一道树题_树
一道树题 题目大意: 给定一棵树,边的编号为读入顺序.现在规定,区间$[L, R]$的贡献$S(L,R)$为把编号在该区间里的边都连上后,当前形成的森林中点数大于等于$2$的联通块个数. 求$\sum ...
- 【Python】【demo实验7】【练习实例】【完全平方数相关】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...
- 记日杂-log4net组件使用
下面我给大家介绍一下记日杂-log4net组件使用,当程序发布有服务器上,有时出现了错误, 都不知道出现在那,所以log4net组件很好解决这个问题. 1.添加开发包,并对log4net.dll的引用 ...
- tp5定时任务
第一步: a.App/模块/ 下创建command文件夹 b.我这边是创建在crontab模块里面,在command文件夹下创建一个Task.php文件(具体名字自己根据需求定) c.复制下面的代码到 ...
- Elastic Search 分布式架构分析
1 ES分布式机制的透明隐藏特性ES本身就是一个分布式系统,就是为了处理海量数据的应用.ES隐藏了复杂的分布式机制,简化了配置和操作的复杂度.ES在现在的互联网环境中,盛行的原因,主要的核心就是分布式 ...
- INPUT和CONSTRUCT指令——范例报表查询,作用让用户输入数据,自动生成SQL的WHERE条件,带开窗查询
INPUT指令 说明:1. 当程序执行到INPUT指令时,会将控制权交给用户,让用户输入数据.2. 用户输入完字段的数据,会将数据回传给程序中的变量接收.3. 只要执行到INPUT的指令,程序会将每个 ...
- 【二分】Shell Pyramid
[来源]:2008年哈尔滨区域赛 [题目链接]: http://acm.hdu.edu.cn/showproblem.php?pid=2446 [题意] 题目是真的长呀,其实就问一个问题. 按照图里面 ...
- 3.Shell的基本功能
3.Shell的基本功能Bash是Bourne-Again Shell的缩写.Bourne Shell的内部命令在Bash中同样适用.3.1 Shell语法3.1.1 Shell操作shell读取和执 ...