@No___Name

Как правильно разделить классы в ООП PHP?

Начал изучать ООП в PHP сразу много информации голова просто взрывается, но не могу понять, пот у меня есть проект в основном это скрипт выполняющийся в фоновом режиме через определенный промежуток врмени (через CRON). Так вот, разделил я его так:
1. Файл database.php - в нем хранится клас и функции для работы с БД.
2. Файл run.php - там хранятся функции для работы с с каждой строкой из БД (можно сказать основной файл)
3. Файл api.php - функции сторонних сервисов, необходим для run.php
4. Файл config.php - ну тут все понятно чисто переменнные для работы
5. Файл index.php - основной который запускает и объединяет все.
так вот вопрос в следующем, можно ли в одном файле хранить 2 класса? Насколько это правильно? ну и чтобы читабельно было. Нет желения пложить файлы для каждого класа.

P.S. И еще вопрос обязательно ли использовать ООП или это зависит от каких то факторов(например показывает уромень автора)?
  • Вопрос задан
  • 1947 просмотров
Пригласить эксперта
Ответы на вопрос 3
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Не нужно городить отсебятину, есть PSR в котором все написано.
Официальный сайт www.php-fig.org/psr
Один из русских переводов https://svyatoslav.biz/misc/psr_translation/
PSR-0 и PSR-4 это прям то что Вам нужно.
Заодно советую почитать про MVC.
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
так вот вопрос в следующем, можно ли в одном файле хранить 2 класса? Насколько это правильно?

Нет. это не правильно. Ссылки на стандарты описывающие это привел Дмитрий Энтелис
1. Файл database.php - в нем хранится клас и функции для работы с БД.
2. Файл run.php - там хранятся функции для работы с с каждой строкой из БД (можно сказать основной файл)
3. Файл api.php - функции сторонних сервисов, необходим для run.php
4. Файл config.php - ну тут все понятно чисто переменнные для работы
5. Файл index.php - основной который запускает и объединяет все.

Судя по тому что Вы приводите список файлов с функциональной декомпозицией могу предположить что и в самих файлах у Вас не ООП-код (использование классов это еще не означает ООП). Поэтому рекомендую пройти какие-нибудь курсы по ООП либо почитать соответствующие книги.
И еще вопрос обязательно ли использовать ООП или это зависит от каких то факторов(например показывает уромень автора)?

использование ООП не всегда уместно, все зависит от конкретной задачи. но знание ООП практически везде обязательно
Ответ написан
Комментировать
Могу ответить как человек, который в этом всем роется и учится.

1. Обычно я храню все классы в папке /class/ с именами [имя_класса].class.php, таким скриптом можно их все подключать тогда, когда они будут задействованы где-либо в коде:
function __autoload( $className ) {
  $className = str_replace( "..", "", $className );
  require_once( "class/$className.class.php" );
}

2. ООП это методология программирования, когда у вас всего, скажем, 3 не сложных функции, то врядли вы сможете понять профит от ООП. Когда у вас огромный проект, где куча разных модулей, то в десятках функций начнете просто тонуть. Кроме того поддерживать такой проект кем-либо кроме вас будет очень трудно. Нет никакой структуры, никакого интуитивного понятия, как это должно работать и что делает.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы