首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
华为云
V2EX  ›  PHP

PHP 的类内如何使用动态函数名?

  •  
  •   crist · 2016-07-14 18:19:38 +08:00 · 2685 次点击
    这是一个创建于 768 天前的主题,其中的信息可能已经有所发展或是发生改变。

    class fmOutput { public function sex($value = '') { return 66; } public function op($funcname='', $value = '') { return $this->$funcname; }

    public function __call($funcName,$args)
    {
    	return "Oops,{{$funcName}}is unexist";
    }
    

    } $FM = new fmOutput('sex'); echo $FM->op();

    然后,没有任何反应,求各位大神解疑。。

    21 回复  |  直到 2016-07-16 08:29:22 +08:00
        2
    g079708   2016-07-14 18:57:00 +08:00
        3
    rekulas   2016-07-14 21:57:14 +08:00   ♥ 1
    return $this->{$funcname}();
        4
    wh1012023498   2016-07-14 22:49:37 +08:00
    回复支持 md 吗。。

    ```php
    echo 'hello meizi~';
    ```
        5
    wh1012023498   2016-07-14 22:50:23 +08:00
    = = 好绝望
        6
    UnisandK   2016-07-14 23:02:39 +08:00
    @wh1012023498 支持 gist
        7
    msg7086   2016-07-15 06:53:07 +08:00
    is unexist -> does not exist.

    unexist 是什么鬼。
        8
    rekulas   2016-07-15 09:09:40 +08:00
    @wh1012023498
    ```
    php
    echo 'hello meizi~';
    ```后面不能跟其他字符
    ```
        9
    rekulas   2016-07-15 09:10:10 +08:00
    ```
    ee
    ```
        10
    rekulas   2016-07-15 09:10:28 +08:00
    ```
    代码模式好像不见了 = =
    ```
        11
    crist   2016-07-15 10:03:08 +08:00
    @rekulas 这个是正确的,不用加大括号也可以
        12
    crist   2016-07-15 10:04:52 +08:00
    @msg7086 does not exist 的缩写,你都知道是什么意思啦
        13
    msg7086   2016-07-15 10:08:02 +08:00
    @rekulas 回复哪来的代码模式?
        14
    rekulas   2016-07-15 10:11:10 +08:00
    @msg7086 之前貌似是可以的 我看到他们回复过代码
        15
    rekulas   2016-07-15 10:12:30 +08:00
    @crist 主要是为了规范下 便于理清逻辑 有时候参数不一定是$xx 还有可能是$this->xx 之类的。。
        16
    kchum   2016-07-15 11:26:03 +08:00
    @rekulas 回复不支持 Markdown
        17
    tanteng   2016-07-15 12:00:32 +08:00
    $this->{'register'.$command.'Command'}();
        18
    rekulas   2016-07-15 13:04:55 +08:00
    **gggggggg**
    _ggg_
    ### h1h1
        19
    hyq   2016-07-15 14:06:57 +08:00
    那是 github 的 gist

    https://gist.github.com
        20
    techmoe   2016-07-15 23:03:23 +08:00 via Android
    可变函数后面得加括号吧。。
        21
    realpg   2016-07-16 08:29:22 +08:00
    @crist 想缩写请用 not exist 大家都能懂 非得加上 is 啥的 看惯了英语的肯定觉得不伦不类
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1101 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 16ms · UTC 23:37 · PVG 07:37 · LAX 16:37 · JFK 19:37
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1