当前位置: 首页 > 知识库问答 >
问题:

请问 phpstorm 如何给通过__call方式实现的方法函数增加方法调用提示功能?

云宜人
2023-08-17

比如我的mysql数据库操作类中有这样一些方法是通过 __call 方法实现的,代码如下:

    /**     * 一些特殊操作的方法     * @param string $method     * @param array $arguments     * @return mixed|string     */    final public function __call($method, $arguments) {        switch ($method) {            case 'count':            case 'sum':            case 'min':            case 'max':            case 'avg':                /**                 * 示例                 * 1. $db->max('notice', 'add_time', ['type' => 1]); 获取 notice 表当 type 值为 1 的时候的 add_time 值最大的值                 * 2. $db->sum('finance', 'num'); 获取 finance 表 num 字段值的和                 */ $result = $this->getOne($arguments[0], sprintf('%s(`%s`)', strtoupper($method), $arguments[1]), isset($arguments[2]) ? $arguments[2] : '', '', '', MYSQLI_NUM);                return $result[0];            case 'table':                break;        }    }

我改如何实现我在调用类似 max 方法的时候,phpstorm 也能给出方法调用提示呢?

共有1个答案

姚德容
2023-08-17

定义之前加一下注释:

/** * @method int count(string $table, string $field, array $conditions = []) * @method int sum(string $table, string $field, array $conditions = []) * @method int min(string $table, string $field, array $conditions = []) * @method int max(string $table, string $field, array $conditions = []) * @method float avg(string $table, string $field, array $conditions = []) */class YourDatabaseClass{    // ...}
 类似资料:
  • 本文向大家介绍PHP __call()方法实现委托示例,包括了PHP __call()方法实现委托示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP __call()方法实现委托。分享给大家供大家参考,具体如下: 委托是指一个对象转发或者委托一个请求给另一个对象,被委托的一方替原先对象处理请求。这类似于继承,和在子类中调用父类的方法有点儿相似。 但在继承时,父类与子类的关系是固定的

  • 本文向大家介绍JavaScript通过字符串调用函数的实现方法,包括了JavaScript通过字符串调用函数的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript通过字符串调用函数的实现方法。分享给大家供大家参考。具体分析如下: JavaScript中我们可以把根据函数名的字符串来调用函数,这样我们就可以实现动态函数调用,只需要传递一个函数的名字即可调用该函数。  

  • 本文向大家介绍JS中使用apply方法通过不同数量的参数调用函数的方法,包括了JS中使用apply方法通过不同数量的参数调用函数的方法的使用技巧和注意事项,需要的朋友参考一下 apply()方法定义 函数的apply()方法和call方法作用相同,区别在于接收的参数的方式不同。 apply()方法接收两个参数,一个是对象,一个是参数数组。 apply()作用 1、用于延长函数的作用域 示例: 这里

  • 本文向大家介绍php实现excel中rank函数功能的方法,包括了php实现excel中rank函数功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现excel中rank函数功能的方法。分享给大家供大家参考。具体分析如下: sql语句实现排名是像这样的如: 总分成绩为 195,180,180,161,名次分别为1,2,3,4,遇到并列的情况也是按照顺序的, 而Excel函

  • 本文向大家介绍C++中如何实现回调的方法示例,包括了C++中如何实现回调的方法示例的使用技巧和注意事项,需要的朋友参考一下 前言 C++中使用class语法实现回调(当然,,旧式的C函数指针回调也是支持的) 比如,有人提供一个类库 AfCopyFile,能够提供文件拷贝的功能,而且能通知用户当前的进度。。。 用户只需要自己实现一个AfCopyFileListener对象,传给这个函数就行。。。 把

  • 本文向大家介绍node.js调用C++函数的方法示例,包括了node.js调用C++函数的方法示例的使用技巧和注意事项,需要的朋友参考一下 目前nodejs调用c++主流的有两种方法,分别是addons和ffi addons是nodejs官方的c++扩展实现方案,但是由于需要使用模版,并且要对v8引擎有一定的了解,入门门槛较高。 ffi是nodejs直接调用so库的一种实现,可以调用纯c的接口。