|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|||||||||||||||||||||
Простейший движок сайта на PHP05.08.2012, 07:13. Показов 10542. Ответов 33
Метки нет (Все метки)
Привет!
Понадобилось написать движок для сайта на PHP. Сайт состоит из ~10 страниц с одинаковыми header и footer. Получился примерно вот такой kernel.php:
бла-бла.php:
Такой способ не катит:
Выносить header и footer в отдельные файлы не хочу, мне больше нравится мое решение с шаблоном сайта kernel.php Добавлено через 1 час 7 минут актуально
0
|
|||||||||||||||||||||
| 05.08.2012, 07:13 | |
|
Ответы с готовыми решениями:
33
Простейший PHP чат Самописный движок для сайта визитки Как написать движок для сайта? |
|
26 / 25 / 5
Регистрация: 25.04.2012
Сообщений: 73
|
||||||
| 05.08.2012, 08:21 | ||||||
А вообще, умение вовремя отказаться от неудачного архитектурного решения важнее умения писать код. Ваше архитектурное решение неудачно.
1
|
||||||
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|||||||||||||||||
| 05.08.2012, 08:46 [ТС] | |||||||||||||||||
|
oshibka404, не меняет суть проблемы.
Добавлено через 2 минуты
Добавлено через 9 минут Попробую объяснить на примере: Например, мы можем зациклить html код, не запихивая его в php-контейнер:
Что-то вроде:
0
|
|||||||||||||||||
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|
| 05.08.2012, 11:44 [ТС] | |
|
Taatshi, поподробнее, пожалуйста, пример бы. И include же файлы подключает?
0
|
|
|
Почетный модератор
|
|||||||||||||||||||||
| 05.08.2012, 11:53 | |||||||||||||||||||||
|
У Вас сайт с базой данных или нет? Впрочем, неважно.
Вот смотрите. Вы забиваете контент в переменную. Нафига, когда его можно с таким же успехом забить в отдельный файл php и вместо
1
|
|||||||||||||||||||||
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|
| 05.08.2012, 11:55 [ТС] | |
|
Taatshi, да, использую её для хранения сотрудников, клиентов и заказов.
0
|
|
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
| 05.08.2012, 13:23 | |
|
2
|
|
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|
| 05.08.2012, 13:31 [ТС] | |
|
Taatshi, я раньше именно так и делал, но этот способ не катит, т.к. $header для разных страниц разный, из-за разных css и js и меню с выделенным текущим элементом.
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|
| 05.08.2012, 13:37 | |
|
Wir2al, статью которую тебе дал KOPOJI прочти "от и до". В ней ответ на все вопросы твои.
1
|
|
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
| 05.08.2012, 13:40 | |
|
в ней и в следующей еще немного
их там две статьи
0
|
|
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 05.08.2012, 13:52 | |
|
0
|
|
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|
| 05.08.2012, 13:57 [ТС] | |
|
Денис Н., подробнее?
0
|
|
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 05.08.2012, 14:12 | |
|
Шаблон шаблоном, но если есть логика представления, нужно где-то ее реализовать же
Добавлено через 55 секунд читай про MVC и попытайся реализовать его в процедурном подходе
0
|
|
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|
| 05.08.2012, 14:19 | |
|
0
|
|
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
|
| 05.08.2012, 21:20 [ТС] | |
|
Почитал статьи, узнал много нового, но новых решений проблемы не увидел. Тот же самый html-шаблон с теми же самыми переменными $content и $title. Снова ведь большой кусок кода уникального content необходимо экранировать и засовывать в переменную.
0
|
|
|
не Администратор ^_^
|
|
| 06.08.2012, 00:29 | |
|
http://php.net/manual/ru/function.eval.php
Что тебе надо? чтобы шапка и футер были статичными, а менялось только содержание страницы? Учитывая что на странице может быть php код?
0
|
|
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
||||||||||||||||
| 06.08.2012, 00:39 [ТС] | ||||||||||||||||
|
Unick, вот так хочу:
весь шаблон следующего вида в отдельном файле template.php:
В переменную $header или $title я например могу вписать такое:
0
|
||||||||||||||||
|
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 817
|
|||||||
| 06.08.2012, 02:30 | |||||||
|
должны быть просто массивы данных, а меню строить в отдельном файле-шаблоне, подключив его в основной шаблон через include и $content не должно быть - нужно просто для каждого модуля иметь свой отдельный общий шаблон не надо экономить на шаблонах и лепить общий шаблон - это не правильно, это рано или поздно приводит к хаосу надо иметь на каждый модуль свой шаблон в нем и писать
1
|
|||||||
|
14 / 14 / 2
Регистрация: 22.09.2010
Сообщений: 227
|
||||||
| 06.08.2012, 16:33 [ТС] | ||||||
|
Василий Макогон, я готов сделать как угодно, лишь бы было правильно и удобно. Просто я не знаю, как обычно это делается и от вас так и не смог этого услышать.
Вот так?
Понял, если все получится, то это именно то, что я и хотел тут услышать, спасибо. Добавлено через 2 часа 55 минут Сделайте пожалуйста простейший пример этого шаблона. У меня получается полная путаница. Что инклудить в шаблон main.php на место уникального контента? Саму страницу (например, index.php)? Тогда, что должно быть в index.php? Если только один контент, тогда откуда брать header например или title? Создавать несколько файлов для одной страницы?
0
|
||||||
| 06.08.2012, 16:33 | |
|
Помогаю со студенческими работами здесь
20
Движок для партнерки на php Где можно скачать простейший скрипт чата в одном файле на PHP? Простейший вывод категорий сайта через GET Простейший торрент-трекер на php Движок сайта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|