IDEA激活码 (2020-12-03)

ide-helper——解决php的万恶之源

本文介绍php开发中必备的一个工具ide-helper,github主页为:https://github.com/barryvdh/laravel-ide-helper。本工具主要用于eloquent作为orm框架时的开发。

php开发中的万恶之源——字符串问题

由于php是弱类型语言,导致很多开发者养成了使用数组索引访问变量值的不良习惯,比如,User['name']。这种访问方式有以下缺点:

  1. 开发效率低。每个索引都是一个字符串,每个字母都敲下来是一个很大的很枯燥的工作量。
  2. 安全性低。手写字符串容易出错,一旦索引错误,则会导致一个runtimeException。意味着无法在开发时发现错误,只有在程序运行时才能发现错误。导致系统安全性和健壮性永远处在一个非常低的水平。而且导致的逻辑bug调试成本将非常高。
  3. 无法重构。这种开发方式重构只能使用全局替换的方式。这种重构方式非常危险。将导致开发者为防止错误,消极重构,最后系统越来越烂,无法维护。

为什么要使用ide-helper

如何解决此问题?

php提供了phpDoc实现代码提示的功能。某些编辑器已经实现了此功能。

比如下图中的model中实现了下面几个phpDoc。其中包括一个名为id的属性。一个名为createUser的类型为UserModel的只读属性,一个名为newModelQueury的静态方法,一个名为WhereAccountLimit的实例方法。有了这些注释,则可以使用箭头符号来访问此字段,并且开发环境会提供代码补全功能。更厉害的是这些成员都是可以重构的。phpstorm中shift+f6可以直接重构此属性的访问。非常安全和便捷。

ide-helper可以做啥

ide-helper可以根据model类对应的数据表自动生成此model的所有字段和工具方法的phpDoc。

ide-helper还可以生成magic where方法,比如在eloquent中我们查询一个where条件写作:where('id',1);而ide-helper将会为你生成一个whereId的方法phpDoc。你可以直接调用此方法,比如:whereId(1),此方法避免输入更多的字符串。

如何使用ide-helper请参考github主页即可。大概过程为composer安装ide-herlp然后执行命令php artisan ide-helper:models即可。

 

获取IDEA激活码