DukeAnn
做一个优雅的程序员

使用PHPStorm开发laravel的代码提示-自动完成

Laravel 是一个免费的开源的PHP框架,它建立在Symfony 组件之上、提供了使日常开发所用到的诸如认证、路由、sessions和缓存管理的实现变得更加容易的框架。
在这个教程里,我们将看到使用Phpstorm的Laravel插件和Laravel IDE helper来充分利用PhpStorm开发Laravel应用的巨大好处。但是最好还是先了解一下PhpStorm的相关教程和在Laracast上的PhpStorm教程,这些教程可以让你学到更多的关于使用PhpStorm来进行Laravel 和 PHP 开发的知识。

事前准备(插件安装和配置)

PhpStorm 为PHP 提供了代码补全、导航、自动检查、重构等诸多特性。它同时也支持Laravel的模板引擎–Blade。使用Laravel插件和Laravel IDE 助手,我们可以让Phpstorm更好的支持Laravel。下面我们将介绍如何安装这些插件:
开始的时候需要一些初始化的安装工作,不过别担心,这些都是一次性的。完成这些设置工作就可以确保PhpStorm能够对Laravel 提供完全的支持,包括代码补全、导航、Composer支持、Artisan 命令行工具和扩展的Blade语法。

1. 确保Composer初始化

所有工作开始之前,我们必须确保PhpStorm里的Composer已经完成初始化和配置。先打开一个Laravel 项目,然后在project tool 窗口选择根节点、然后右键->Composer | Init composer 。 如果你的电脑里没有composer.phar,可以点击链接来下载。
这里写图片描述

2. 安装 Laravel IDE 助手

安装好Composer以后,我们就可以开始安装Laravel IDE helper 了。同样我们再项目的根节点上右键,弹出菜单选择 Composer | Add dependency… 然后搜索 barryvdh/laravel-ide-helper. 点击Install 就把这个插件安装到我们的项目里了。

这必须要说明一下,如果在添加packages的时候出现错误,无法下载list.json。需要更新你的JDK到1.8,然后修改/Applications/PhpStorm.app/Contents/Info.plist
JVMVersion 1.6*
变成
JVMVersion 1.8*
这里的修改方法针对mac os 用户有效,至于windows 用户 请自行google。
如果还是有问题,请设法到墙外去。

这里写图片描述
安装好了以后,我们需要把 Laravel IDE helper 作为 ServiceProvider 添加到项目里. 找到项目的 app/config/app.php file, 在 providers element 下面添加 ‘Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider’, 类似这个样子 :

<?php
return array(
    // ...

    'providers' => array(
        // ...

        'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', // Laravel IDE helper

    ),

    // ...
);

Laracasts 上有关于添加Laravel IDE Helper的视频教程,可以参考。

3. 使用 Artisan 来生成PHPDoc Helper 文件

装好 Laravel IDE Helper 以后,我们可以用artisan 来生成 PHPDoc helper 文件, PhpStorm 和 Laravel plugin 依据这个文件来完成代码补全和导航的功能。最简单的办法是添加artisan 命令行工具。依次点击 Preferences下的Tools | Command Line Tool Support. 工具类型选择 Tool based on Symfony Console. 接下来填好 artisan 的路径

如果你是windows 用户,应该在setting 下

这里写图片描述

如果提示:Problem Failed to determine version.错误的话 点击这条链接
保存以后,我们就可以在编辑器内部使用artisan命令了,爽吧?菜单下的 Tools | Run Command… menu (快捷键 Ctrl+Shift+X, Mac OS X 下的是 CMD+Shift+X ) ,全部artisan 命令都支持. 运行 artisan ide-helper:generate 命令,就可以生成 PHPDoc 信息了。
这里写图片描述

提示
在添加了services, controllers, models and views 以后,需要运行Laravel IDE Helper 。 Laravel IDE Helper GitHub 主页上有关于什么时候运行的提示, 举个例子就是在安装或者更新Composer依赖以后,你需要运行一下。另外一个方法是使用 PhpStorm 里的 File Watchers 来自动生成,比如composer.json被更新了。

4. 安装并激活 Laravel Plugin

在 Settings (Preferences) | Plugins 下, 点击 Browse repositories… 按钮然后搜索 Laravel。然后点击安装。
这里写图片描述
需要重启PhpStorm来完成安装,接下来,是激活的过程,依次是 Settings (Preferences) | Other Settings | Laravel Plugin | Enable Plugin for this Project. 然后还是一次重启过程。

如果现在插件的代码补全和导航有问题,可以通过File | Invalidate Caches / Restart 来重新建立索引。有时候还得使用 artisan clear-compiled 和 artisan ide-helper:generate 这两个命令。

设置到这里基本就结束了,接下来就是见证奇迹的时刻了。
让我们先了解一下Laravel plugin 的特性。
代码自动补全还有Controllers和 Routes的导航。当需要指向一个controller的时候,我们可以使用代码补全功能,快捷键是Ctrl+Space (CMD+Space on Mac OS X) 然后从弹出的列表中选择用到的controller. 这个功能在Redirect 和 Route 里非常常用。
这里写图片描述
这里写图片描述

还有两个常用的快捷键,分别是跳转到controller, Ctrl+Click (CMD+Click on Mac OS X) 和 跳转到声明Declaration (Ctrl+B / CMD+B)。按住Ctrl or CMD , 鼠标移动到关键词上就会显示该函数的细节。
这里写图片描述
视图中的代码补全和导航
使用 View facade, 我们可以引用 Blade 模板 (或者 view). Laravel plugin 提供了视图名的代码补全功能 :
这里写图片描述
和 controllers 里一样,我们同意可以使用 Ctrl+Click (CMD+Click on Mac OS X) 跳转到视图,或者用 (Ctrl+B / CMD+B) 跳转到声明, PhpStorm 允许我们直接跳转到 Blade template. 按住 Ctrl / CMD 把鼠标移动到关键词上显示更多细节。
这里写图片描述

配置和服务的代码补全和导航
当使用Configuration facade进行Laravel配置的时候,代码补全功能也是有效的。
这里写图片描述
同样,针对services也可以完成代码补全。
这里写图片描述

还是老办法,向导航到配置的入口,可以使用 Ctrl+Click (CMD+Click on Mac OS X) ,跳转到定义用 (Ctrl+B / CMD+B). 按住Ctrl 或者 CMD 然后鼠标悬停,就显示更多细节。如果有多个定义 PhpStorm 允许我们选择我们到底是想导航到哪一个。
这里写图片描述
至于说 Laravel services 操作方法是一样的。
这里写图片描述
翻译的代码补全和导航
使用 Lang facade, 我们能得到那些已经被翻译过的字符串。Laravel plugin安装好以后,使用Lang::get() 然后Ctrl+Space (CMD+Space on Mac OS X) 就能选择翻译过的字符串的自动补全。
这里写图片描述
按住Ctrl 或者 CMD,鼠标悬停,可以看到翻译关键字的定义。用 (Ctrl+B / CMD+B) 跳转到定义。通常一个关键字可能有多个翻译, Laravel plugin 就显示一个文件列表供我们选择。

DukeAnn的笔记本:DukeAnn的博客 » 使用PHPStorm开发laravel的代码提示-自动完成
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址