저는 PHP에 약간 익숙하며 JAVA, C# 또는 C++와 같은 강력한 형식의 언어에 더 익숙합니다. 현재 PHP로 웹 도구를 작성하고 있습니다. 내가 원하는 것을하려고하는 데 문제가있다.코드에서 객체 메서드 호출하기
내가 코드에서하고 싶은 간단한 생각은 PHP-IMAP을 사용하여 얻은 일부 이메일을 통해 실행됩니다. 그런 다음 전자 메일 개체 (정의한 클래스)를 만들어 배열에 넣습니다. 그러나 나중에 코드를 표시하기 위해 해당 전자 메일을 순환합니다. 그러나 내가 궁금해했던 것처럼 나중에 루프에서 전자 메일 클래스 개체 메서드를 사용하려고합니다. 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 />';
}
어떤 아이디어
이 클래스와 내가 메서드를 호출하고있어 루프는?
당신은 반환 값에 아무것도되지 않습니다. '에코'. – Jon
php4를 지원하지 않습니다. 'var' 선언을 죽이고 대신'public' /'private' /'protected'를 사용하십시오. 또한 Theres를 재발 명할 이유가 없으므로'Zend_Mail' 구성 요소를 점검하십시오. – prodigitalson