私は PHP には少し慣れていませんが、JAVA、C#、C++ などの厳密に型指定された言語の経験は豊富です。現在、PHP で Web ツールを作成しています。欲しいです。
私がコードでやりたいことの単純なアイデアは、PHP-IMAP を使用して取得したいくつかの電子メールを実行することです。次に、メール オブジェクト (定義したクラス) を作成し、それらを配列に入れます。ただし、コードの後半では、それらの電子メールを循環して表示します。しかし、私が問題を抱えていると推測したかもしれませんが、私は後のループで Email クラス オブジェクト メソッドを使用しようとしています。そして、PHP は配列内の変数がたまたまメールクラスオブジェクト!
toString メソッドを作成し、ループ内で呼び出したいと考えています。このツールの最終バージョンではこれを行う必要はありませんが、不足しているものを見つけたいと思います。
これは、メソッドを呼び出しているクラスとループです。
include 'imap_email_interface.php';
class ImapEmail implements imap_email_interface
{
// Email data
var $msgno;
var $to;
var $from;
var $subject;
var $body;
var $attachment;
// Email behavior
/* PHP 4 ~ legacy constructor */
public function ImapEmail($message_number)
{
$this->__construct();
$this->msgno = $message_number;
}
/* PHP 5 Constructor */
public function __construct($message_number)
{ $this->msgno = $message_number; }
public function send($send_to)
{
// Not Yet Needed! Seriously!
}
public function setHeaderDirectly($TO, $FROM, $SUBJECT)
{ $this->to = $TO; $this->from = $FROM; $this->subject = $SUBJECT; }
public function setHeaderIndirectly($HEADER)
{
if (isset($HEADER->to[0]->personal))
$this->to = '"'.$HEADER->to[0]->personal.'", '.$HEADER->to[0]->mailbox.'@'.$HEADER->to[0]->host;
else
$this->to = $HEADER->to[0]->mailbox.'@'.$HEADER->to[0]->host;
$this->from = '"'.$HEADER->from[0]->personal.'", '.$HEADER->from[0]->mailbox.'@'.$HEADER->from[0]->host;
$this->subject = $HEADER->subject;
}
public function setBody($BODY)
{ $this->body = $BODY; }
public function setAttachment($ATTCH)
{
$this->attachment = $ATTCH;
}
public function toString()
{
$str = '[TO]: ' . $this->to . '<br />' . '[FROM]: ' . $this->from . '<br />' . '[SUBJECT]: ' . $this->subject . '<br />';
$str .= '[Attachment]: '.$this->attachment.'<br />';
return $str;
}
}
?>
ループ:
foreach ($orderFileEmails as $x)
{
$x->toString();
echo '<br /><br />';
}
何か案は?