-1

コントローラー クラスの上に 2 つ以上のクラスをインスタンス化する必要があるため、それらをコントローラー クラスの任意のメソッドと一緒に、$this->filterまたは$this->logger_instanceその内部で使用できます。現在、許可されていません。エラーが発生します。(可能であればクラスを拡張したくありません。) 可能であれば、コンストラクトでインスタンス化しても問題ありませんか。

解析エラー: 構文エラー、controller.php の予期しない T_NEW

(私はコーディングの習慣を手続き型から OOP に移行する過程にあるので、それは本当に苦手です。)

class ID_Controller
{
    public $input;
    public $register_attempt = 2;
    public $maximum_attempts = 3;
    public $log_data_attempts = 2;
    public $query_log_file_path;
    public $sql_filtering = true;
    public $xss_filtering = true;
    public $sql_register_attempt = 3;
    public $xss_register_attempt = 6;

    public $filter = new ID_Algorithm;
    public $logger_instance = new ID_Logger;

    function __construct()
    {
    }
}
4

1 に答える 1

1

メソッドを使用してこれらのクラスを初期化してみません__construct()か?

/*
    If the two classes are located in seperate files, be sure to require them:
*/
require("ID_Algorithm Page");
require("ID_Lodder Page");
class ID_Controller {
    /* previous lines here */ 
    /* 
    Comment out the next two lines and initiate them within the construct class 
    */
    // public $filer = new ID_Algorithm;
    // public $logger_instance; 
    public $filer;
    public $logger_instance
    public function __construct(){
        $this->filter = new ID_Algorithm;
        $this->logger_instance = new ID_Logger;
    }
}

次に、呼び出すとき:

$Class = new ID_Controller();

これにより、必要な内部ポインターが正しく設定されます。

于 2013-11-11T01:06:25.300 に答える