no2x
V2EX  ›  PHP

PHP,我怎么获得 = new Class( 这个参数 ) ?

  •  
  •   no2x · Mar 17, 2012 · 8551 views
    This topic created in 5344 days ago, the information mentioned may be changed or developed.
    假设,我有类:

    class foo{
    public function foofoo(){
    }
    }

    使用时,假设我有变量:

    $Var = 'xxxxxxxxxxxxx';

    $fooVar = new foo( $Var );

    我在 class foo { 里面怎么获得这个传递进来的 $Var } ?

    我见不少程序这么传参数的,可我不知道怎么获得。求教。

    PS:
    $fooVar->foofoo( 这里传参数倒是简单的 );
    13 replies  •  1970-01-01 08:00:00 +08:00
    lisztli
    lisztli
    Mar 17, 2012
    1
    self.foo = $var;
    icyflash
    icyflash
    Mar 17, 2012
    2
    构造函数里面添加参数啊

    function __construct($input = '')
    {
    }
    noevil
    noevil
    Mar 17, 2012
    3
    详情请看php class 构造函数。
    楼主没写过php吧。
    dongsheng
    dongsheng
    Mar 17, 2012
    4
    不知道你是不是这个意思:

    <?php
    class foo {
    private $var;
    public function setVar($var) {
    $this->var = $var;
    }
    public function __get($varname) {
    return $this->$varname;
    }
    }

    $v = new foo;
    $v->setVar('test');

    echo $v->var;
    freefcw
    freefcw
    Mar 17, 2012
    5
    可以这样写
    class foo{
    public $var;
    public function __construct($var)
    {
    $this->var = $var;
    }

    public function foofoo()
    {
    return $this->var;
    }
    }

    试了一下反射,似乎不行
    no2x
    no2x
    OP
    Mar 17, 2012
    6
    @freefcw @noevil @icyflash 刚深入学习 class 呢,谢谢。
    icyflash
    icyflash
    Mar 17, 2012
    7
    @no2x 我也不会PHP,不过如果你有OO基础的话,很容易利用搜索引擎找到答案

    “PHP 构造函数 参数”
    anuxs
    anuxs
    Mar 17, 2012
    8
    面向对象编程第一课,构造函数(带参数)。
    sharmy
    sharmy
    Mar 19, 2012
    9
    用构造函数结合func_get_args来完成吧,func_get_args可以获取到你传入函数的参数列表,以数组形式返回.

    大概可以这样:
    class foo{
    public function __construct()
    {
    foreach(func_get_args() as $k=>$p) $this->$k = $p;
    }

    }
    icerunz
    icerunz
    Mar 19, 2012
    10
    __construct()就行了,然后在class中设定一个
    public $variable = $Var;
    iamdbc
    iamdbc
    Mar 19, 2012 via iPad
    11
    lz说的这种情况,一般是在构造函数里传的。类调用外部变量初始化类内部变量
    justfindu
    justfindu
    Mar 19, 2012
    12
    构造函数呗~ 看来还得多学学啊~
    no2x
    no2x
    OP
    Mar 19, 2012
    13
    @sharmy @justfindu @iamdbc @icerunz @anuxs @icyflash

    因為我只是看 PHP 手冊(http://www.php.net/manual/zh/index.php),

    所以不瞭解這些信息,現在我找了面向對象教程看了才完全理解。

    OK~ 謝謝各位。此話題打住。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5363 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 03:25 · PVG 11:25 · LAX 19:25 · JFK 22:25
    ♥ Do have faith in what you're doing.