利用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 CLI实现简单的数据库实时监控调度
Jul 01 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
10个可以简化php开发过程的MySQL工具
Apr 11 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
thinkphp3.2点击刷新生成验证码
Feb 16 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
php微信公众号开发模式详解
Nov 28 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
奇怪的PHP引用效率问题分析
2012/03/23 PHP
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
Laravel 队列使用的实现
2019/01/08 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
采用call方式实现js继承
2014/05/20 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
NodeJS链接MySql数据库的操作方法
2017/06/27 NodeJs
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
Python实现网络端口转发和重定向的方法
2016/09/19 Python
Linux下python制作名片示例
2018/07/20 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
使用Python 统计高频字数的方法
2019/01/31 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
PyTorch之图像和Tensor填充的实例
2019/08/18 Python
python类的实例化问题解决
2019/08/31 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
Django实现celery定时任务过程解析
2020/04/21 Python
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
代码中finally中的代码会不会执行
2012/02/06 面试题
正风肃纪剖析材料
2014/09/30 职场文书
婚宴邀请函
2015/01/30 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
Python实现简单的猜单词
2021/06/15 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android