我已經使用php足以讓它很舒服,但最近我一直在通過一些MVC框架來試圖瞭解它們是如何工作的,並且我遇到了一個語法和數據結構我之前沒有遇到過這種情況:Php子方法
function view($id)
{
$this->Note->id = $id;
}
什麼是此代碼的 - >部分?這是一個基於父方法的子方法嗎?如果是這樣,我該如何編寫代碼來創建這樣的結構? (即從零開始創建結構,而不是像cakephp中的上述示例那樣使用現有框架)。
我已經使用php足以讓它很舒服,但最近我一直在通過一些MVC框架來試圖瞭解它們是如何工作的,並且我遇到了一個語法和數據結構我之前沒有遇到過這種情況:Php子方法
function view($id)
{
$this->Note->id = $id;
}
什麼是此代碼的 - >部分?這是一個基於父方法的子方法嗎?如果是這樣,我該如何編寫代碼來創建這樣的結構? (即從零開始創建結構,而不是像cakephp中的上述示例那樣使用現有框架)。
以下代碼演示瞭如何到達您所描述的結構。
<?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();
?>
Note
是$this
一個屬性和它的(當前)值是與命名其被分配的$id
值id
屬性的對象。
如果id
是Note
對象的方法,則該行將讀取$this->Note->id($id);
。
另一種方式來思考結構正在考慮
$this->Note->id = $id;
類似
$this["Note"]["id"] = $id;
如果兩個對象($本和子對象注)是在此基礎上實際上是等同ArrayAccess接口。
[絕對基本的PHP問題關於「 - >」語法]的可能重複(http://stackoverflow.com/questions/4502587/absolutely-basic-php-question-about-the-syntax) – Gordon 2011-02-11 17:01:46
*(相關)* [參考:這個符號在PHP中是什麼意思](http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php) – Gordon 2011-02-11 17:02:42