2011-02-07 6 views
0

私はPHPには本当に新しいので、一日中これらの異なる演算子を見て混乱しています。 PHP documentation for classesによると

class Email extends CI_Controller 
{ 
function __construct() 
{ 
    parent::__construct(); 
} 

    function index() 
    { 
    $config = Array(
     'protocol' => 'smtp', 
     'smtp_host' => 'ssl://smtp.googlemail.com', 
     'smtp_port' => 465, 
     'smtp_user' => '[email protected]', 
     'smtp_pass' =>'password', 
    ); 
     $this->load->library('email', $config); 
     $this->email->set_newline("\r\n"); 

     $this->email->from('[email protected]', 'Jerry'); 
     $this->email->to('[email protected]'); 
     $this->email->subject('this is an email test'); 
     $this->email->message('this is test message!'); 

     if($this->email->send()) 
     { 
      echo 'Your email was sent'; 
     } 
     else 
     { 
      show_error($this->email->print_debugger()); 
     } 
    } 

    ... 
+0

に役立ちます。 –

答えて

1

あなたの場合、関数インデックスはクラスの一部です。インデックス関数は、同じクラスのメンバ値である他のオブジェクトにアクセスしています。これらのメンバー値にアクセスするには、擬似変数$ thisを使用する必要があります。 $これはあなたが現在いるオブジェクトを参照しexmapleについては

:。

$this->email->subject('this is an email test'); 

が翻訳:このオブジェクトのメンバーであるメールオブジェクトから「対象機能」を呼び出します。

5

擬似変数$これをここで私が出会ったいくつかのコードは、ビデオtutorailを見たときに、いくつかは少し説明ができれば、私はそれを感謝したいですオブジェクトコンテキスト内からメソッドが呼び出されたときに使用できます。 $ thisは呼び出し元オブジェクトへの参照です(通常、メソッドが属するオブジェクトですが、メソッドがセカンダリオブジェクトのコンテキストから静的に呼び出された場合は別のオブジェクトも可能です)。

3

おそらく、貼り付けたコードから重要な部分を取り除いているはずです。それはおそらくクラスで使用されています。
それはそれ自身への参照を意味します。つまり、load()関数を持つクラスがある場合です。クラス内から$this->load()を呼び出すと、そのクラス関数がロードされます。

+0

それは本当に致命的な省略であることを思い出させるためにありがとう:) – xczzhh

2

$thisは、その機能が現れるクラスのインスタンスを指します。したがって、上記のindex()クラスがどのクラスに表示されても、そのインスタンスを作成してmyObject.index()を呼び出すと、$thismyObjectを参照します。

0

$これは、呼び出されたメソッドが定義されたクラスの現在のインスタンスを意味します。

0

クラスがそれ自身を参照する方法。以下の例を考えてみましょう。

class Time { 

     var $sTime; 

     function GenerateCurrentTime(){ 

     //referencing the variable $sTime above you could do as follows 
     $this->sTime = gmdate("d-m-Y H:i:s"); 
     return $this->sTime; 
     } 

    //you can also call the GenerateCurrentTime() function above as follows 
    $this ->GenerateCurrentTime(); 
    } 

希望はこれが有効な理由で削除されたコメントを表示するには、必ず素敵な

関連する問題