main_file.php
Код: Выделить всё
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("customer@email.com", $ns);
print_r ($result);
Код: Выделить всё
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;
}
}
Код: Выделить всё
[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
Если я перенесу функцию в main_file.php, она будет работать нормально. Все, что я читаю, говорит мне, что наличие функции во включаемом файле должно работать, поскольку я вызываю использование пространства имен в основном файле, поэтому я не знаю, правильно ли я читаю документацию или я ее неправильно понимаю. Если понадобится, я перенесу функции в основной файл, но стараюсь этого избежать, поскольку в конечном итоге эти функции будут использоваться в нескольких сценариях. Я бы предпочел хранить их в одном месте, а не в куче скриптов. Буду признателен, если кто-нибудь скажет мне, что я делаю неправильно или что то, что я хочу сделать, невозможно.
Подробнее здесь: https://stackoverflow.com/questions/798 ... luded-file
Мобильная версия