0

この声明で何が起こっているのですか?

$this->load->view("index.php");

この構文は、CodeIgniterや、コードがクラス内にある他の場所、つまり「$ this」で見たことがあり、「load」または他のメソッドを参照していて、そのメソッド/関数を指しているように見えます。

誰かがこれに「負荷」が何であるかを私に説明できますか?CodeIgniterコンテキストではなく、一般的なPHPです。これを可能にするクラスをどのように作成しますか?

次のことを試しましたが、うまくいきません。

<?php

class myObject {

    private $x = 0;

    function amethod()
    {

       function embeddedFunc()
       {

            $this->x += 7;

            return $this->x;
       }

       return embeddedFunc();
    }
}

$object = new myObject();

echo $object->amethod->embeddedFunc();

?>

私はこれを見たときに実際に起こっていることに頭を包み込もうとしています。

4

2 に答える 2

1

この場合、load はview()関数を持つオブジェクトであるクラスのプロパティです。例えば:

class test {
    public $load;
    public function __construct() {
        $this->load = new test2();
    }
    public function step1() {
        $this->load->step3('Updated text');
    }
}
class test2 {
    public function step3($display_text) {
        echo $display_text;
    }
}
$tester = new test();
$tester->step1();

はオブジェクトのインスタンスであるためload、先に進んでそのインスタンスの関数を実行できます。うまくいけば、それは役に立ちます。

于 2013-02-04T20:32:31.497 に答える
0

PHP では、クラス メンバー変数にアクセスするには$this->が必要です。this->厳密に書かなければならないのは少し混乱しますが、宣言する必要はありません。

 class Foo {

   function bar() {

      $this->myVariable = 8;   // this is OK

   } // bar() 

 } // class Foo

$this->load->view()は現在のオブジェクトのloadプロパティを参照し、view() メソッドを持つオブジェクトを保持します。先頭のthisをカットするように目を訓練し、常にそれを書くように手を訓練します。先頭の '$' マークを常に書くことをすでに学んだように。

于 2013-02-04T20:43:16.500 に答える