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

2012-03-17 17:36:59 +08:00
 no2x
假设,我有类:

class foo{
public function foofoo(){
}
}

使用时,假设我有变量:

$Var = 'xxxxxxxxxxxxx';

$fooVar = new foo( $Var );

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

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

PS:
$fooVar->foofoo( 这里传参数倒是简单的 );
7254 次点击
所在节点    PHP
13 条回复
lisztli
2012-03-17 17:43:23 +08:00
self.foo = $var;
icyflash
2012-03-17 17:44:20 +08:00
构造函数里面添加参数啊

function __construct($input = '')
{
}
noevil
2012-03-17 17:45:36 +08:00
详情请看php class 构造函数。
楼主没写过php吧。
dongsheng
2012-03-17 17:47:16 +08:00
不知道你是不是这个意思:

<?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-03-17 17:53:50 +08:00
可以这样写
class foo{
public $var;
public function __construct($var)
{
$this->var = $var;
}

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

试了一下反射,似乎不行
no2x
2012-03-17 18:03:53 +08:00
@freefcw @noevil @icyflash 刚深入学习 class 呢,谢谢。
icyflash
2012-03-17 20:59:11 +08:00
@no2x 我也不会PHP,不过如果你有OO基础的话,很容易利用搜索引擎找到答案

“PHP 构造函数 参数”
anuxs
2012-03-17 21:35:32 +08:00
面向对象编程第一课,构造函数(带参数)。
sharmy
2012-03-19 13:36:17 +08:00
用构造函数结合func_get_args来完成吧,func_get_args可以获取到你传入函数的参数列表,以数组形式返回.

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

}
icerunz
2012-03-19 14:13:01 +08:00
__construct()就行了,然后在class中设定一个
public $variable = $Var;
iamdbc
2012-03-19 14:29:06 +08:00
lz说的这种情况,一般是在构造函数里传的。类调用外部变量初始化类内部变量
justfindu
2012-03-19 14:31:57 +08:00
构造函数呗~ 看来还得多学学啊~
no2x
2012-03-19 23:48:37 +08:00
@sharmy @justfindu @iamdbc @icerunz @anuxs @icyflash

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

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

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

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

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

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

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

© 2021 V2EX