利用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
PHP中根据IP地址判断城市实现城市切换或跳转代码
Sep 04 PHP
PHP 解决session死锁的方法
Jun 20 PHP
解析isset与is_null的区别
Aug 09 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
php中in_array函数用法探究
Nov 25 PHP
apache中为php 设置虚拟目录
Dec 17 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
基础的WordPress插件制作教程
Nov 24 PHP
php生成带logo二维码方法小结
Apr 08 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 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中session跨子域的三种实现方法
2016/07/25 PHP
laravel学习笔记之模型事件的几种用法示例
2017/08/15 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
JavaScript延迟加载
2021/03/09 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
详谈DOM简介及节点、属性、查找节点的方法
2017/11/16 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
Python学习资料
2007/02/08 Python
深入理解Django的自定义过滤器
2017/10/17 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
python计算导数并绘图的实例
2020/02/29 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
HTML5拖拉上传文件的简单实例
2017/01/11 HTML / CSS
阿里旅行:飞猪
2017/01/05 全球购物
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
给客户的道歉信
2014/01/13 职场文书
行政助理的岗位职责
2014/02/18 职场文书
入党推优材料
2014/06/02 职场文书
单位推荐信范文
2015/03/27 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
Python中如何处理常见报错
2022/01/18 Python
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python