Verwendung von Namespaces innerhalb einer Funktion in einer eingebundenen DateiPhp

PHP-Programmierer chatten hier
Anonymous
 Verwendung von Namespaces innerhalb einer Funktion in einer eingebundenen Datei

Post by Anonymous »

Aus dem Titel geht möglicherweise nicht ganz klar hervor, was ich zu tun versuche, aber ich möchte eine Datei in meine Hauptdatei einbinden. Diese eingebundene Datei enthält Funktionen mit Namespace-Klassen innerhalb der Funktion. Etwa so:
main_file.php

Code: Select all

require_once ($inc_path . "functions.inc.php");
require ("/path/to/composer/vendor/autoload.php");
use Netsuite\NetSuiteService;
use NetSuite\Classes\SearchStringField;

$result = ns_customer_exist("[email protected]", $ns);
print_r ($result);
functions.inc.php:

Code: Select all

function ns_customer_exist($email, $ns) {
$searchField = new SearchStringField();
$searchField->operator = "is";
$searchField->searchValue = $email;
$search = new CustomerSearchBasic();
$search->email = $searchField;
$request = new SearchRequest();
$request->searchRecord = $search;
$searchResponse = $ns->search($request);
if($searchResponse->searchResult->status->isSuccess) {
if ($searchResponse->searchResult->totalRecords > 0) {
return $searchResponse->searchResult->recordList->record[0]->internalId;
} else {
return false;
}
} else {
// Todo: return error
return false;
}
}
Wenn ich versuche, dies auszuführen, erhalte ich die Fehlermeldung:

Code: Select all

[22-Dec-2025 18:27:18 UTC] PHP Fatal error:  Uncaught Error: Class "SearchStringField" not found in /path/to/include/functions.inc.php:4
Stack trace:
#0 /path/to/main_file.php(41): ns_customer_exist()
#1 {main}
thrown in /path/to/include/functions.inc.php on line 4
Da Zeile 4 „$searchField = new SearchStringField();“ ist
Wenn ich die Funktion in main_file.php verschiebe, funktioniert es einwandfrei. Alles, was ich lese, sagt mir, dass die Funktion in einer Include-Datei funktionieren sollte, da ich aufrufe, um den Namespace in der Hauptdatei zu verwenden. Ich weiß also nicht, ob ich die Dokumentation richtig lese oder ob ich sie falsch verstehe. Wenn es sein muss, verschiebe ich die Funktionen in die Hauptdatei, aber ich versuche das zu vermeiden, da diese Funktionen am Ende in mehreren Skripten verwendet werden. Ich würde sie lieber an einem Ort verwalten, als in einer Reihe von Skripten. Ich wäre dankbar, wenn mir jemand sagen könnte, was ich falsch mache oder ob das, was ich tun möchte, unmöglich ist.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post