Фреймворк SNDL

S3
На сайте с 29.03.2012
Offline
348
#161
ArbNet:
добавил в движок кэширование

Каким образом, если не секрет?

---------- Добавлено 02.11.2019 в 10:10 ----------

ArbNet:
я разрабатываю фремворк с новым подходом,

Вы пытаетесь скрестить бульдога с носорогом. Или фреймворк или CMS - уже определитесь.

ArbNet
На сайте с 27.10.2019
Offline
139
#162
Sly32:
Это ваш случай - вы говорите о неготовом продукте и убеждаете что будет круто. Не спрашиваете совета как лучше сделать а спорите со всеми! А потом хотите понимания.
Ну и такой проект в одиночку не поднять - сразу скажу. Вы просто не сможете охватить все нюансы. Не стану рассказывать про скрам-команды, но как минимум бэкэнд и фронтэнд надо разделять по задачам, даже если вы на себя взяли функции проект-менеджера и бизнес-аналитика.

Спасибо, я это понимаю. У меня уже есть опыт в разработке большого проекта. Дело в том что я самоучка, варюсь так сказать в собственном соку :) Мне сложно с теми кто используют готовое нежели сами создают своё. Конечно же хочется найти единомышленников хотябы в чём-то получить совет.

Я вас прекрасно понимаю, проще взять готовое и использовать. Но и вы меня поймите, это не для меня, меня существующие продукты не устраивают, по многим причинам.

Не критикуйте мой подход, тогда будет больше взаимопонимания. Я уже убедился, что то что я выбрал(составление структуры в xml это облегчение создания будущих проектов). Мне просто нужно ваше понимание этого и поддержка.

Тогда я покажу свои наработки и надеюсь кто-то поможет в разработке.

---------- Добавлено 02.11.2019 в 07:20 ----------

Sly32:
Каким образом, если не секрет?

В начале нахожу в xml структуре элементы с атрибутом для кэширования. Если такие есть получаю из базы кэш блоков. Затем при формировании страницы проверяя есть ли кэш вставляю его не обрабатывая вложенные элементы структуры. Если кэша ещё не было, то запоминаю его и сохраняю в базе.

ArbNet
На сайте с 27.10.2019
Offline
139
#163
Sly32:
Вы пытаетесь скрестить бульдога с носорогом. Или фреймворк или CMS - уже определитесь.

Это фремфорк, но для простых людей не знающих html, php... устал уже повторять.

Получается без скрещивания бульдога с носорогом не обойтись. Структура сайта составляется в xml, движок парсит xml подключает узлы, шаблоны и формирует страницу.

S3
На сайте с 29.03.2012
Offline
348
#164
ArbNet:
Если такие есть получаю из базы кэш блоков

То есть вы кэшируете данные в базе данных? Смысл?

---------- Добавлено 02.11.2019 в 10:42 ----------

ArbNet:
Это фремфорк, но для простых людей

А, теперь понятно, я же говорил про фрейворк(framework)

How it will helpful for you? Например, для CSS давно написан бутстрап, сомневаюсь что у вас будет лучше. А вот на базе БС уже легко реализовать все ваши хотелки, блоки драг энд дропы.

Вы бы хотя бы макет админки, к примеру, привели - как это увидит пользователь? Имея визуальное понимание - вам будет проще реализовывать задуманное

---------- Добавлено 02.11.2019 в 10:45 ----------

ArbNet:
Дело в том что я самоучка, варюсь так сказать в собственном соку

Я тоже начинал сам с изучения вордпресса. Лет 6-7 назад. Сейчас работаю в компании, которая входит в топ-100 ит-компаний мира. Про пхп забыл, хотя и связан с веб-разработкой. Понимаю, сколько времени убил зря пытаясь выдумать свое, вместо того чтобы изучить существующее.

Но собственно, ваши грабли, вам по ним и ходить)

ArbNet
На сайте с 27.10.2019
Offline
139
#165
Sly32:
То есть вы кэшируете данные в базе данных? Смысл?

Смысл, если в блок входят другие блоки и они все статичны зачем каждый раз его генерировать, проще сохранить и потом просто вставлять, скорость формирования страницы улучшится. Данный кэш можно использовать на других страницах задав идентификатор. При очистки кэша он создастся вновь на любой из страниц и затем снова будет использоваться. Для движка который обрабатывает шаблоны это не мало важно.

Sly32:
Например, для CSS давно написан бутстрап, сомневаюсь что у вас будет лучше. А вот на базе БС уже легко реализовать все ваши хотелки, блоки драг энд дропы.
Вы бы хотя бы макет админки, к примеру, привели - как это увидит пользователь? Имея визуальное понимание - вам будет проще реализовывать задуманное

