2013-01-31 55 views
0

我想討論三件事:

1.哪裏有學習Ajax的好資源?我看過這個網站,但它並不包含太多信息:
http://www.php-learn-it.com/tutorials/starting_with_php_and_ajax.html

2. Wheres是一個很好的學習OOP的資源嗎?我已經做了這個網站的所有步驟:
http://www.killerphp.com/tutorials/object-oriented-php/,但它從2007年

PHP學習OOP和Ajax以及OOP錯誤

* 3解決的! * 3.關於killerphp教程的一個問題;
爲什麼我得到這個錯誤:

Notice: Undefined variable: name in C:\xampp\htdocs\class_lib.php on line 11 

致命錯誤:在C不能訪問空屬性:\ XAMPP \ htdocs中\ class_lib.php與此代碼行11

(的index.php) :

<?php 
$william = new person("William N"); 

echo "<p>name: ". $william->get_name()."</p>"; 

>

而這class_lib.php:

class person { 
var $name; 

function __construct($persons_name) 
{ 
    $this->name = $persons_name; 
} 
public function get_name() 
{ 
    return $this->$name; 
} 

}

+0

如果它告訴你用'var'聲明你的類屬性,立刻放棄你的PHP教程。你應該爲你的屬性聲明使用'public','protected','private'。最好的文檔通常是php.net。在這裏通過面向對象的文檔閱讀http://www.php.net/manual/en/language.oop5.php這會比許多你可以找到的任何教程更好(也可能更流行)。 –

+0

正如我撰寫本指南是從2007年起,這就是爲什麼我要求其他學習資源。我不需要PDF格式的300頁,我對程序化PHP有很好的瞭解,我只需要在某處開始OO PHP –

+0

更好的理由只需查看關於對象/類的PHP.net文檔即可。你已經熟悉了這門語言,所以你只需要類/對象的語法。一旦你有了這些,那麼可以看看圍繞正確使用的更深入的文本(OOP模式等)。這是一個體面的文字爲此目的http://www.amazon.com/Objects-Patterns-Practice-Matt-Zandstra/dp/1590599098 –

回答

3
return $this->$name; 

應該是:

return $this->name; 
+0

謝謝!修復。 –

1

嘗試這樣的:

class person { 
    protected $name; 

    public function __construct($persons_name) 
    { 
     $this->name = $persons_name; 
    } 
    public function get_name() 
    { 
     return $this->name; 
    } 

您是否使用PHP 5? 如果有的話,你不應該使用var。

+0

我是OOP的新手,我要求其他OOP學習資源的原因是因爲本指南是在6年前編寫的。 $ this->名稱固定:) –

0

既然你的第三個問題已經回答了,至於第二個問題我還沒有讀過這本書,但是php.net一如既往地給你提供了所有的基礎知識,甚至更多的是幾乎每一個例子頁。 :)