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

请教一个关于 class 的问题

  •  
  •   ericgui · 2017-01-16 16:38:29 +08:00 · 2237 次点击
    这是一个创建于 2869 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我要构建一个 class , class 里面有一个数组,

    <?php

    class Person {

    protected $ages = array('Liming'=>23);

    public function getAge($name){
    $age = $ages[$name];
    echo $age;
    }


    }

    $p = new Person();
    $p->getAge('Liming');

    ?>

    这代码死活运行不起来。报错信息: Undefined variable: ages

    但如果把这代码改为过程式,立马就运行起来了。

    所以我就纳闷了,这个 OO 方式,是不是哪里不对?实在是 google 都不知道用什么关键词,不好意思了。

    求赐教。
    12 条回复    2017-02-27 22:56:36 +08:00
    waczx
        1
    waczx  
       2017-01-16 16:43:03 +08:00
    $age = $this->ages[$name];
    waczx
        2
    waczx  
       2017-01-16 16:43:38 +08:00
    运行起来了,只不过没结果报了 notice
    ericgui
        3
    ericgui  
    OP
       2017-01-16 16:50:12 +08:00
    @waczx 谢谢。你给的解决方案是对的。果然是这里出了问题,我之前也试了$age = $this->$ages[$name];也报错,看来是多了个$符号。说真的,这个$一会出现一会不出现,也是让人感觉实在 有点难以捉摸啊。
    waczx
        4
    waczx  
       2017-01-16 17:11:33 +08:00
    @ericgui 面向对象的基础:类
    g8287694
        5
    g8287694  
       2017-01-16 17:16:24 +08:00
    @ericgui 对象和数组的区别
    ericgui
        6
    ericgui  
    OP
       2017-01-16 17:16:29 +08:00
    @waczx 哎,实在抱歉,问了这么个啥问题。谢谢。我刚才看了 php 手册,确实是这个问题。是在 class 里可以找到。
    jianzhiyao020
        7
    jianzhiyao020  
       2017-01-16 17:18:30 +08:00
    弄个 IDE 吧,减少很多错误,例如 PHPSTORM
    ericgui
        8
    ericgui  
    OP
       2017-01-16 19:47:37 +08:00
    @jianzhiyao020 好的,我觉得似乎我真的要试试好一点的 IDE 了,现在用的是 HBuilder ,不知道你们听说过没有。反正我目前觉得写 html , css , JavaScript 还是挺方便的,其他的就不好说了。
    jianzhiyao020
        9
    jianzhiyao020  
       2017-01-17 08:56:51 +08:00
    @ericgui 用 PHPSTORM 吧,配置好点的话, code 速度加成 666
    ericgui
        10
    ericgui  
    OP
       2017-01-17 13:34:16 +08:00
    @jianzhiyao020 phpstorm 写 JS 和 CSS 代码方便吗?毕竟写代码肯定不是纯 php ,里面肯定有 js 和 css 的代码。是不是加个插件就可以了?
    jianzhiyao020
        11
    jianzhiyao020  
       2017-01-18 12:12:43 +08:00
    @ericgui PS 是目前用过最好用的 IDE , JS 啥的该有功能还是有的,没有就插件
    1762628386
        12
    1762628386  
       2017-02-27 22:56:36 +08:00
    Undefined variable: ages 英语翻译是 未定义变量 ages
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1467 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 16:57 · PVG 00:57 · LAX 08:57 · JFK 11:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.