Я знаю про бутстрап и другие фремворки, посмотрел, даже в коде полазил. Мне это не нравится, поэтому я делаю своё.

Sly32:
Но собственно, ваши грабли, вам по ним и ходить)

Вы по граблям ходите, а я разбегаюсь на трамплин :)

---------- Добавлено 02.11.2019 в 08:33 ----------

Кто-то делал класс для сохранения и получения объектов?

К примеру


<?php
// пространство имён движка 'core'
namespace core;
// Класс Объектов
class Objects{
public $obj;
// Конструктор
public function __Construct(){$this->$obj=[];}
// Удалить объект
public function Remove($nam){unset($this->$obj[$nam]);}
// Добавить\заменить объект
public function Add($nam,&$obj){$this->$obj[$nam]=(object)$obj;}
// Существование объекта
public function Exist($nam){return array_key_exists($nam,$this->$obj);}
// Получить объект
public function &Get($nam){return $this->$obj[$nam]?$this->$obj[$nam]:null;}
}
?>

Всё работает хорошо, но в репорте ошибок это


<!-- ERROR's REPORT
8 [D:\OSPanel\domains\evolve.loc\core\Objects.php:8] Undefined variable: obj
8 [D:\OSPanel\domains\evolve.loc\core\Objects.php:8] Undefined variable: obj
4096 [D:\OSPanel\domains\evolve.loc\core\Objects.php:12] Object of class node\Banner could not be converted to string
4096 [D:\OSPanel\domains\evolve.loc\core\Objects.php:12] Object of class node\Menu could not be converted to string
4096 [D:\OSPanel\domains\evolve.loc\core\Objects.php:12] Object of class Closure could not be converted to string
8 [D:\OSPanel\domains\evolve.loc\core\Objects.php:16] Undefined variable: obj
8 [D:\OSPanel\domains\evolve.loc\core\Objects.php:16] Undefined variable: obj
8 [D:\OSPanel\domains\evolve.loc\core\Objects.php:16] Only variable references should be returned by reference
-->

Как исправить, кто подскажет?

---------- Добавлено 02.11.2019 в 08:38 ----------

Sly32:
Про пхп забыл, хотя и связан с веб-разработкой

На чём пишите?

---------- Добавлено 02.11.2019 в 09:20 ----------

Sly32:
Эх не люблю я мусклю)

А что любите?

S3
На сайте с 29.03.2012
Offline
348
#166
ArbNet:
На чём пишите?

Пишете))) включите проверку орфографии если и тут пробелы

Python+Postgresql, это если касаться языков.

ArbNet:
скорость формирования страницы улучшится

Вы уверены? Коннекты постоянные к базе данных думаете бесплатны? Вот их кэшировать не помешает

По вашему примеру ничего не скажу - не помню вообще как это делается в пхп. Возможно вы неправильно объявили переменную. Включите дебагер и посмотрите что в этот момент хранится в памяти, почему для него переменная не определена. В Питоне с этим гораздо проще

S
На сайте с 30.09.2016
Offline
469
#167
ArbNet:
Всё работает хорошо, но в репорте ошибок это

Как оно может работать хорошо с такими ошибками? 😕

ArbNet:
Как исправить, кто подскажет?
Матчасть изучать, прежде чем "фремворки" городить
$this->obj
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
[Удален]
#168

Да троллит оно.

ArbNet
На сайте с 27.10.2019
Offline
139
#169
Sitealert:
Как оно может работать хорошо с такими ошибками?

Ошибок как таковых при работе нет. Это ошибки отлавливаемые функцией установленной set_error_handler

Sitealert:
$this->obj

Матчастный вы наш :) где вы это увидели?

Miha Kuzmin (KMY):
Да троллит оно.

Опачки оно опять появилося кокоину обкушалося :)

Всем спасибо, все молодцы, помогли :)

Я использовал данный класс для массива разных объектов классов и других через указатели на объект, также делал на C++, тут пришлось типизировать, теперь стало норм.

---------- Добавлено 02.11.2019 в 14:00 ----------

Sly32:
В Питоне с этим гораздо проще

На что ориентированы ваши разработки? Для raspberry пишЕте? :)

---------- Добавлено 02.11.2019 в 14:09 ----------

Sly32:
Коннекты постоянные к базе данных думаете бесплатны? Вот их кэшировать не помешает

Поясните плиз

S
На сайте с 30.09.2016
Offline
469
#170
ArbNet:
Матчастный вы наш :) где вы это увидели?

Так ты не только безграмотный, но ещё и слепой? Разуй глаза и посмотри в своём коде. Точно тролль.

jpg 56.jpg

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