利用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 Memcached应用实现代码
Feb 08 PHP
php定义数组和使用示例(php数组的定义方法)
Mar 29 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
php错误日志简单配置方法
Jul 11 PHP
Yii的Srbac插件用法详解
Jul 14 PHP
php如何执行非缓冲查询API
Jul 22 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
实例讲解php实现多线程
Jan 27 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
Oct 23 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
PHP与已存在的Java应用程序集成
2006/10/09 PHP
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
JS修改css样式style浅谈
2013/05/06 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
Windows系统下Node.js的简单入门教程
2015/06/23 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
详解javascript replace高级用法
2019/02/17 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
python实现的登录和操作开心网脚本分享
2014/07/09 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
使用Turtle画正螺旋线的方法
2017/09/22 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
python单例模式的多种实现方法
2019/07/26 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
中秋晚会策划方案
2014/06/12 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
nginx结合openssl实现https的方法
2021/07/25 Servers