利用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 XML操作类DOMDocument
Dec 16 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
PHP实现下载功能的代码
Sep 29 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
php blowfish加密解密算法
Jul 02 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
Jul 18 PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 01 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 include,include_once,require,require_once
2008/09/05 PHP
PHP 创建文件(文件夹)以及目录操作代码
2010/03/04 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
解决vue attr取不到属性值的问题
2018/09/18 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
Python 专题四 文件基础知识
2017/03/20 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
2019/04/15 Python
Python实现12306火车票抢票系统
2019/07/04 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
运动会广播稿30字
2014/01/21 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
无房证明样本
2015/06/17 职场文书
公司保洁员管理制度
2015/08/04 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书
bose降噪耳机音能消除人声吗
2022/04/19 数码科技
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android