![]() |
|
#1
| |||
| |||
| Bună ziua tuturor im au o problemă cu pere mail.php im achiziţie acest mesaj de eroare Fatal error: Clasa "Mail" nu a fost găsit în \ PEAR \ mail.php on-line 26 aici este meu de cod [PHP] <? php / / Trimitere biblioteca PEAR Mail require_once 'Mail.php'; / / Clasa pe Main, utilizate pentru a obţine informaţii comandă, / / Run secţiuni de conducte, ordinele de audit, etc clasa OrderProcessor ( publică $ mOrderId; publică $ mOrderStatus; publică $ mConnection; publică $ mConfiguration; publică $ mContinueNow; private $ mCurrentCustomer; private $ mCurrentOrderDetails; private $ mOrderManager; private $ mReference; private $ mAuthCode; / / Constructor creează DoOrderManager exemplu, function __construct () ( $ this-> mOrderManager = DoOrderManager nou (); ) / / Proces se numeşte de la checkout.php şi orders_admin.php pentru a procesa o / / Comanda; Primul parametru este ID-ul de ordine, iar a doua / / Parametru este o instanţă OrderProcessorConfiguration. Procesul de funcţia publică (newConfiguration $ newOrderId, $) ( / / Set pentru ID-ul $ this-> mOrderId = $ newOrderId; / / Procesor configure newConfiguration $ this-> mConfiguration = $; $ this-> mContinueNow = true; / / Start jurnal de executie $ this-> AddAudit ( "Ordinul procesor a început.", 10000); / / A obţine statutul de ordine $ this-> mOrderStatus = $ this-> mOrderManager-> GetOrderStatus ($ this-> mOrderId); / / Procesul de conducte de secţiune încerca ( while ($ this-> mContinueNow) ( $ this-> mContinueNow = false; cps $ = $ this-> GetCurrentPipelineSection (); $ CPS-> Procesul ($ this); ) ) catch (Exception $ e) ( trigger_error Excepţie ( ' "'. $ e-> getMessage (). '" pe ". $ e-> getFile (). "Linie". $ e-> getline ()); $ this-> MailAdmin ( "eroare la procesarea comenzii ocured.", $ e-> getMessage ()); $ this-> AddAudit ( "eroare la procesarea comenzii ocured.", 10002); arunca Excepţie noi ( "procesor de eroare"); ) $ this-> AddAudit ( "Ordinul procesor terminat.", 10001); ) / / Devine o instanţă obiect care reprezintă secţiunii curente conductei GetCurrentPipelineSection privat funcţie () ( switch ($ this-> mOrderStatus) ( case 0: $ this-> mCurrentPipelineSection = PsInitialNotification nou (); break; Cazul 1: $ this-> mCurrentPipelineSection = PsCheckFunds nou (); break; Cazul 2: $ this-> mCurrentPipelineSection = PsCheckStock nou (); break; Cazul 3: $ this-> mCurrentPipelineSection = PsStockOk nou (); break; Cazul 4: $ this-> mCurrentPipelineSection = PsTakePayment nou (); break; Cazul 5: $ this-> mCurrentPipelineSection = PsShipGoods nou (); break; Cazul 6: $ this-> mCurrentPipelineSection = PsShipOK nou (); break; caz 7: $ this-> mCurrentPipelineSection = PsFinalNotification nou (); break; caz 8: arunca Excepţie noi ( "Ordinul a fost deja finalizate."); break; implicit: arunca Excepţie nou (secţiunea "Necunoscut conducta solicitate."); ) ) / / Trimite e-mail public function Mail (params $, $ a, $ headers, $ mesaj) ( / / Crearea de mail obiect folosind Mail:: Metoda de fabrică mail_object $ = Mail:: factory ( 'smtp', $ params); / / Test obiect de mail este valabil în cazul în care (PEAR:: ISERROR ($ mail_object)) arunca Excepţie nou ($ mail_object-> getMessage ()); / / Trimite e-mail $ result = $ mail_object-> Send ($ a, $ headers, $ mesaj); / / Test de mail în cazul în care a fost trimis cu succes în cazul în care (PEAR:: ISERROR ($ rezultat)) arunca Excepţie nou ( "Nu pot trimite e-mail la $ la.". $ rezultat-> getMessage ()); ) / / Construieşte mesaj de email public function MailAdmin (mesaj $ subiect, $) ( / / De obicei, nu vi se permite să setaţi 'De la' header $ headers [ 'De la'] = $ this-> mConfiguration-> mOrderProcessorEmail; $ headers [ 'Subiect'] = $ subiect; $ headers [ 'a'] = $ this-> mConfiguration-> mAdminEmail; $ this-> mail ($ this-> mConfiguration-> mOrderProcessorEmailParams, $ this-> mConfiguration-> mAdminEmail, $ headers, $ message); ) / / Devine client care a făcut comandă GetCurrentCustomer public function () ( if (empty ($ this-> mCurrentCustomer)) ( $ this-> mCurrentCustomer = new Clientul ($ this-> mOrderManager-> GetCustomerByOrderId ($ this-> mOrderId)); if (empty ($ this-> mCurrentCustomer)) arunca Excepţie nou ($ this-> mOrderId. "pentru a nu are un client "); ) return $ this-> mCurrentCustomer; ) / / Devine detalii cu privire la ordin curent GetCurrentOrderDetails funcţiei publice () ( if (empty ($ this-> mCurrentOrderDetails)) ( $ this-> mCurrentOrderDetails = new OrderDetails ($ this-> mOrderManager-> GetOrderDetails ($ this-> mOrderId)); if (empty ($ this-> mCurrentOrderDetails)) arunca Excepţie nou ($ this-> mOrderId. "Nu are scopul de intrare detalii"); ) return $ this-> mCurrentOrderDetails; ) / / Adaugă mesaj de audit public function AddAudit ($ mesaj, $ messageNumber) ( $ this-> mOrderManager-> AddAudit ($ this-> mOrderId, $ mesaj, $ messageNumber); ) / / Updates pentru statutul de UpdateOrderStatus funcţia publică ($ newStatus) ( $ this-> mOrderManager-> UpdateOrderStatus ($ this-> mOrderId, $ newStatus); $ this-> mOrderStatus = $ newStatus; ) / / Set codul de comanda a lui de autorizare şi cod de referinţă public function SetOrderAuthCodeAndReference (newReference $ newAuthCode, $) ( $ this-> mOrderManager-> SetOrderAuthCodeAndReference ($ this-> mOrderId, $ newAuthCode, newReference $); newAuthCode $ this-> mAuthCode = $; newReference $ this-> mReference = $; ) / / Devine Codul de autorizare şi de referinţă codul private function GetOrderAuthCodeAndReference () ( $ result = $ this-> mOrderManager-> GetOrderAuthCodeAndReference ( $ this-> mOrderId); if (empty ($ rezultat)) throw Exception ($ this-> mOrderId. "nu există"); Rezultatul $ this-> mAuthCode = $ [ 'auth_code']; Rezultatul $ this-> mReference = $ [ 'de referinţă "]; ) / / Devine Codul de autorizare public function GetAuthCode () ( if (empty ($ this-> mAuthCode)) $ this-> GetOrderAuthCodeAndReference (); return $ this-> mAuthCode; ) / / Devine Codul de referinţă public function GetReference () ( if (empty ($ this-> mReference)) $ this-> GetOrderAuthCodeAndReference (); return $ this-> mReference; ) / / Set data de comandă a lui navei funcţiei publice SetDateShipped () ( $ this-> mOrderManager-> SetDateShipped ($ this-> mOrderId); ) ) ?> [/ php] Vă rugăm să ajut pe cineva, va fi foarte apreciate. merge un fel de supărat. Multumesc foarte mult |
|
#2
| ||||||||||||
| ||||||||||||
| Ti-a lua această rezolvate?
__________________
http://www.geeklog.net/forum/viewtop...howtopic=75900 discută despre ea. Nu l-am folosit nici un pear module sub Windows pentru a încercat este cea mai bună cale de urmat. Sistemul meu: Tim
|