Php子方法

时间:2011-02-11 16:58:28

标签: php cakephp

我已经习惯使用了php,但是最近我一直在寻找一些MVC框架来尝试理解它们是如何工作的,而且我遇到了一个语法和数据结构,我没有'之前遇到过:

function view($id)   
   {   
       $this->Note->id = $id;   
   }

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

3 个答案:

答案 0 :(得分:2)

Note$this的属性,它的(当前)值是具有名为id的属性的对象,其被赋值为$id
如果idNote对象的方法,则该行将显示为$this->Note->id($id);

答案 1 :(得分:2)

以下代码演示了如何达到您描述的结构。

<?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();
?>

答案 2 :(得分:1)

考虑构造的另一种方法是考虑

 $this->Note->id = $id;

类似于

 $this["Note"]["id"] = $id;

如果两个对象($ this和subobject Note)都基于ArrayAccess,那么这实际上是等价的。