Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ [php] Nowe biblioteki PHPMailer, gdzie wstawić element USE ?

Napisany przez: starterrrrr 11.08.2021, 09:37:56

Witam.

Przerabiam stary skrypt, potrzebuje wgrać nową wersje PhpMailera, poprzednia już rzuca komunikaty "depreciated" smile.gif


Mam w pliku: 'functions/functions.php' funkcje do wysyłania emaili i w niej includowane poprostu biblioteki PHPMailer:

  1. function sendMail($email, $subject, $message) {
  2. ...
  3. require_once($katalog_admin.'/library/phpmailer/PHPMailerAutoload.php');
  4. ..
  5. }
  6.  



W miejscach gdzie trzeba wysłać emaila uruchamiam tą funkcje. Plik z tą funkcją jest includowany cały czas, gdyż są tam tez inne potrzebne funkcje.

Nową wersje PHPMailera wgrywam już za pomocą Composera. i umuszę wstawić klauzule USE i tu problem, nie wiem kiedy to zrobić. Czy w pliku z funkcjami czy w pliku głównym index.php który includuje funkcje?


  1. use PHPMailer\PHPMailer\PHPMailer;
  2. use PHPMailer\PHPMailer\SMTP;
  3. use PHPMailer\PHPMailer\Exception;


Ciężko mi okreslić w których miejscach te emaile są wysyłane i w których momentach. Jak sobie z tym poradzić?

Napisany przez: sazian 14.08.2021, 12:28:06

Skoro już musisz robić coś tak głupiego to nie używaj "use" tylko pełnych nazw
Czyli nie $mailer = new PHPMailer(); tylko $mailer = new PHPMailer\PHPMailer\PHPMailer();


Napisany przez: Tomplus 14.08.2021, 19:59:48

Skorzystaj z Composera i dodaj bibliotekę z tego menadżera bibliotek PHP, a potem podepnij jego autoload.

Napisany przez: starterrrrr 16.08.2021, 08:50:48

Już wszystko ruszyło smile.gif

W pliku z funkcjami php dałem na początku USE, biblioteki dogrywam za pomocą Composera.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)