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

2012 年 3 月 17 日
 no2x
假设,我有类:

class foo{
public function foofoo(){
}
}

使用时,假设我有变量:

$Var = 'xxxxxxxxxxxxx';

$fooVar = new foo( $Var );

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

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

PS:
$fooVar->foofoo( 这里传参数倒是简单的 );
8332 次点击
所在节点    PHP
13 条回复
lisztli
2012 年 3 月 17 日
self.foo = $var;
icyflash
2012 年 3 月 17 日
构造函数里面添加参数啊

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

<?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
2012 年 3 月 17 日
可以这样写
class foo{
public $var;
public function __construct($var)
{
$this->var = $var;
}

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

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

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

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

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

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

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

OK~ 謝謝各位。此話題打住。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/29895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX