Php 一个方法创建一个对象,我从另一个对象调用该方法

Php 一个方法创建一个对象,我从另一个对象调用该方法,php,cakephp,Php,Cakephp,如果一个方法创建了一个对象,而我从另一个对象调用了该方法,那么最后一个对象是否可以访问第一个对象的属性和方法?如果它返回/存储在某个地方,则可以访问公共字段和方法 那里有些无关的信息可能会让你感到困惑 方法和对象(在本例中)彼此断开连接。所以问题变成了,您是否将创建的对象存储在第二个对象可以访问的范围内 编辑:鉴于标签的变化,此答案不再相关。我留下它是为了保留评论 原始答案: 像这样 public MyObject CreateObject() { return new MyObject(

如果一个方法创建了一个对象,而我从另一个对象调用了该方法,那么最后一个对象是否可以访问第一个对象的属性和方法?

如果它返回/存储在某个地方,则可以访问公共字段和方法

那里有些无关的信息可能会让你感到困惑


方法和对象(在本例中)彼此断开连接。所以问题变成了,您是否将创建的对象存储在第二个对象可以访问的范围内

编辑:鉴于标签的变化,此答案不再相关。我留下它是为了保留评论

原始答案:

像这样

public MyObject CreateObject()
{
   return new MyObject() { FirstProperty = "Hello World" };
}

public Main()
{
    MyObject n = CreateObject();
    Console.WriteLine(n.FirstProperty);
}
还是这个

class Program
{
    MyObject _myObject;

    public void CreateObject()
    {
        _myObject = new MyObject() { FirstProperty = "Hello World" };
    }

    public Main()
    {
        Console.WriteLine(_myObject.FirstProperty);
    }
}

在这两种情况下,请确保可以访问对象的属性。如果这不是您的意思,我不确定如何确切回答您的问题,您需要澄清。

只有在该方法保留对其创建的对象的引用时


在路由器中,在方法中,在包含的 文件是控制器代码。在 模型,在视图中,我需要访问 到控制器的属性和 方法。在路由器中,在另一个 方法,我想返回一个控制器 对象添加到模型和视图。什么 现在

如果我正确理解了这个问题,您对MVC有点困惑。路由器类是一个蛋糕内部类,永远不应该被改变。而那些“从未”甚至都不是复制粘贴的,它们实际上是打印出来的

其次,模型类甚至不知道什么叫做控制器。控制器使用模型,而不是相反。如果您的模型需要控制器提供某些信息,请将其作为参数传递。除此之外的任何东西都是糟糕的设计

此外,从视图调用控制器操作也是可能的,但强烈建议不要这样做。Controller是为视图准备所有数据的人,因此视图不需要访问控制器(这有例外,超出了这个问题的范围)


如果我理解正确,我建议你读一读,至少仔细阅读一下。

Boo是正确的。但是,如果您包含一些示例代码(并告诉我们您使用的是什么语言),我们可能会给出更清楚的答案。您对我的回答的评论表明您正在使用MVC-这是ASP.NET MVC还是其他风格?我重新标记了此问题,以便您能够获得与您的问题更相关的答案。您能否更详细地描述一下您试图实现的目标以及如何实现?CakePHP社区有缺陷,而且往往很苛刻(即使你们大声抱怨),但只要坚持下去,就会得到回报。相信我,我自己也在那个里。在路由器中,在一个方法中,包含在一个文件中的是控制器代码。在模型和视图中,我需要访问控制器的属性和方法。在路由器中,在另一种方法中,我希望将控制器对象返回到模型和视图。现在怎么办???我不理解CakePHP源代码,所以我不得不一直寻求帮助来配置它。再加上CakePHP社区缺乏社交技能,不再帮助我了。现在,我需要使用纯PHP。好的,我重新标记了你的问题-我的回答对于PHP/CakePHP来说并不有效,希望这能为你带来更多相关的回答。