Обработчик CMS в одном файле
Здравствуйте, вот начал писать свой движок для сайта, а за одно о глобально практиковаться. Назрел вопрос, об быстродействии (разумеется пока проблем с этим нет).
Я планирую весь код написать в одном файле, на пример engine.php - здесь будут и обработки разных форм, регистрации и т.д, и прочие функции которые что-то выводят на сайте. Собственно вопрос? Плохо ли это? Или лучше разбить всё по частям, например для регистрации свой файл обработчик (register.php), для логина свой (login.php) и т.д. Естественно engine.php будет подключен к каждой странице сайта. нашел в интернете пару тем, одни пишут что разницы нет, другие пишут что лучше в одном, третье что лучше разбить на части, так к решению и не пришел. Жду ответов, заранее спасибо! |
Ответ: Обработчик CMS в одном файле
Для начала
http://www.phptherightway.com/ |
Ответ: Обработчик CMS в одном файле
Цитата:
|
Ответ: Обработчик CMS в одном файле
Цитата:
Ваще всё. htaccess, Mod rewrite |
Ответ: Обработчик CMS в одном файле
не понял вас.
|
Ответ: Обработчик CMS в одном файле
Он про то, что
Цитата:
|
Ответ: Обработчик CMS в одном файле
Он про то, что не надо говнокодить, и писать всё в одном файле.
|
Ответ: Обработчик CMS в одном файле
Цитата:
|
Ответ: Обработчик CMS в одном файле
Цитата:
|
Ответ: Обработчик CMS в одном файле
Цитата:
Цитата:
|
Ответ: Обработчик CMS в одном файле
Цитата:
|
Ответ: Обработчик CMS в одном файле
|
Ответ: Обработчик CMS в одном файле
Цитата:
http://habrahabr.ru/post/140693/ |
Ответ: Обработчик CMS в одном файле
Веб сервером перенаправляешь все запросы на один index.php, преобразовывая путь в аргументы, далее тебе router - нормальная библиотека для нахождения путей исходя из числа и типа аргументов.
Далее router'ом направляться будет на отдельный файл/контроллер, "направляться" имеется ввиду он будет include'иться, а в нём уже include'ишь только то что нужно. Всё писать в одном файле - лажа, это нифига не удобно, тупо и нифига не "управляемо" с точки зрения технического дизайна. Вообще правил нет, пиши как думаешь правильно, думай своими мозгами. Ошибайся и учись, не надейся что тебе придут и ответят, или покажут пальцем куда идти, т.к. ты сам нифига не научишься. Так например народ приходит и сразу MVC или его подобных выродков, везде суёт, и нифига не понимает что как и почему, просто потому что ему "сказали так". Ты коди главное, и меньше болтать и по форумам бегать. Только своим трудом кодингом, научишься кодить. Или ваще node.js + express + hogan бери, лол. |
Ответ: Обработчик CMS в одном файле
Цитата:
|
Ответ: Обработчик CMS в одном файле
Буду разбираться... Я вот еще что хотел спросить, вот например взять cms юкоза, там к примеру в каталоге статей на страницы с материалом и описанием ссылки такого типа:
сайт.ру/publ/12-1-0-19 сайт.ру/publ/12-1-0-22 сайт.ру/publ/12-1-0-26 сайт.ру/publ/12-1-0-27 сайт.ру/publ/12-1-0-29 сайт.ру/publ/12-1-0-88 Эти страницы формируется через get запрос в одном файле publ.php? Или у каждого из адресов есть отдельная страница (файл .php или .html), судя потому как индексирует поисковик то наверное да. Или я ошибаюсь? |
Цитата:
MVC часто является сильным блоком от простоты, когда тебе тупо нужно обозначить route и там же ответить. Не все запросы требуют загрузку из бд, не все требуют View'а вообще. Я уже не говорю о взять любую MVC модель, и перевезти на single-page основу, будет куча проблем. Придерживаясь простоты, всё что нужно - это очень простая самодельная ORM для только валидации, и возможность обозначения route'ов и тамже их контроллеров. - Всё что нужно для полного счастья. Любая система на основе MVC доказала себя как enterprise и те кому не пофиг, стараются с этим не связываться. Взять например Wordpress который не следует MVC, а является гибритом - именно то к чему приходит любой пользователь MVC с долгой жизнью проекта. И значит вот у них из Core Developer команды уходят люди, постоянно, т.к. это убожество с которым невозможно им работать. Один из явных примеров: Ghost, где ребята хотели всего-то сделать другой WYSIWYG редактор, с Markdown'ом, и обосрались, в итоге нафиг ушли из компании и сделали за не продолжительный срок в разы мощнее блог движёк чем Wordpress. Чище и проще. Всякие MVC, PAC, MVP, MVVM, и чё там ещё, это как "рецепт" для тех кто своей головой по задачи не думает. В команде хороших ребят, есть явные бизнес и тех. задачи, сядьте, обсудите и своими мозгами думая, используя примитив и простоту делайте то что нужно, не заморачиваясь системами паттернов и правилами "как нужно делать приложения". Потому что это всё продукт enterprise, и создан решать конкретную проблему тупости разрабов в enterprise мире. В мире мозгов - этой тупости поменьше, следственно и такие решения нафиг не нужны. Цитата:
Кури "pretty url". |
Ответ: Обработчик CMS в одном файле
moka, красиво написал, прям вау. (не сарказм)
|
Ответ: Обработчик CMS в одном файле
Цитата:
если бы это был файл через который генерируется, то скорее всего было бы так. Цитата:
|
Ответ: Обработчик CMS в одном файле
Используя rewrite функционал в практически любом нормальном веб сервере (apache, nginx, и т.п.) можно модифицировать любой запрос (url) до того как он перенаправится на обработку скриптом (php в данном случае).
Одна из техни Pretty URL, когда все запросы перенаправляют на один файл index.php, и уже в index.php далее парсят всю строку запроса в аргументы, и исходя из них подбирается подходящий route файл и дальше, по цепи логики. Короче, не нужно куча файлов, и не нужно никаких директорий, это всего абстрактные записи - то как выглядит url не имеет ничего общего со структурой директорий/папок. А лишь служит данными по которым фильтруются данные в базе, и всё по одному файлу шаблону выводиться как ответ. Бля, нихера не "короче" вышло. В общем хз как короче - иди в общем кодить, и меньше вопросы задавай, больше экспериментируй - только так и научишься. В интернетах меньше пользы чем в практике и собственных ошибках/успехах. Такого рода как у тебя вопросы, не возникают у того кто хоть чуток нормально поигрался с php, apache и т.п. следственно, не трать чужое время - иди и программируй. |
Ответ: Обработчик CMS в одном файле
Начал писать код, через единую точку входа, вот index:
Код:
<?php Код:
<?php А вот и код в браузере. Что это такое, и как его исправить? К тому же всё в перемешку, хотя код указан нормально. |
Ответ: Обработчик CMS в одном файле
Во первых учитывай что после ?> новая строка - будет как новая строка в HTML.
Также не используй echo для вывода HTML тегов, вообще. Закрываей php тег ?> и далее пиши нормальный html со встравками типа <?=$variable?> и тому подобными. А лучше найди нормальный templating язык. Также TAB'ы (indention) для кого придумали? Код читать когда каждая строка слева не реально, это относится к html'у также и к php. Экспиреминтируй больше. Ты тут выложил код хрен знает что, конечно у тебя там будут проблемы, т.к. там каша. Увидел проблему - бери простой прототип пиши и смотри там. Экспериментируй больше чем пиши на форуме. |
Ответ: Обработчик CMS в одном файле
php теги я закрываю. Пробовал выводить страницу через include, та же фигня. А на счет indention, мне удобней читать код когда всё с лева.
|
Ответ: Обработчик CMS в одном файле
Цитата:
Это ты не закрыл, это ты выводишь html используя php. Цитата:
|
Ответ: Обработчик CMS в одном файле
echo у меня закрыт.
|
Ответ: Обработчик CMS в одном файле
Ты видимо не понял.
Цитата:
|
Ответ: Обработчик CMS в одном файле
Я же написал, при использовании include та же фигня.
|
Ответ: Обработчик CMS в одном файле
Вот тебе пример, изучай (запусти с сервера):
PHP код:
|
Ответ: Обработчик CMS в одном файле
Вы меня наверное не слышите. Причем здесь этот код...
|
Ответ: Обработчик CMS в одном файле
Всё, я уже и сам разобрался, с 25 раза перебирая каждую функцию кода выяснил в чем ошибка - кодировка была UTF8, поставил без BOM и сразу всё нормально заработало.
|
Ответ: Обработчик CMS в одном файле
Раз уж пошел такой тред, то и я по задаю вопросы. :)
Возможно ли через ajax выводить новые новости без перезагрузки страницы в div'ах так же как и на php? PHP код:
|
Ответ: Обработчик CMS в одном файле
jQuery - $.post $.get
$().append $().appendTo |
Ответ: Обработчик CMS в одном файле
Цитата:
|
Часовой пояс GMT +4, время: 01:00. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot