|
PHP / MySQL Создание динамических Веб-ресурсов |
01.05.2014, 22:16
|
#16
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик 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), судя потому как индексирует поисковик то наверное да. Или я ошибаюсь?
Последний раз редактировалось mtaracing, 01.05.2014 в 23:25.
|
(Offline)
|
|
02.05.2014, 02:15
|
#17
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Сообщение от Randomize
Что плохого в отделении логики от представления?
|
Тем что современный подход и простота на основе micro-services позволяет создавать боле масштабируемые системы с в разы лучше производительностью.
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 мире.
В мире мозгов - этой тупости поменьше, следственно и такие решения нафиг не нужны.
Сообщение от mtaracing
Буду разбираться... Я вот еще что хотел спросить, вот например взять 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), судя потому как индексирует поисковик то наверное да. Или я ошибаюсь?
|
Всё в одном файле, и не publ.php скорее всего.
Кури "pretty url".
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
02.05.2014, 05:20
|
#18
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,362
Написано 2,474 полезных сообщений (для 6,862 пользователей)
|
Ответ: Обработчик CMS в одном файле
moka, красиво написал, прям вау. (не сарказм)
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.05.2014, 17:25
|
#19
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Обработчик CMS в одном файле
Сообщение от mtaracing
Буду разбираться... Я вот еще что хотел спросить, вот например взять 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), судя потому как индексирует поисковик то наверное да. Или я ошибаюсь?
|
publ это скорее всего какой нибудь раздел для статей.
если бы это был файл через который генерируется, то скорее всего было бы так.
сайт.ру/publ.php?12-1-0-19
сайт.ру/publ.php?12-1-0-22
сайт.ру/publ.php?12-1-0-26
сайт.ру/publ.php?12-1-0-27
сайт.ру/publ.php?12-1-0-29
сайт.ру/publ.php?12-1-0-88
|
хотя возможно я ошибаюсь.
|
(Offline)
|
|
03.05.2014, 04:29
|
#20
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Обработчик CMS в одном файле
Используя rewrite функционал в практически любом нормальном веб сервере (apache, nginx, и т.п.) можно модифицировать любой запрос (url) до того как он перенаправится на обработку скриптом (php в данном случае).
Одна из техни Pretty URL, когда все запросы перенаправляют на один файл index.php, и уже в index.php далее парсят всю строку запроса в аргументы, и исходя из них подбирается подходящий route файл и дальше, по цепи логики.
Короче, не нужно куча файлов, и не нужно никаких директорий, это всего абстрактные записи - то как выглядит url не имеет ничего общего со структурой директорий/папок.
А лишь служит данными по которым фильтруются данные в базе, и всё по одному файлу шаблону выводиться как ответ.
Бля, нихера не "короче" вышло. В общем хз как короче - иди в общем кодить, и меньше вопросы задавай, больше экспериментируй - только так и научишься. В интернетах меньше пользы чем в практике и собственных ошибках/успехах.
Такого рода как у тебя вопросы, не возникают у того кто хоть чуток нормально поигрался с php, apache и т.п. следственно, не трать чужое время - иди и программируй.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
05.05.2014, 00:07
|
#21
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик CMS в одном файле
Начал писать код, через единую точку входа, вот index:
<?php
require_once("config.php");
require_once("classes/ACore.php");
if ($_GET['option']) {
$class = trim(strip_tags($_GET['option']));
} else {
$class = 'main';
}
if (file_exists("classes/".$class.".php")) {
include("classes/".$class.".php");
if (class_exists($class)) {
$obj = new $class;
$obj->get_body();
} else {
exit ();
}
} else {
exit();
}
?>
вот ACore
<?php
abstract class ACore {
protected function get_header() {
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link type="text/css" rel="StyleSheet" href="/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="">
<title></title>
</head>
<body>
123
</body>
</html>
';
}
public function get_body() {
$this->get_header();
}
}
?>
В config.php только константы отвечающие за соединение с БД, в шаблоне получаю такую траблу, валидность страница не проходит, валидатор пишет Знак "" не допускается в прологе
А вот и код в браузере.
Что это такое, и как его исправить? К тому же всё в перемешку, хотя код указан нормально.
|
(Offline)
|
|
05.05.2014, 00:10
|
#22
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Обработчик CMS в одном файле
Во первых учитывай что после ?> новая строка - будет как новая строка в HTML.
Также не используй echo для вывода HTML тегов, вообще.
Закрываей php тег ?> и далее пиши нормальный html со встравками типа <?=$variable?> и тому подобными.
А лучше найди нормальный templating язык.
Также TAB'ы (indention) для кого придумали? Код читать когда каждая строка слева не реально, это относится к html'у также и к php.
Экспиреминтируй больше. Ты тут выложил код хрен знает что, конечно у тебя там будут проблемы, т.к. там каша. Увидел проблему - бери простой прототип пиши и смотри там. Экспериментируй больше чем пиши на форуме.
|
(Offline)
|
|
05.05.2014, 00:14
|
#23
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик CMS в одном файле
php теги я закрываю. Пробовал выводить страницу через include, та же фигня. А на счет indention, мне удобней читать код когда всё с лева.
|
(Offline)
|
|
05.05.2014, 00:21
|
#24
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Обработчик CMS в одном файле
Сообщение от mtaracing
php теги я закрываю.
|
echo '<!DOCTYPE HT.....
Это ты не закрыл, это ты выводишь html используя php.
Сообщение от mtaracing
А на счет indention, мне удобней читать код когда всё с лева.
|
Почему всему миру удобнее с, а тебе вдруг без? Не выпендривайся, другим кому код показываешь - вырвиглаз неудобно. Программисты учатся работать совместно, и с этим идут общепринятые, "органически" выявленные принципы.
|
(Offline)
|
|
05.05.2014, 00:36
|
#25
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик CMS в одном файле
echo у меня закрыт.
|
(Offline)
|
|
05.05.2014, 10:34
|
#26
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Обработчик CMS в одном файле
Ты видимо не понял.
Также не используй echo для вывода HTML тегов, вообще.
|
НЕ используй ECHO для ВЫВОДА HTML ТЕГОВ.
|
(Offline)
|
|
05.05.2014, 15:10
|
#27
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик CMS в одном файле
Я же написал, при использовании include та же фигня.
|
(Offline)
|
|
05.05.2014, 17:11
|
#28
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Обработчик CMS в одном файле
Вот тебе пример, изучай (запусти с сервера):
<?php echo "1"; ?> <?php $i = 10; ?> <?php $i++; ?> <html></html>
|
(Offline)
|
|
05.05.2014, 23:19
|
#29
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик CMS в одном файле
Вы меня наверное не слышите. Причем здесь этот код...
|
(Offline)
|
|
05.05.2014, 23:39
|
#30
|
Нуждающийся
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений (для 26 пользователей)
|
Ответ: Обработчик CMS в одном файле
Всё, я уже и сам разобрался, с 25 раза перебирая каждую функцию кода выяснил в чем ошибка - кодировка была UTF8, поставил без BOM и сразу всё нормально заработало.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:40.
|