функции store_config/load_config — это уже не уровень языка, это более высокий уровень абстракции — фреймворки, etc, потому что config — это само по себе абстрактное понятие в отличие от xml, ini или что там еще.
А насчет паскаля — насколько я его помню, указатели в нем не настолько «продвинуты», как в Си. Поправьте меня, если я не прав.
Для обучения новичков программированию Паскаль хорош. Потому что начинать с Си очень трудно. Но для того, чтобы понимать как работает PHP на более низком уровне знания Паскаля вряд ли помогут.
Навскидку можно предложить решение — при первом заходе с /?affId=12 ставить временную cookies на 5-10-15 мин. Если в течение этого времени юзер не сделал переход на другую страницу (страницу товара/категории/поиска/чекаута/etc.), то это явно не покупатель и даже если он пришел с нормальной ссылки а не img, то профита нам с него нет и вряд ли предвидится. Если переход есть — ставим уже настоящие cookies, которые будут проверяться при чекауте.
Скорее всего, если у них не один сервер, а несколько за лоад балансером, то один из них не был неправильно настроен и когда реквест шел на него, получался вот такой фейл. Остальные были ок и для других запросов отдавался правильный контент
По поводу KISS есть хорошая цитата от Брайана Кернигана:
«Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. „
А насчет паскаля — насколько я его помню, указатели в нем не настолько «продвинуты», как в Си. Поправьте меня, если я не прав.
«Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. „