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);
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;
}
}
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
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.
Mobile version