1

ここCodeigniterユーザーガイドにある例を見ると、メソッド自体if( !$this->upload->do_upload() )の内部からの呼び出しが何をするのか疑問に思っています。do_upload()

これがコードの貼り付けです。

class Upload extends CI_Controller {

    function __construct() {
        parent::__construct();
    }

    function do_upload() {
        $config['upload_path'] = './uploads/';
        $this->load->library('upload', $config);

    // ** My question starts here **
        if ( !$this->upload->do_upload() ) {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('upload_form', $error);
        }
        else{
            $data = array('upload_data' => $this->upload->data());
            $this->load->view('upload_success', $data);
        }
    }
}

do_upload()私が見ているように、それはそれ自体の中からメソッドをチェックしていdo_upload()ます..私は間違っていますか?
私の素朴さを許してください、しかし私はこれまでこれを見たことがありません..それは一般的な習慣ですか?
それは何をするためのものか?

4

2 に答える 2

1
if ( !$this->upload->do_upload() ) {    

CI独自のアップロードクラスにあるdo_upload関数を呼び出しています。

ドキュメントの例は最高ではありません。

したがって、コントローラー内でdo_uploadを再度呼び出すのではなく、実際のアップロードを行うアップロードクラスでdo_uploadを呼び出します。

HTH

于 2012-08-15T14:37:03.337 に答える
1

それ自体を呼び出すのではなく、コントローラーオブジェクトのプロパティのメソッドdo_uploadを呼び出します。メソッドには同じ名前が付けられていますが、それらは異なるオブジェクトに属しています。オブジェクトは、前の手順でロードされたライブラリのようです(注:CIはわかりません)。uploadUpload$this->upload'upload'

于 2012-08-15T14:37:38.647 に答える