PHPMailer

LudwigSt

Quote from: DarkViper on April 29, 2022, 04:57:00 AM
Alle Klarheiten beseitigt??
Danke Manuela, alles verstanden und klappt!  :-)
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

DarkViper

#4
Quote from: LudwigSt on April 28, 2022, 01:51:50 PM
Also doch alles in Kleinbuchstaben?

Und wie ist dann der Aufruf? use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';

funktioniert dann doch nicht, oder doch?
Dein Beispiel gilt nur, wenn das System keinen PSR-4 konformen Autoloader hat, wie z.B. Composer oder eben auch WB  ;-)

Alles in Kleinbuchstaben?   eindeutig "JEIN"

Die Regeln für PHPMailer (und zukünftig für alle Pakete):
Die physikalischen Verzeichnisnamen in Kleinbuchstaben (phpmailer/phpmailer/src/)
Die Namespaces und Dateinamen der Klassendateien in gemischter Schreibweise (PHPMailer.php), wobei der Dateinamen sowohl vom Namen als auch der Schreibweise identisch zum enthaltenen Klassennamen (mit angehängtem '.php') sein muss.

Der Aufruf besteht dann nur noch aus z.B.:
<?php
// den PHPMailer einbinden
use PHPMailer\PHPMailer\PHPMailer;
use 
PHPMailer\PHPMailer\SMTP;  // <<<< wird nur benötigt, wenn das aufrufende Programm public SMTP-Konstanten verwenden will

// irgendwas vorher erledigen

// jetzt Mailerinstanz erzeugen
$oMailer = new PHPMailer();
//die Properties setzen und dann nacheinander die benötigten Methoden aufrufen
$oMailer->xxxx  'ztzu';
$oMailer->tuwas('xxxx');

// irgendwas anderes danach noch erledigen


Das ist alles, was für den PHPMailer benötigt wird.
Nur ein einziger use-Eintrag und keinerlei  require() oder include(). Der Rest wird alles automatisch bei Bedarf vom Autoloader erledigt.

Alle Klarheiten beseitigt??

LG. Manuela
[url=http://www.youtube.com/watch?v=tmzDAz6ZvFQ]Der blaue Planet[/url] - er ist nicht unser Eigentum - wir haben ihn nur von unseren Nachkommen geliehen[br]
[i]"You have to take the men as they are... but you can not leave them like that !" :-P [/i]
[i]Das tägliche Stoßgebet: [b]Oh Herr, wirf Hirn vom Himmel ![/b][/i]

LudwigSt

Also doch alles in Kleinbuchstaben?

Und wie ist dann der Aufruf? use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';

funktioniert dann doch nicht, oder doch?
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.

Luisehahne

Hallo Ludwig,
das muss so blieben wie es ist. Unter Windows wirst du keine Änderung feststellen, aber unter Unix wird er die Klasse nicht finden

Dietmar
Note: Once the code has been generated, it is easy to debug. It's not a bug, it's a feature!

LudwigSt

Hallo an alle,

das Verzeichnis für den PHPMailer ist in der heruntergeladenen zip Datei schon als "phpmailer" in Kleinbuchstaben vorhanden. Man könnte jetzt meinen, das liegt an Windoof, aber die Unterverzeichnisse, die ebenfalls Dateien mit Groß- und Kleinschreibung enthalten, werden korrekt dargestellt.

Wenn ich das richtig verstanden habe (nach Forumssuche nach PHPMailer), dann sollte man die Ordner in "PHPMailer" umbenennen. Kann man den dann ganz normal für eigene Anwendungen benutzen, oder muss etwas beachtet werden?
LG Ludwig

Wissen ist Macht - aber nix wissen macht auch nix.