Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > PHP / MySQL

PHP / MySQL Создание динамических Веб-ресурсов

Ответ
 
Опции темы
Старый 01.05.2014, 22:16   #16
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 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
moka
.
 
Регистрация: 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 за это полезное сообщение:
ABTOMAT (02.05.2014), pax (02.05.2014), Randomize (02.05.2014), St_AnGer (03.05.2014)
Старый 02.05.2014, 05:20   #18
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений
(для 6,857 пользователей)
Ответ: Обработчик 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (03.05.2014)
Старый 02.05.2014, 17:25   #19
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 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
moka
.
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (05.05.2014)
Старый 05.05.2014, 00:07   #21
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 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
moka
.
 
Регистрация: 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
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений
(для 26 пользователей)
Ответ: Обработчик CMS в одном файле

php теги я закрываю. Пробовал выводить страницу через include, та же фигня. А на счет indention, мне удобней читать код когда всё с лева.
(Offline)
 
Ответить с цитированием
Старый 05.05.2014, 00:21   #24
moka
.
 
Регистрация: 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
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений
(для 26 пользователей)
Ответ: Обработчик CMS в одном файле

echo у меня закрыт.
(Offline)
 
Ответить с цитированием
Старый 05.05.2014, 10:34   #26
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Обработчик CMS в одном файле

Ты видимо не понял.
Также не используй echo для вывода HTML тегов, вообще.
НЕ используй ECHO для ВЫВОДА HTML ТЕГОВ.
(Offline)
 
Ответить с цитированием
Старый 05.05.2014, 15:10   #27
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений
(для 26 пользователей)
Ответ: Обработчик CMS в одном файле

Я же написал, при использовании include та же фигня.
(Offline)
 
Ответить с цитированием
Старый 05.05.2014, 17:11   #28
moka
.
 
Регистрация: 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
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений
(для 26 пользователей)
Ответ: Обработчик CMS в одном файле

Вы меня наверное не слышите. Причем здесь этот код...
(Offline)
 
Ответить с цитированием
Старый 05.05.2014, 23:39   #30
mtaracing
Нуждающийся
 
Аватар для mtaracing
 
Регистрация: 22.05.2013
Сообщений: 53
Написано 3 полезных сообщений
(для 26 пользователей)
Ответ: Обработчик CMS в одном файле

Всё, я уже и сам разобрался, с 25 раза перебирая каждую функцию кода выяснил в чем ошибка - кодировка была UTF8, поставил без BOM и сразу всё нормально заработало.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:26.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com