@aopil

Как правильно оформить код?

Есть файл: start.php, который запускается по cron и проверяет наличие новых запросов.

Есть файлы:
pars1.php
pars2.php
pars3.php

В них находятся скрипты под разные сайты, которые требуется вызывать из файла start.phpкогда есть нужный запрос.

У меня есть общие функции, которые требуются во всех файлах и наверно более правильно создать файл functions.php и внести все ф-ции туда, а потом просто подключать этот файл во всех файлах.

Все файлы имеют формат:

class Script {
     public function Test() {
     }
     public function requestTest() {
     }
}


Файл functions.php содержит функции которые работают с БД.

К БД я подключался вот так:
try {
             $this->DB_DO = new PDO($DSN_DO, $DB_USER_DO, $DB_PASS_DO, $OPTIONS_DO);
        } catch (PDOException $e) {
            die();
        }


Подскажите, как в моем случае лучше оформить код, в том числе в каком месте делать коннект к БД?

========
Если делать коннект к БД в файле functions.php , то возникает вопрос как из файла start.php и других вызывать из функций в Class требуемые ф-ции из functions.php, и в целом насколько правильно делать коннект к БД в файле functions.php
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
zeond
@zeond
dev & ops
Я не из мира PHP, но ответ будет содержать инфу которая не привязана к конкретным языкам программирования.

1. Общий код лучше выносить в другие файлы

2. Название файлов для общего кода лучше давать более осмысленными
functions.php ни о чем не говорит. А если общего кода будет больше, то это будет монструозный functions.php? лучше сразу разделять функциональность по смыслу.

Если функции связаны с базой, то и называть db.php. Если с пользователями users.php и т. д.

3. Если в рамках одной фичи вашего приложения требуется сделать N+1 операций в базе то имеет смысл в начале получить соединение в переменную (аля $cnn), затем его использовать в своих нуждах много раз. Вместо того чтобы тыркаться с ним.

4. Соединения нужно всегда за собой закрывать, а не "умирать" через die.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы