ericgui
V2EX  ›  PHP

请教一个关于 class 的问题

  •  
  •   ericgui · Jan 16, 2017 · 2984 views
    This topic created in 3581 days ago, the information mentioned may be changed or developed.
    我要构建一个 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 replies  •  2017-02-27 22:56:36 +08:00
    waczx
    waczx
    Jan 16, 2017
    1
    $age = $this->ages[$name];
    waczx
    waczx
    Jan 16, 2017
    2
    运行起来了,只不过没结果报了 notice
    ericgui
    ericgui
    OP
    Jan 16, 2017
    3
    @waczx 谢谢。你给的解决方案是对的。果然是这里出了问题,我之前也试了$age = $this->$ages[$name];也报错,看来是多了个$符号。说真的,这个$一会出现一会不出现,也是让人感觉实在 有点难以捉摸啊。
    waczx
    waczx
    Jan 16, 2017
    4
    @ericgui 面向对象的基础:类
    g8287694
    g8287694
    Jan 16, 2017
    5
    @ericgui 对象和数组的区别
    ericgui
    ericgui
    OP
    Jan 16, 2017
    6
    @waczx 哎,实在抱歉,问了这么个啥问题。谢谢。我刚才看了 php 手册,确实是这个问题。是在 class 里可以找到。
    jianzhiyao020
    jianzhiyao020
    Jan 16, 2017
    7
    弄个 IDE 吧,减少很多错误,例如 PHPSTORM
    ericgui
    ericgui
    OP
    Jan 16, 2017
    8
    @jianzhiyao020 好的,我觉得似乎我真的要试试好一点的 IDE 了,现在用的是 HBuilder ,不知道你们听说过没有。反正我目前觉得写 html , css , JavaScript 还是挺方便的,其他的就不好说了。
    jianzhiyao020
    jianzhiyao020
    Jan 17, 2017
    9
    @ericgui 用 PHPSTORM 吧,配置好点的话, code 速度加成 666
    ericgui
    ericgui
    OP
    Jan 17, 2017
    10
    @jianzhiyao020 phpstorm 写 JS 和 CSS 代码方便吗?毕竟写代码肯定不是纯 php ,里面肯定有 js 和 css 的代码。是不是加个插件就可以了?
    jianzhiyao020
    jianzhiyao020
    Jan 18, 2017
    11
    @ericgui PS 是目前用过最好用的 IDE , JS 啥的该有功能还是有的,没有就插件
    1762628386
    1762628386
    Feb 27, 2017
    12
    Undefined variable: ages 英语翻译是 未定义变量 ages
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2263 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:01 · PVG 20:01 · LAX 04:01 · JFK 07:01
    ♥ Do have faith in what you're doing.