利用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 相关文章推荐
PHP4之COOKIE支持详解
Oct 09 PHP
php xfocus防注入资料
Apr 27 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
神盾加密解密教程(一)PHP变量可用字符
May 28 PHP
一组PHP加密解密函数分享
Jun 05 PHP
php强制更新图片缓存的方法
Feb 11 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
CI框架中数据库操作函数$this->db->where()相关用法总结
May 17 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
PHP echo()函数讲解
Feb 15 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 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的urlencode()URL编码函数浅析
2011/08/09 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
javascript中this的四种用法
2015/05/11 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
python实现简单的socket server实例
2015/04/29 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
python实现彩票系统
2020/06/28 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
详解python 内存优化
2020/08/17 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
关于环保的建议书400字
2014/03/12 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
出生证明范本
2015/06/15 职场文书
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers