Php 电子邮件的正确方式-设计模式
我正在寻找一些关于如何为电子邮件通知制作合适的“数据收集器”的建议 在我的应用程序中,用户可以更改其地址数据、偏好、目标、习惯等。每当用户更改上述任何一项时,都会发送一封包含已更改内容的电子邮件。 邮件通过以下方式发送:Php 电子邮件的正确方式-设计模式,php,laravel,oop,Php,Laravel,Oop,我正在寻找一些关于如何为电子邮件通知制作合适的“数据收集器”的建议 在我的应用程序中,用户可以更改其地址数据、偏好、目标、习惯等。每当用户更改上述任何一项时,都会发送一封包含已更改内容的电子邮件。 邮件通过以下方式发送: static function sendChangeMail() 在这里,我将信息与更改放在一起,但此时,这个函数需要太多的参数(确切地说是7个),这可能会让人困惑。我想把所有更改的元素放在一个对象中 它应该是什么样子,我的意思是,我应该制作一些其他的“Collectiong
static function sendChangeMail()
在这里,我将信息与更改放在一起,但此时,这个函数需要太多的参数(确切地说是7个),这可能会让人困惑。我想把所有更改的元素放在一个对象中
它应该是什么样子,我的意思是,我应该制作一些其他的“CollectiongDataMailClass”或者一些观察者吗
我曾想过使用一个观察者,但当用户地址被更新时,就会执行函数“create”。即使注册了新用户,邮件也会被发送,我不希望这样。这是一个很好的使用案例 因此,您基本上需要使用changedData构建对象,并将其传递给
sendChangeMail(changedsettingobject$changedsettingobject)
举个例子
DTO对象结构:
类更改为{
公共广播;
公共优先权;
公共目标;
公众习惯;
}
构建DTO对象:
$changedData=新的changedData;
$changedData->地址='德国';
$changedData->preferences=['setting1'=>'值1','setting2'=>'值2'];
// ...
//将其传递给邮件功能
..->sendChangeMail($changedData);
SendChangeMail功能
public函数sendChangeMail(changedDataTo$changedDataTo)
{
dd($changedatadto);//您将在此处获得整个对象
}
这样,您只需将一个参数传递给基础方法。到目前为止您是否尝试过任何方法?@RamChander第一次我用更多参数扩展了上述函数,它可以工作,但我知道这不是正确的解决方案。现在,我尝试创建一些其他类,在其中我放置函数以获取地址数据、习惯数据等,但它看起来就像我的模型,所以我认为这也不是一个好的解决方案问题标题有误导性,但答案可能类似于“查找依赖项注入”@jakemen您的问题标题不符合StackOverflow指南。你可能会分享你的努力,并提到你遇到的问题/错误。“你的问题看起来像是一场讨论,应该在另一个平台上进行。”拉姆昌德我改变了问题的标题