PHP子方法

Ric*_*ard 5 php cakephp

我已经使用了足够多的 php 以适应它,但最近我一直在浏览一些 MVC 框架以尝试了解它们的工作原理,并且我遇到了一种我以前从未遇到过的语法和数据结构:

function view($id)   
   {   
       $this->Note->id = $id;   
   }
Run Code Online (Sandbox Code Playgroud)

这段代码的 ->id 部分是什么?这是基于父方法的子方法吗?如果是这样,我该如何编写代码来创建这样的结构?(即,从头开始创建结构,而不是使用像上面来自 cakephp 的示例那样的现有框架)。

Jon*_*ley 3

以下代码演示了如何获得您所描述的结构。

<?php

class Note
{
    public $id = 42;
}

class MyClass
{
    public function __construct() {
        // instance of 'Note' as a property of 'MyClass'
        $this->Note = new Note();
    }

    public function test() {
        printf("The \$id property in our instance of 'Note' is: %d\n",
            $this->Note->id);
    }
}

$mc = new MyClass();
$mc->test();
?>
Run Code Online (Sandbox Code Playgroud)