我对php oop相当新,有些概念对我来说还是新的。
Asumming我有一个配置文件(config.php),包括:
<?php
$siteName = "John's Site";
$siteEmail = "john@johnnysample.com"
$replyTo = "support@johnnysample.com"
我有一个简单的类(SendMail.php),它包含:
class SendMail
{
public function sendRegistrationMail($toAddress)
{
mail($toAddress, $subject, $email, "From: Site Name <sample@example.com>");
}
}
我的user.php文件包含:
<?php
include_once ('config.php');
include_once ('SendMail.php);
//Initialize class
$sendMail = new SendMail();
我问的是,我是否能以某种方式阅读/包含config.php SendMail类,以便我可以简单地执行此操作:
$sendMail->sendRegistrationMail("registered@useraddress.com");
发送电子邮件时无需传递“发件人:”地址
并且无需硬编码"From: Site Name <sample@example.com>"
正如我所做的那样。
希望我很清楚。 如果有人能提供帮助那将是非常棒的。 谢谢!
答案 0 :(得分:0)
您可以使用类变量来指定可能的数据列表。 或者您可以创建包含配置文件的方法。 或者,您可以以字符串形式向方法添加第二个参数。
答案 1 :(得分:0)
如果您的配置文件是普通的可运行PHP,您可以像这样引用SendMail类中的全局变量:
require_once dirname(__FILE__) . '/config.php';
class SendMail
{
public function sendRegistrationMail($toAddress)
{
global $siteName, $siteEmail, replyTo;
mail($toAddress, $subject, $email, "From: {$siteName} <{$replyTo}>");
}
}
由于配置中的变量是PHP,并且它们是在全局范围内定义的,因此包括该文件将使它们在此处可访问。您只需要在函数中指定您引用的变量是全局范围的变量,而不是全局关键字所做的新局部变量。