利用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中的加密功能
Oct 09 PHP
获得Google PR值的PHP代码
Jan 28 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
php mysql_real_escape_string函数用法与实例教程
Sep 30 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
如何实现php图片等比例缩放
Jul 28 PHP
PHP如何通过AJAX方式实现登录功能
Nov 23 PHP
Laravel模型间关系设置分表的方法示例
Apr 21 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 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
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php解决约瑟夫环示例
2014/04/09 PHP
php短址转换实现方法
2015/02/25 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
javascript动态加载三
2012/08/22 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
Vue Socket.io源码解读
2018/02/07 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
Python 忽略warning的输出方法
2018/10/18 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
新年主持词
2014/03/27 职场文书
单位工作证明格式模板
2014/10/04 职场文书
七年级数学教学反思
2016/02/17 职场文书
如何写好闭幕词
2019/04/02 职场文书
Python基础知识之变量的详解
2021/04/14 Python
python实现简单的井字棋
2021/05/26 Python
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js