我怎么写一个方法,让他返回的值是一个对象
时间:2011-12-14
来源:互联网
作者: xiachao2008 发布时间: 2011-12-14
作者: xiachao2008 发布时间: 2011-12-14
作者: liyuef123 发布时间: 2011-12-14
class myObject{ // ...... } function returnObject(){ $mo = new $myObject(); return $mo; }
作者: CunningBoy 发布时间: 2011-12-14
如果是一个类中的成员函数的话,返回伪变量$this就是返回一个对象(它本身)
作者: Darkwinoom 发布时间: 2011-12-14
该回复于2011-12-14 10:45:08被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#6楼 得分:0回复于:2011-12-14 11:15:38
|
作者: helloyou0 发布时间: 2011-12-14
可以在详细一点吗
有一点没有理解透。
引用 3 楼 cunningboy 的回复:
PHP code
class myObject{
// ......
}
function returnObject(){
$mo = new $myObject();
return $mo;
}
作者: xiachao2008 发布时间: 2011-12-14
而这个数据在其它地方也用得到,所以我想返回一个对象。这样在用的时候,我就可以这样写成类拟这样的写法
$a->$b()->$c()
只是觉得这样写起来更简洁。所以才有这样的问题。
可以在详细一点吗
有一点没有理解透。
引用 3 楼 cunningboy 的回复:
PHP code
class myObject{
// ......
}
function returnObject(){
$mo = new $myObject();
return $mo;
}
作者: ci1699 发布时间: 2011-12-14
class MyClass
{
......
}
public MyClass ReturnObject(MyClass myClass)
{
MyClass a=new MyClass();
if (null != myClass)
{
a=myClass;
}
return a;
}
作者: xiachao2008 发布时间: 2011-12-14
是这样的。我执行了一个方法,方法本来是返回string类型的数据
而这个数据在其它地方也用得到,所以我想返回一个对象。这样在用的时候,我就可以这样写成类拟这样的写法
$a->$b()->$c()
只是觉得这样写起来更简洁。所以才有这样的问题。引用 6 楼 xiachao2008 的回复:
可以在详细一点吗
有一点没有理解透。
引用 3 楼 cunningboy 的回复:
……
作者: jglie 发布时间: 2011-12-14
class myObject{
public function a($a){
return $this->$a;
}
public function b($b){
echo $b;
}
}
$c=new myObject();
$c->a('1aaaaa')->b();
见4楼
引用 8 楼 xiachao2008 的回复:
是这样的。我执行了一个方法,方法本来是返回string类型的数据
而这个数据在其它地方也用得到,所以我想返回一个对象。这样在用的时候,我就可以这样写成类拟这样的写法
$a->$b()->$c()
只是觉得这样写起来更简洁。所以才有这样的问题。引用 6 楼 xiachao2008 的回复:
可以在详细一点吗……
作者: helloyou0 发布时间: 2011-12-14
public function a($a){
return $this->$a;
}
public function b($b){
echo $b;
}
}
$c=new myObject();
$c->a('1aaaaa')->b();
为什么不行呢,没有输出??
见4楼
引用 8 楼 xiachao2008 的回复:
是这样的。我执行了一个方法,方法本来是返回string类型的数据
而这个数据在其它地方也用得到,所以我想返回一个对象。这样在用的时候,我就可以这样写成类拟这样的写法
$a->$b()->$c()
只是觉得这样写起来更简洁。所以才有这样的问题。引用 6 楼 xiachao2008 的回复:
可以在详细一点吗……
作者: xiachao2008 发布时间: 2011-12-14
这个$this->$a是个什么东东?
妹子,你的基本功不扎实啊
作者: xiachao2008 发布时间: 2011-12-14
return $this->$a;
这个$this->$a是个什么东东?
妹子,你的基本功不扎实啊
作者: helloyou0 发布时间: 2011-12-14
class myObject{
public function a($a){
return $this->$a;
}
public function b($b){
echo $b;
}
}
$c=new myObject();
$c->a('1aaaaa')->b();
为什么不行呢,没有输出??引用 10 楼 helloyou0……
如果你想要这样写的话方法a与方法b必须返回的是一个对象(通俗的说就是伪变量$this)
将你这个类稍微改造了一下,你看看是不是你想要的
class myObject{
public function a($a){
$this->arr[] = $a;
return $this;
}
public function b(){
return $this->arr;
}
}
$c=new myObject();
$arr = $c->a('1aaaaa')->a('2aaaaaa')->b();
var_dump($arr);
作者: xiachao2008 发布时间: 2011-12-14
例子中的b方法不用返回对象,因为他是作为终结
例子里如果b方法后再跟一个a方法的话就会出错
作者: Darkwinoom 发布时间: 2011-12-14
只好亲自动手了
class 人 {
private $name='';
private $肚子=array();
public function __construct($name){
$this->name=$name;
}
public function 吃($好吃的){
$this->肚子[]=$好吃的;
return $this;
}
public function 吐(){
$东东=array_pop($this->肚子);
if(!empty($东东)){
echo $this->name.'吐了'.$this->东东."\n";
}
return $this;
}
}
$我=new 人('helloyou0');
$我->吃('青菜')->吐()->吃('鸡')->吃('鸭')->吐()->吐();
作者: Darkwinoom 发布时间: 2011-12-14
<?php
class laaaaa{
public $b;
public function b($b){
$this -> b = $b;
echo $this -> b;
}
}
class myObject{
public $laaaaa;
public function a($a){
return $this->$a = new $a();
}
}
$c=new myObject();
$c->a('laaaaa')->b('=_=');
?>
代表返回字符串的对象啊引用 13 楼 helloyou0 的回复:
return $this->$a;
这个$this->$a是个什么东东?
妹子,你的基本功不扎实啊
作者: helloyou0 发布时间: 2011-12-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28