关于PHPstorm打开laravel的代码提示的工具的方法

2023-10-29

关于PHPstorm打开laravel的代码提示的工具的方法。

1、composer 安装:composer require barryvdh/laravel-ide-helper

2、生成模型的工具:php artisan ide-helper:models

3、生成_ide_helper.php文件。php artisan ide-helper:generate

图片

安装
安装 larave-ide-helper

如果只想在开发环境安装请加上 --dev

composer require barryvdh/laravel-ide-helper
安装 doctrine/dbal 「请装上它,在为模型注释字段的时候必须用到它」

如果只想在开发环境安装请加上 --dev

composer require “doctrine/dbal: ~2.3”
在 「config/app.php」的 「providers」数组中加入

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class
如果你的 Laravel 版本小于 5.5 「如果没记错」的话,请注册服务提供者,否则请忽略

如果你只在开发环境中安装「larave-ide-helper」,那么可以在「app/Providers/AppServiceProvider.php」的「register」方法中写入下面代码:

public function register()
{
if ($this->app->environment() !== ‘production’) {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
// …
}
导出配置文件(如果默认配置就满足需求了,也可以忽略这一步)

php artisan vendor:publish --provider=“Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider” --tag=config
好了,接下去可以愉快的使用了

使用
php artisan ide-helper:generate - 为 Facades 生成注释
php artisan ide-helper:models - 为数据模型生成注释
php artisan ide-helper:meta - 生成 PhpStorm Meta file
自动为 Laravel 的 Facades 生成注释

在命令行下运行

php artisan ide-helper:generate
注:如果存在文件 「bootstrap/compiled.php」 需要先删除, 可以在生成文当前运行 php artisan clear-compiled。

自动为模型生成注释

为所有模型生成注释 php artisan ide-helper:models, 这时会出现询问:

Do you want to overwrite the existing model files? Choose no to write to _ide_helper_models.php instead? (Yes/No): (yes/no) [no]:
输入 yes 则会直接在模型文件中写入注释,否则会生成「_ide_helper_models.php」文件。建议选择 yes,这样在跟踪文件的时候不会跳转到「_ide_helper_models.php」文件,不过这么做最好对模型文件做个备份,至少在生成注释之前用 git 控制一下版本,以防万一。

提示: 为模型生成字段信息必须在数据库中存在相应的数据表,不要生成 migration 还没运行 migrate 的时候就生成注释,这样是得不到字段信息的。

自动为链式操作注释

这是什么意思呢?举个例子,在 migration 文件中经常可以看见这样的代码:

$table->string(‘email’)->unique();
这时候就算调用过了 php artisan ide-helper:generate,在调用像 ->unique() 这样的链式操作的时候也无法实现代码提示,这时候需要将配置文件「如果导出的话」‘include_fluent’ => false 修改为 ‘include_fluent’ => true,重新运行 php artisan ide-helper:generate。试试效果吧!

生成 .phpStorm.meta.php

可以生成一个 PhpStorm meta 文件去支持工厂模式。对于 Laravel, 这意味着我们可以让 PhpStorm 理解我们从 IoC 容器中解决了什么类型的对象。例如:事件将返回一个「Illuminate\Events\Dispatcher」对象,利用 meta 文件您可以调用 app (‘events’) 并且它将自动完成 Dispatcher 的方法。

app(‘events’)->fire();
\App::make(‘events’)->fire();

/** @var \Illuminate\Foundation\Application $app */
$app->make(‘events’)->fire();

// When the key is not found, it uses the argument as class name
app(‘App\SomeClass’);
提示:您可能需要重启 Phpstorm 使 .phpStorm.meta.php 文件生效。

自动运行 generate

想在依赖包更新是自动更新注释,可以在 composer.json 文件中做如下配置:

“scripts”:{
“post-update-cmd”: [
“Illuminate\Foundation\ComposerScripts::postUpdate”,
“php artisan ide-helper:generate”,
“php artisan ide-helper:meta”
]
}
提示:如果只在 dev 环境下部署 ide helper 还是不要这么做了,防止在生产环境中报错导致不必要的麻烦。

结尾
整个使用大概就是这样了,其实在 Laravel 5.5 以上版本只需要装上 “larave-ide-helper” 和 “doctrine/dbal: ~2.3” 这两个包,不用做什么配置就可以愉快的玩耍了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于PHPstorm打开laravel的代码提示的工具的方法 的相关文章

  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • 点击 %40 变为 %2540

    当单击包含 符号的链接时 该网址给我 40 这就是我想要的 但是一旦我点击它 一秒钟后它就在我点击后变成了 2540 单击是在电子邮件内 然后定向到网站 其中 40 更改为 2540 我怎样才能让它停止变化 它现在得到这样的参数 email
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia
  • 我可以让 swagger-php 在查询字符串上使用数组吗?

    我使用 Swagger php 当我定义查询字符串上的参数时 它可以是一个数组 但据我所知 它不支持这种查询字符串 https api domain tld v1 objects q 1 q 5 q 12 我相信这会被设定in the co
  • Smarty 如果 URL 包含

    使用 Smarty 标签我想确定 URL 是否包含单词 例如 if smarty get page contains product php 我知道 contains 不存在 但是我怎样才能轻松地编写类似的东西来实现上述代码呢 所有 PHP
  • Symfony2:为什么请求传递到受 Symfony2 中 AppCache 影响的 Kernel.Terminate EventListener

    在我的 Symfony2 2 应用程序中 我使用 onKernelTerminate EventListener 以便我可以在渲染响应后进行一些 繁重 处理 以便用户收到更快的响应时间 在我的控制器中 我在请求上设置了一个属性 以便当事件侦
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • php源代码到PO文件生成器

    我必须将我的所有回显 打印字符串转换为PHP源代码代码文件到PO file 为了语言翻译 有批次吗对流器可用于相同的 我如何做到这一点 make gettext在您的服务器上运行 setup a 翻译适配器 例如带有 gettext 适配器
  • Laravel S3 检索视频以流式传输

    我通过 Laravel 应用程序将视频存储到 Amazon S3 效果很好 但我无法 流式传输 它们 这是例如 URL https website com video 342 qt api token a5a18c9f f5f6 5d66
  • get url 重定向时 File_get_contents() 不起作用

    我正在使用的功能是 function http post url data data url http build query data data len strlen data url date default timezone set
  • 媒体的 Google Cloud Storage 签名网址

    我已经建立了一个视频网站 为用户提供 m3u8 和关联的 ts 文件 我不希望媒体文件免费可用 所以我所做的是 当用户在网站上时 在 mysql 中使用他们的 IP 和令牌创建一个会话 当他们请求特定媒体子域 mp4 domain com
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 如何纠正这个非法字符串偏移?

    我收到此错误 警告 第 32 行 home mysite public html wp content themes evento lib php extra class php 中的非法字符串偏移 type 我意识到文件中的这部分代码是错
  • 对 SimpleXML 数据进行排序和分组

    我正在对 XML 文件中的出版物数据进行排序和分组 我目前使用的方法效果很好大部分情况下 尽管我觉得有一种更有效的方法来完成我想要完成的任务 以下是目标节点的示例
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • Facebook 应用程序无法获取会话

    我正在 Heroku 上为 Facebook 开发一个非常基本的 PHP 应用程序 它显示非常基本的用户信息 如姓名 个人资料图片 但该应用程序在 getToken 方法中停止 我在登录我的个人资料后尝试了该应用程序 但仍然出现相同的消息
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get

随机推荐

  • SUSAN边缘检测

    核同值区 USAN 相对于模板的核 模板中总有一定的区域与它有相同的灰度 这部分区域称为USAN区域 当核像素处在图像中的灰度一致区域 USAN的面积最大 当核处在直边缘处面积约为最大值的一半 当核处在角点处时则为最大值的1 4 因此 使用
  • 洛谷 P1009 [NOIP1998 普及组] 阶乘之和

    题目链接 https www luogu com cn problem P1009 思路 计算阶乘相当于大整数 1 1 1 依次乘以 1 n 1 sim n
  • unity日记4(鼠标键盘交互、实例)

    目录 鼠标事件 鼠标点击 抬起 长按事件 键盘事件 键盘点击 抬起 长按事件 键盘键位替换 实例 鼠标 音乐播放 暂停 实例 调用其他对象的组件 双方法 实例 调整其他对象的公有参数 鼠标事件 鼠标点击 抬起 长按事件 左键0 右键1 中键
  • pytorch学习笔记 —— torch.nn.LSTM

    使用 torch nn LSTM 可以方便的构建 LSTM 不熟悉 LSTM 的可以先看这两篇文章 RNN https blog csdn net yizhishuixiong article details 105588233 LSTM
  • Android 系统编译之内核编译

    本来想超频自己的手机的 于是发现需要编译内核才能实现 作为Android开发者的我 没有任何内核编译经验 只是想试一下 于是折腾了两天终于把内核成功编译出来了 现在分享下学习经验 我的是小米手机 其实我看了一下github 其他手机的内核开
  • 两天内,清华、北大发布三则讣告

    点击上方 视学算法 选择加 星标 或 置顶 重磅干货 第一时间送达 本文来源 北京大学法学院 清华大学建筑学院 沉痛悼念 两天内 清华 北大发布三则讣告 12月26日 北京大学法学院发布两则讣告 著名国际法专家邵津教授和著名国际私法专家孙蓉
  • 秒懂大小端:

    判断大小端代码 int temp 1 char p char temp if p 1 printf 小端模式 else printf 大端模式
  • Ant Design Pro V5精讲(基础篇九):TypeScript入门

    解决什么技术痛点 JavaScript是一门灵活的编程语言 但它的缺陷是没有类型约束 隐藏类型转换 var的作用域问题等 在编程中我们有一个共识 错误出现的越早越好 写代码出错比代码编译出错好 代码编译出错比代码运行期间出错好 开发阶段出错
  • 金融级云原生探索实践系列 - 开篇

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 由蚂蚁金服主办的 SOFAStack Cloud Native Workshop 将在 6月24日于 KubeCon CloudNativeCon Open Source
  • 支持向量回归删除异常值Python

    1 支持向量回归 SVR 原理 支持向量回归 Support Vector Regression SVR 不仅可以用于预测 还可以用于异常值检测 其基本思路是训练一个回归模型 通过对每个数据点进行预测 并计算其预测残差 来判断该数据点是否为
  • 利用树莓派3和RTL-SDR V3搭建一个低成本的QRP小功率监测点

    TUTORIAL SETTING UP A LOW COST QRP FT8 JT9 WSPR ETC MONITORING STATION WITH AN RTL SDR V3 AND RASPBERRY PI 3 QRP是无线电通讯简语
  • centos7中安装docker,并安装mysql5.7

    参考地址 https www runoob com docker centos docker install html centos7中安装docker Docker从1 13版本之后采用时间线的方式作为版本号 分为社区版CE和企业版EE
  • python做项目管理_python项目实现配置统一管理的方法

    一个比较大的项目总是会涉及到很多的参数 最好的方法就是在一个地方统一管理这些参数 最近看了不少的python项目 总结了两种很有意思的配置管理方法 第一种 基于easydict实现的配置管理 首先需要安装numpy easydict以及ya
  • HCIP第十天作业

    要求及拓扑图 第一步 配IP 给AS2上的路由各配两个环回 其中一个是建邻用的 其他按正常配 第二步 给AS2上的路由配一个OSPF协议 并且将用户环回改成广播通信 第三步 起BGP协议 R1 R8直连 64512跟64513是两个联邦 所
  • 2.比较运算符逻辑运算符

    比较运算符逻辑运算符 比较运算符 比较运算符 gt 大于 lt 小于 等于 gt 大于等于 lt 小于等于 不等于 注 Infinity Infinity NaN NaN 比较结果为true或者false 字符串比较时是比较ASCII码的值
  • SaaS部署和私有化部署的区别及各自的优点

    以前开发一个软件如果想要在企业内运行就必须要安装在本地的服务器上 这就导致企业除了需要支付软件开发的费用之外 还需要支付服务器的费用 但是随着软件开发技术的不断发展 现在很多软件都不需要安装服务器用户通过互联网就能够访问到软件获得服务 这就
  • S7-1500项目案例程序,带5个S7-1200轮询,5个ET200SP

    S7 1500项目案例程序 带5个S7 1200轮询 5个ET200SP 博图软件编程 PTO脉冲模式控制20个轴 100个气缸 与2台机器人联动 采用ModbusRTU 485通讯 PROFINET IO智能通讯 PTP RS232自由口
  • 怎么查服务器的配置信息,怎么查自己服务器的配置信息

    怎么查自己服务器的配置信息 内容精选 换一换 精简视图提供了云服务器资源概况和状态的可视化统计结果 帮助您直观的了解云服务器资源 在精简视图中 您可以快速获取弹性云服务器基本信息 登录信息 配置信息 监控信息 精简视图提供了云服务器资源概况
  • git clone 报错SSL connect error

    在一台centos上搭建frp的时候遇到了这个问题 做下记录 问题提示 fatal unable to access https github com fatedier frp git SSL connect error 原因 缺少相应的库
  • 关于PHPstorm打开laravel的代码提示的工具的方法

    关于PHPstorm打开laravel的代码提示的工具的方法 1 composer 安装 composer require barryvdh laravel ide helper 2 生成模型的工具 php artisan ide help