-
-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Description
Ваш код, в общем и целом, выглядит правильным, но есть несколько замечаний:
- Отсутствие импорта класса Exception: Для использования класса Exception в вашем коде, вы должны включить эту строчку в верхней части вашего файла:
use Exception;- Нет контроля типов для аргументов функций. Возможно, стоит использовать Type Hinting, чтобы убедиться, что функции получают ожидаемые типы данных.
Например, функция getBalance($address) может быть определена таким образом:
public function getBalance(string $address)- Метод
send($method, $data = [])формирует query string с помощью оператора+, который в PHP используется для арифметического сложения, а не для объединения массивов. Для объединения массивов в PHP используйте операторarray_merge(). В итоге ваш код должен выглядеть так:
http_build_query(array_merge($data,
[
'provider' => $this->provider,
'providerKey' => $this->providerKey,
'type' => $this->type,
'jettons' => $this->jettons,
]))- Ваше использование CURL не включает проверку ошибок. Всегда хорошей практикой является добавление обработки ошибок при работе с внешними ресурсами, такими как API. Здесь как это можно сделать:
private function request($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch))
{
throw new Exception('Curl error: ' . curl_error($ch));
}
curl_close($ch);
return $response;
}- В вашем методе
sendTransactionJetton($mnemonics, $toAddress, $amount, $jetton)вы включаете$jettonв запрос, но не используете его в дальнейшем. Если вы хотите использовать свойствоjettonsс учетом переданного значения$jetton, нужно обращаться к элементу массива по этому ключу.
Пожалуйста, учтите, что мои предложения основаны на общих практиках программирования и могут не совпадать с вашими конкретными требованиями к проекту.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels