gpt4 book ai didi

php - CodeIgniter 中 __construct() 的作用是什么?

转载 作者:行者123 更新时间:2023-12-04 03:31:28 26 4
gpt4 key购买 nike

我使用 CodeIgniter 框架,但我是新手。在下面的代码中,__construct() 函数用于加载模型。

  • 为什么我需要使用 __construct()
  • 什么时候应该使用这个功能?
  • 什么是parent::__construct()

代码

function __construct() {
parent::__construct();
$this->load->model('example');
}

最佳答案

构造函数让您可以在整个类中使用事物。这样您就不必在每个方法中加载模型/语言/设置。

假设您有一个要为该类加载的模型和语言,您可以在构造函数中执行此操作。例如,如果类中有一个电子邮件方法并且只在该类中使用电子邮件,则不必在构造函数中设置它,而是在方法中设置。这样就不会为所有其他不使用它的方法加载不需要的内容。

    class Contact extends CI_Controller {

public function __construct(){
parent::__construct();
$this->load->model('contact_model', 'contact');
}

public function index(){
$data['contact'] = $this->contact->getContact();
$this->load->view('contact', $data);
}

public function send_mail(){
/* Mail configuration - ONLY USED HERE */
$config = array('protocol' => 'mail',
'wordwrap' => FALSE,
'mailtype' => 'html',
'charset' => 'utf-8',
'crlf' => "\r\n",
'newline' => "\r\n",
'send_multipart' => FALSE
);
$this->load->library('email', $config);
$records = $this->contact->getCompany();

$this->email->from( $setmail, $records['CompanyName'] );
$this->email->to( $to );
$this->email->subject( $subject );
$this->email->message( $html );
$this->email->send();
}

}

来自 php:http://php.net/manual/en/language.oop5.decon.php

PHP 5 allows developers to declare constructor methods for classes. Classes which have a constructor method call this method on each newly-created object, so it is suitable for any initialization that the object may need before it is used.

关于php - CodeIgniter 中 __construct() 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37622520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com