- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Камрады, если не сложно - с профессиональной точки зрения оцените качество кода плз:
концовка обрезана, не влазит, форум ругаиццо.
Я имею опыт в этом деле чуть более двух лет, но профессионалом себя не считаю. В суть кода влазить не хочется(многа букав:)). Так, поверхностно посмотрел: очень радует понятность кода, отличные комменты. Увидел обработки ошибок, это тоже хорошо.
Z-Den, Спасибо.
Нормальный код написанный PHP с использованием ООП + комментарии, вообще отлично.
LEOnidUKG, Спасибо!
Форматирование вцелом хорошее.
Несоответствие описания и названия функции:
Получение кошелька продавца из БД.
12 знаков ( WMM )
*/
function getPurchase() {
Слово с орфографической ошибкой: CPaiment
В одних местах конкатенация слитная, в других через пробел:
$filename = $log_path . $filename;
Лично я отказался бы от таких громозких конструкций:
( $data['LMI_PAYMENT_NO'] == $_POST['LMI_PAYMENT_NO'] ) &&
( $data['LMI_SYS_INVS_NO'] == $_POST['LMI_SYS_INVS_NO'] ) &&
( $data['LMI_SYS_TRANS_NO'] == $_POST['LMI_SYS_TRANS_NO'] ) &&
( $data['LMI_SYS_TRANS_DATE'] == $_POST['LMI_SYS_TRANS_DATE'] ) ) ) {
Местами параметры отделяются пробелами от скобок, местами нет:
fclose( $handle );
$data = unserialize( $data );
if ( strtoupper($hash) != strtoupper($data['LMI_HASH']) ) {
Тут, если не ошибаюсь, при несоответствии кол-ва параметров, будет вылетать варнинг или нотис:
Так же функция "getInvoiceParams" возвращает ассоциативный массив, который совершенно не нужен для list( $customerwmid, $wmid, $storepurse ), так как ключи теряются.
ПС.
require( 'keys/data.php' );
Что-то до боли знакомое :))))))
Посмотрел только первую функцию... parseSum( $sum )
if ( !isset($sum) ) return -1; - проверка лишняя, переменная $sum всегда будет существовать, иначе будет parser error...
Дальше в ней же можно написать короче...
А так вроде бы код красивый, с коментариями.. :)
Есть впечатление, что ООП использовано ради ООП, и классы больше хранилище для функций. Я думаю было бы более логично сделать классы конкретных видов платежей как наследников CPayment.
Не нравится использование require внутри класса, это не учитывая того, что обработки нету, если файла не будет.
Где-то смутно не нравится формирование html-а (xml-a) внутри класса.
Это навскидку :)
на целое можно просто через is_int попробывать проверить
но начало parseSum
function parseSum( $sum ) {разве parseSum объявлен как static ? или я что-то пропустил
эти вещи в самом начале увидел, потом может еще присмотрюсь )
Не нравится использование require внутри класса
Кстати да, при повторном require там походу вылетит эксепшен class wmsigner already exists :)