利用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编程之高级技巧——利用Mysql函数
Oct 09 PHP
php下安装配置fckeditor编辑器的方法
Mar 02 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
配置php网页显示各种语法错误
Sep 23 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 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做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
Python的Django框架中settings文件的部署建议
2015/05/30 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python的range和linspace使用详解
2019/11/27 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
金融事务专业求职信
2014/04/25 职场文书
个人授权委托书模板
2014/09/14 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
少先队中队工作总结2015
2015/07/23 职场文书
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
深入浅出讲解Java8函数式编程
2022/01/18 Java/Android
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers