- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте. Для учебных целей хочу сделать простой сайтик на PHP и MySQL, чтобы с самого начала код был оптимальным, удобным, красивым (не говнокод короче).
Думаю над такой схемой:
Но я хочу сделать несколько страниц с php кодом: обратной связи, поиска по статьям (короче где будет не только HTML но еще запросы к базе и т.п). Вот как это грамотно сделать? Пока что ничего умнее чем сделать проверку в index.php не придумал:
Интуиция говорит что эти include в index.php как раз говнокод:( Как бы сделали профи?
1. это все можно нужно сделать в одной таблице
NikolayZvyakin,
первое что нужно сделать прочитать это
вторым почитать, что такое ООП и попробовать познать дзен какого нибудь паттерна (напрмиер)
совет, не начинайте в учебных целях, решать свою задачу, пока не прочитаете и не осознаете как минимум про БД, ООП и шаблоны проектирования.
Ну если хотите с include начать, то вот этот способ получше
NikolayZvyakin, объедините таблицы, сделайте слаг неотъемлемой частью страницы – по нему и ищите в БД. Добавьте вариативное/обязательное поле, содержащее базовое имя обработчика (если поля нет или оно пустое, можно к примеру использовать слаг), чтобы можно было делить страницы на группы. Пример: первая таблица тут.
Такой план как?
Суть в том, что если есть 1 сегмент урл - обработчик в зависимости от наличия в $conf['pages'] правил для него, а если он не описан в $conf['pages'], то обработчик таблицы базы данных с правилами для урлов. Иначе (/) - indexclass.
Будет полезно:
autoload
Делайте как хотите, главное добейтесь работоспособности. Не говнокод у вас сейчас не выйдет. Потом все перепишете, и не раз. Главное - делайте выводы, улучшайте, расширяйте. Ещё выучите ООП, а также SOLID и GRASP. Так быстрее придете к красивому коду.
Рефакторинг - практически бесконечный процесс.
совет, не начинайте в учебных целях, решать свою задачу, пока не прочитаете и не осознаете как минимум про БД, ООП и шаблоны проектирования.
Человеку нужно задачу решать...
Ну и дети учаться ходить без костылей, коим ваше ООП и шаблоны в общем-то являются :)
---------- Добавлено 20.04.2017 в 14:22 ----------
По делу, как сделано у меня:
Каждый раздел в nginx направляется на свою точку входа.
Потом у страниц подключается общие шапка и подвал.
При этом у меня как бы нету ни статей, ни "статичных" страниц.
На одном сайте все статьи-статика размещаются в нейтральном разделе /info/, который роутит на файл /info.php
В принципе, можно роутить на /info/index.php
Правильно ли это или нет?
Хз, мне удобно.
Ну, а если Вы решите делать роутинг на приложении, то вынесите правила в отдельный файлик вроде routes.php, хотя можно и в общем файле конфигов держать.
Ну а еще можно все роутить т.н. датабейсикалли :)
поставьте двиг популярный и его изучайте. это в целом перспективнее и быстрее придете к понимаю важных вещей
Все спасибо! буду делать