Ребят, спасибо всем, кто принимает участие в теме. Я понимал, что создав эту тему много споров возникнет. Это как на других ресурсах, стоит заикнуться про ооп, сразу "Ты не знаешь Yii, Sympony, Zend? Ты пишешь на хреновом IDE?" иди и учи лучше бухгалтерию, а говнокод не пиши. В общем я привык. Я видел г.код и сам частенько его переделываю, матерюсь. В универе делали примитивные игрушки на Си, там как-то логичней было использовать объекты, скажу больше, там НЕ логично их НЕ использовать. А в вэбе ООП лично для меня интересно использовать только под конкретные задачи / плагины / модули, а не под всё подряд. Например, недавно скачал класс для работы с PDF. Его инициализируешь, наполняешь (много методов разных) и сохраняешь в файл. Удобно и просто мне, как кодеру. То же самое я и решил сделать на классе Фильм. Ну просто мне удобней так, чем сразу со сложного начать. Думал, наполню я объект фильм и выведу его в файл. Меня интересовала больше грамматика моего кода и всего-то)
В функциональном кодинге, у меня логика железно распределена. На каждую конкретную задачу (страница "пользователи", "заказы", "блокнот менеджера", "табели", "план" и тд., делается отдельная страница.
.htaccess -> index.php -> парсинг url -> "роутер" напрявляют с помощью 1 файла в нужную функцию. Дальше всё, что я (или главный наш) творим, находится в рамках конкретной функции.
function page_XXXXX(){
ob_start();
$buffer = ob_get_contents();
ob_end_clean();
return $buffer;
}
Всё строго по правилам:
1) echo без буферизации выводит данные (собранную страницу) только один раз, в конце файла index.php
2) В рамках одного php файла открывается тег "<?php" строго один раз
3) html шаблоны страниц лежат в файле шаблонов, без единого php кода. Всё.
Остальная работа идет в каждой функции.
При этом есть "сборник" функций по конкретным "сущностям"
Вот например список функций для работы с пользователями.
1) Функция создания и регистрация пользователя
2) Функция редактирование пользователя
3) Функция удаление пользователя
4) Функция вывод всех пользователей в массив для нужд других функций и модулей.
5) Авторизация
6) Напоминание паролей и какие-то еще...
Отличаются функции только окончанием. Префикс одинаковый.
Класс в будущем я планирую применить только в случае к Объекту "пользователь", но это после того, как научусь и пойму, что мне не хватает тех 6-ти функций и проще работать с классом.
:)