利用PHPStorm如何开发Laravel应用详解


Posted in PHP onAugust 30, 2017

前言

相信有很多PHP程序员使用 [laravel] 创建他们的应用程序。[laravel] 是一个免费开源的PHP web应用程序框架。它基于多个Symfony 组件,提供了一个开发框架,包括authentication, routing, sessions, caching 等模块.

去年夏天, 我们介绍了 支持Blade 。blade 是Laravel的模板语言, 对艺术家友好,这个Laravel程序员的命令行工具, 可以在PhpStorm中工作. 使用 Laravel 插件 和 Laravel IDE 帮助器, 我们可以进一步扩展PhpStorm对Laravel应用的支持。下面让我们看怎么做!

安装Laravel IDE 助手

官方方式

首先确认 Composer 在我们的项目中是可用的, 我们可以使用 Composer | Add dependency… 右键菜单安装 [Laravel 5 IDE Helper Generator] 到我们的项目. 搜索 barryvdh/laravel-ide-helper,并且点击Install下载并添加到项目.

[译注]自助方式

因为我们是在项目中使用, 所以我们在项目中添加这个功能, 在 composer.json 中添加 require-dev 分支
laravel 4.* , 这里的版本应该填写 1.*

"require-dev": {
  // ...
  "barryvdh/laravel-ide-helper": "2.*"
  // ...
},

然后使用命令 composer update -vvv 来更新程序包

注册 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider' 服务到我们的应用, 即写入到 config/app.php 中的 provider中 , 这样在 artisan list 中便存在了ide-helper的命令, 运行 artisan ide-helper:generate, PhpStorm就会有代码完成功能,并且有Laravel的语法高亮.

PhpStorm中的Laravel插件

为了进一步提升我们的Laravel体验,我们也可以安装Laravel插件. 在 Settings (Preferences) | Plugins, 点击 Browse repositories… 按钮并搜索Laravel. Install plugin 按钮会下载并安装插件到IDE.

利用PHPStorm如何开发Laravel应用详解

重启IDE 并启用插件( Settings (Preferences) | Other Settings | Laravel Plugin | Enable Plugin for this Project). PhpStorm知道Laravel的界面做什么, 并且提供(controllers,views, routes, configuration, translations、等)的代码完成功能!

当然不只是代码自动完成,使用 Ctrl+Click (CMD+Click Mac OS X) 或者 Go To Declaration(转到定义) (Ctrl+B / CMD+B), PhpStorm 将会导航到那里, 比如配置项的声明。

关于使用 Blade 模板,Laravel 插件也可以提高体验, 比如:@section 指令的自动完成.

想了解更多吗? 查看我们的 Laravel教程,这里包含了 PhpStorm 为 Laravel 开发准备的全部东西, 包括代码自动完成,导航,自动代码检查,命令行工具支持,调试和单元测试!

还可以在composer.json的post-update-cmd中加入命令保证 helper在每次update的时候都会更新,如下:

"post-update-cmd": [
  "php artisan clear-compiled",
  "php artisan ide-helper:generate",
  "php artisan optimize"
 ],

另外,如果你的model是extend的Eloquent,这个插件还可以给项目中的model添加phpDoc,直接显示字段名,便于阅读,用法

php artisan ide-helper:models User

需要修改composer.json,在 require-dev段添加

"require-dev": {  
  "doctrine/dbal": "~2.3"
},

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

参考文章:

使用 PHPStorm 开发 Laravel 应用

Laravel Development using PhpStorm

PHP 相关文章推荐
PHP编程之高级技巧——利用Mysql函数
Oct 09 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
yii去掉必填项中星号的方法
Dec 28 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 #PHP
PHP单例模式与工厂模式详解
Aug 29 #PHP
PHP迭代与递归实现无限级分类
Aug 28 #PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 #PHP
PHP大文件分割上传 PHP分片上传
Aug 28 #PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 #PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 #PHP
You might like
ajax缓存问题解决途径
2006/12/06 PHP
php HtmlReplace输入过滤安全函数
2010/07/03 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
php生成无限栏目树
2017/03/16 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
Javascript中数组方法汇总(推荐)
2015/04/01 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
python实现的udp协议Server和Client代码实例
2014/06/04 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
python删除特定文件的方法
2015/07/30 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
Python过滤序列元素的方法
2020/07/31 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
《阳光》教学反思
2014/02/23 职场文书
股东出资证明书范例
2014/10/04 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
结婚通知短信大全
2015/04/17 职场文书