Zoals velen maak ik gebruik van composer om makkelijk(er) libraries toe te voegen aan mijn projecten. Wat me niet helemaal duidelijk is, is het gebruik van "use". Een voorbeeld:

include_once 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;


Nu staat het bovenstaande in een "moederbestand" dat ik overal include. Echter krijg ik vervolgens dit soort meldingen:

Fatal error: Uncaught Error: Class "PHPMailer" not found


Klopt het dat ik "use" bovenaan ieder script moet toevoegen en dat de use regels die ik in mijn moederbestand heb staan niet worden ingeladen/uitgevoerd wanneer ik dat bestand include?
Klopt, use (de namespace is dat) moet je in elk bestand toevoegen.
Helder, ga ik dat doen.

[size=xsmall]Toevoeging op 20/01/2024 10:22:36:[/size]

Overal waar een library vereist is, is meer wat ik moet toch, toch?
je kunt ipv use ook in je script doen:

<?php

$mailer = new PHPMailer\PHPMailer\PHPMailer();
?>

al vraag ik me af of dat path / namespace wel helemaal jofel is zo met 3x phpmailer erin.
Dank voor die tip Ivo, dat is wellicht efficiënter.

Reageren