利用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中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP实现的构造sql语句类实例
Feb 03 PHP
php数据访问之查询关键字
May 09 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
详解PHP数据压缩、加解密(pack, unpack)
Dec 17 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP递归的三种常用方式
Feb 28 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
建立动态的WML站点(二)
2006/10/09 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
完美的php分页类
2017/10/24 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
jquery改变tr背景色的示例代码
2013/12/28 Javascript
JavaScript模拟push
2016/03/06 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
Linux中Python 环境软件包安装步骤
2016/03/31 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
用Python逐行分析文件方法
2019/01/28 Python
python处理大日志文件
2019/07/23 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
德国自行车商店:Tretwerk
2019/06/21 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
简述数组与指针的区别
2014/01/02 面试题
班组长安全生产职责
2013/12/16 职场文书
初中成绩单评语
2014/12/29 职场文书
售后服务质量承诺书
2015/04/29 职场文书
文艺节目主持词
2015/07/06 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书