Фреймворк SNDL

M
На сайте с 04.12.2013
Offline
199
#11

Обычный движок на файлах с XML в качестве исходной разметки контента. Откройте уже для себя БД.

P.S. Движками на файлах перестал пользоваться около 10 лет назад.

Добавлено:

Полное описание структуры страницы для каждой страницы? Серьезно? Это не плюс, а большой минус. Страницы собирают из кусков (речь и о структурной разметке, и о контенте) как раз для удобства. Чем менее уникальна страница, тем меньше ее нужно описывать, используя весь обвес с более высокого уровня.

ArbNet:
но так как в MVC шаблоны пишутся с встроенным php, то этот принцип уже не действителен

чЁ? Во-первых, нек. шаблонизаторы, пока вы находились в спячке, уже успели пройти полный цикл своего существования вплоть до отмирания. Во-вторых, если тебе конкретно чем-то не приглянулся нативный РНР в качестве шаблонизатора, то никто тебе не запрещает прикрутить др. «более высокоуровневое решение».

P.S. Вообще я добрый и за движуху, но не надо придумывать недостатки существующих решений для галочки, дабы оправдать создание собственного. Лучше займитесь придумыванием крутых фишек для собственного решения ;)

Хостинг FOZZY ( http://fozzy.com.ru ) / Выслушаю предложения на домены ( http://u75.ru/domains-for-sale ) / Домены и скрипт для коротких ссылок ( http://u75.ru/domains-for-shortcuts )
ArbNet
На сайте с 27.10.2019
Offline
83
#12
miketomlin:
Обычный движок на файлах с XML в качестве исходной разметки контента. Откройте уже для себя БД.

Уважаемый речь не о движке на файлах, речь о структуировании страниц сайта. А узлы данные естественно берут из базы данных.

вот к примеру класс узла Menu


<?php
// пространство имён узлов
namespace node;
// используем пространство имён движка
use core;
// Навигационное меню
class Menu{
public function Obtain(){
$db=core\DataBase::Instance();
if($db->Connect('mysql')){
$mod=&$GLOBALS['mod'];$act=&$GLOBALS['act'];
$nvg="$mod/$act";$req="`mdl`='$mod'";
if($mod!='admin')$req="($req or `mdl`='')";
$db->request("SELECT `des`,`lnk` FROM `menu` WHERE $req and `vis`=1");
$dat=$db->MeetAll();$res='';
foreach($dat as $val){
if($nvg==$val['lnk'])$sg=true;
else if($mod!='site' && $mod!='admin'){
if(strpos($val['lnk'],"$mod/")!==false)$sg=true;else $sg=false;
}else $sg=false;
if($sg)$lm='<li><a class=active>'.$val['des'].'</a></li>';
else $lm='<li><a href='.$val['lnk'].'>'.$val['des'].'</a></li>';
$res.="$lm\r\n";
}
return $res;
}
}
}
?>
Блажен, кто не стремится сделать лучше: он не рискует быть не понятым.
SeVlad
На сайте с 03.11.2008
Offline
1488
#13

ArbNet, тут для вставки кода лучше использовать ббкод [code]. # в расширеном редакторе.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***
S
На сайте с 30.09.2016
Offline
469
#14
ArbNet:
Начал создавать свой фреймворк для сайтов.

А почему Вы его называете фреймворком? 😕

ArbNet:
Основной принцип это разделение данных от разметки, но так как в MVC шаблоны пишутся с встроенным php, то этот принцип уже не действителен.
По-видимому, Вы просто не понимаете, что такое MVC.

---------- Добавлено 28.10.2019 в 17:55 ----------

ArbNet:
вот к примеру класс узла Menu
В каких-то CMS их называют модулями, в каких-то – блоками. Вы почему-то решили назвать их узлами. Пока ничего нового.

А вот сам код – это феерическая смесь кода контроллера, данных и разметки. За такое надо бить нещадно и отправлять на переучивание.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
M
На сайте с 04.12.2013
Offline
199
#15
ArbNet:
Уважаемый речь не о движке на файлах, речь о структуировании страниц сайта.

Значит, вы не смогли норм. донести суть своей идеи. Я отвечал по конкретным фразам стартового поста.

---------- Добавлено 28.10.2019 в 19:06 ----------

Давайте еще раз: какую роль играют XML-файлы?

ArbNet
На сайте с 27.10.2019
Offline
83
#16
SeVlad:
лучше использовать ббкод . # в расширеном редакторе

так и делаю

Sitealert:
Вы просто не понимаете, что такое MVC

Чего тут понимать. Модель(данные) Представление(шаблон) Контроллер(логика)

Контроллер решает какая модель нужна, модель получает данные из базы, представление html разметка с вставками <?=$peremennaya;?>

Для человека знающего HTML, CSS, PHP это элементарно. Я же хочу сделать движок для обычных людей. Чтобы создать страницу в MVC надо создать как минимум 3 файла контроллер, модель и шаблон. В моём подходе всё раскидано по кусочкам нужна только структура по которой движок это соберёт в кучу, то есть 1 текстовый файл в xml, при условии конечно если другие кусочки узлы, шаблоны будут в наличии в системе.

Sitealert:
А почему Вы его называете фреймворком?
Фре́ймворк — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.

как бы вот поэтому

M
На сайте с 04.12.2013
Offline
199
#17
ArbNet:
Чего тут понимать. Модель(данные) Представление(шаблон) Контроллер(логика)
Контроллер решает какая модель нужна, модель получает данные из базы, представление html разметка с вставками <?=$peremennaya;?>

Неправильно по каждому пункту. Ну, по первому пункту еще более-менее, а дальше полный...

SeVlad
На сайте с 03.11.2008
Offline
1488
#18
ArbNet:
так и делаю

Не так делаешь.

См разницу

это в ббкоде php

 $mod=&$GLOBALS['mod'];$act=&$GLOBALS['act'];

это в code

 $mod=&$GLOBALS['mod'];$act=&$GLOBALS['act']; 
SeVlad
На сайте с 03.11.2008
Offline
1488
#19
ArbNet:
html разметка с вставками <?=$peremennaya;?>

#Ябзатакоерукиотрывал

Либо что-то типа

[$peremennaya]

Либо сразу по человечески

<?php function_peremennaya();
?>
S
На сайте с 30.09.2016
Offline
469
#20
ArbNet:
В моём подходе всё раскидано по кусочкам

Это очень плохо. В результате вместо шаблона получается какой-то конгломерат.

ArbNet:
как бы вот поэтому
Разве что "как бы". Потому что это не фреймворк, а набор модулей.

---------- Добавлено 28.10.2019 в 18:26 ----------

SeVlad:
#Ябзатакоерукиотрывал
Конструкция валидная даже в PHP 7, и пока нет сигналов, что будет отказ от применения такой конструкции. Весь Битрикс, кстати на ней построен.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий