我是PHP的新手,所以我很困惑看到这些不同的运营商整天。这是我在观看视频tutorail时遇到的一些代码,如果有人可以解释一下,我会很感激:
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' => 'username@gmail.com',
'smtp_pass' =>'password',
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('username@gmail.com', 'Jerry');
$this->email->to('username@gmail.com');
$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 :(得分:5)
根据PHP documentation for classes:
当从对象上下文中调用方法时,伪变量$ this可用。 $ this是对调用对象的引用(通常是方法所属的对象,但如果从辅助对象的上下文中静态调用该方法,则可能是另一个对象)。
答案 1 :(得分:3)
好吧,你可能会从你粘贴的代码中找出一些重要的部分。它可能用在一个班级中。
它意味着对自身的引用。所以如果你有一个带有load()函数的类。从类中调用$this->load()
将加载该类函数。
答案 2 :(得分:2)
$this
指的是函数出现的类的实例。因此,无论上述index()
函数出现在哪个类中,当您创建它的实例并调用myObject.index()
时,$this
将引用myObject
。
答案 3 :(得分:1)
在您的情况下,函数索引是类的一部分。索引函数正在访问作为同一类的成员值的其他对象。要访问这些成员值,您必须使用伪变量$ this。 $ this指的是您当前所在的对象。
例如:
$this->email->subject('this is an email test');
翻译:从电子邮件对象中调用“主题功能”,该对象是此对象的成员。
答案 4 :(得分:0)
$ this表示定义被调用方法的类的当前实例。
答案 5 :(得分: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();
}
希望这有帮助