Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   RevoleR CMS: ищу идеи и критику (https://javascript.ru/forum/project/73650-revoler-cms-ishhu-idei-i-kritiku.html)

xShift 21.02.2019 14:07

DBX v.1.1.3 :: реализована поддержка INNER JOIN. ABQ простой:

Цитата:

$cFields = ['field_id', 'field_node_id', 'field_user_id', 'field_user_name', 'field_content', 'field_time', 'field_published'];
$nFields = ['field_id', 'field_title', 'field_content', 'field_description', 'field_user', 'field_time', 'field_route', 'field_category', 'field_published'];

$nFields['field_id']['criterion_field'] = 'field_id';
$nFields['field_id']['linked_field'] = 'field_node_id';

$ncFields = [
$cFields,
$nFields
];

unset( $dbx::$result['result'] ); // clean previous result


$dbx::query('j', ['revolver__nodes', 'revolver__comments'], $ncFields);
выдаст запрос:

Цитата:

SELECT `revolver__nodes`.*, `revolver__comments`.* FROM `revolver__nodes` INNER JOIN `revolver__comments` ON(`revolver__nodes`.field_id=`revolver__comments` .field_node_id);

JOIN может быть хоть пятерным. В скором будущем после создания кэша для j и xs запросов будет скомпилировано ядро RevolveR CMS, чтобы систему не ковыряли всякие некомпетентные разработчики типа хабров.

Nexus 21.02.2019 14:28

Цитата:

Сообщение от xShift
ABQ простой

Для вас.

Зачем вам в коде список полей (переменные $cFields, $nFields), если на выхлопе запрос, который вытянет из базы все поля таблиц?
Алиасы полям проставить можно?

Очищение предыдущей выборки из базы перед созданием нового запроса выглядит феерично :)
Что произойдет, если этого не сделать?

upd.
Цитата:

Сообщение от xShift
будет скомпилировано ядро RevolveR CMS, чтобы систему не ковыряли всякие некомпетентные разработчики

Создайте приватный репозиторий и проблема будет решена без необходимости компиляции php.

xShift 21.02.2019 19:43

Цитата:

Сообщение от Nexus (Сообщение 503908)
Для вас.

Зачем вам в коде список полей (переменные $cFields, $nFields), если на выхлопе запрос, который вытянет из базы все поля таблиц?
Алиасы полям проставить можно?

Очищение предыдущей выборки из базы перед созданием нового запроса выглядит феерично :)
Что произойдет, если этого не сделать?

upd.

Создайте приватный репозиторий и проблема будет решена без необходимости компиляции php.


Поля формируют ON, если вы не заметили.




Очистка запроса нужна только для того, чтобы результаты предыдущего запроса не схлопывались. Можно выполнить несколько разных select и они соединятся(не то что для удобства - просто так накожено). В RevolveR CMS это делается автоматически если используется хелпер GetData. Он автоматически проверяет перед выполнением запроса к DBX, что переменая $dbx::$result['result]' пуста(очищает ее). За замечание спасибо, возможно я это исправлю каким либо образом.

> Алиасы полям проставить можно?

Я над этим пока не работал. API будет по гибче - я еще LIMIT добавлю и ORDER BY.

В будущем, кстати, я портирую DBX на NODE JS.

Nexus 21.02.2019 19:57

Цитата:

Сообщение от xShift
Поля формируют ON, если вы не заметили.

Я про первые 2 строчки писал.
Цитата:

$cFields = ['field_id', 'field_node_id', 'field_user_id', 'field_user_name', 'field_content', 'field_time', 'field_published'];
$nFields = ['field_id', 'field_title', 'field_content', 'field_description', 'field_user', 'field_time', 'field_route', 'field_category', 'field_published'];

xShift 21.02.2019 22:22

Цитата:

Сообщение от Nexus (Сообщение 503917)
Я про первые 2 строчки писал.


Так вот просто для наглядности. Они в полном виде выглядят вот так:

$STRUCT_NODES = [
	'field_id' => [
		'type'   => 'num', // int
		'auto'   => true,  // auto increment
		'length' => 255,
		'value'  => 0
	],
	'field_title' => [
		'type'   => 'text', // varchar
		'length' => 50,
		'fill'   => true
	],
	'field_content' => [
		'type'   => 'text', // varchar
		'length' => 10000,
		'fill'   => true
	],
	'field_description' => [
		'type'   => 'text', // varchar
		'length' => 10000,
		'fill'   => true
	],
	'field_user' => [
		'type'   => 'text',
		'length' => 50,
		'fill'	 => true
	],
	'field_time' => [
		'type'   => 'text',
		'length' => 50,
		'fill'	 => true
	],
	'field_route' => [
		'type'   => 'text',
		'length' => 100,
		'fill'	 => true
	],
	'field_category' => [
		'type'   => 'num',
		'length' => 100,
		'fill'	 => true
	],
	'field_published' => [
		'type'   => 'num',
		'length' => 1,
		'fill'   => false
	]
];

$STRUCT_COMMENTS = [
	'field_id' => [
		'type'   => 'num', // int
		'auto'   => true,  // auto increment
		'length' => 255,
		'value'  => 0
	],
	'field_node_id' => [
		'type'   => 'num',
		'length' => 50,
		'fill'	 => true
	],
	'field_user_id' => [
		'type'   => 'num',
		'length' => 50,
		'fill'	 => true
	],
	'field_user_name' => [
		'type'   => 'text',
		'length' => 100,
		'fill'	 => true
	],
	'field_content' => [
		'type'   => 'text', // varchar
		'length' => 10000,
		'fill'   => true
	],
	'field_time' => [
		'type'   => 'text',
		'length' => 100,
		'fill'	 => true
	],
	'field_published' => [
		'type' 	 => 'num',
		'length' => 1,
		'fill'	 => false
	]
];


Это дефайнится один раз и потом я просто эти же структуры и использую. Правильно, достаточно просто поля field_id[criterion_fileld&&linked_field], но я использую JOIN не однажды и мне для копипасты удобнее прописать сразу все fields, чтобы в структуры постоянно и в базу не лезти.

xShift 22.02.2019 12:05

Nexus, напиши пример SQL запроса с алиасами. Я просто не знаю, что тебе хочется.

Nexus 22.02.2019 12:31

SELECT COUNT(*) as total FROM table_name WHERE condition=1

SELECT t.*,r.some_field as related_some_field
FROM table_name as t
LEFT JOIN related_table as r ON (r.table_id=t.id)
WHERE t.condition=1

xShift 22.02.2019 18:46

> SELECT COUNT(*) as total FROM table_name WHERE condition=1

Вот тут AS зачем?

>

SELECT t.*,r.some_field as related_some_field
FROM table_name as t
LEFT JOIN related_table as r ON (r.table_id=t.id)
WHERE t.condition=1

Вот здесь тоже зачем? Ты этих задротов начитался? То же самое я могу сделать с префиксами на DBX и добавить тебе возможность WHERE. AS сделали гондоны. Тебя, кстати, в AMD взяли ;)

p.s.: сейчас разрабатываем расширение для PHP под BD MySQL на ABQ. Если что появится через годик. Потом я на NODE.JS ухожу разрабатывать. Она молодая, дырявая и переполненная говна(убираем говнопакетчиков в пользу нативного функционала), но может в будущем станет лучше.

Nexus 23.02.2019 12:09

Цитата:

Сообщение от xShift
Вот тут AS зачем?

Чтобы в результате выборки, значение счетчика было в поле "total", очевидно же.

Цитата:

Сообщение от xShift
AS сделали гондоны.

Цитата:

Сообщение от xShift
бы систему не ковыряли всякие некомпетентные разработчики типа хабров.

У вас синдром Д'артаньяна.

Цитата:

Сообщение от xShift
Если что появится через годик.

Ждать не буду, ибо этим испражнением, как я уже писал, кроме вас пользоваться никто не сможет.

Цитата:

Сообщение от xShift
Она молодая, дырявая и переполненная говна

Стоит ли тогда еще и ваше говно туда добавлять?

Выпиливаюсь из топика, ибо начнется срач.

xShift 24.02.2019 12:15

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

Вот так и делай людям добро. Маленькие людишки всегда страдали повышенным эго, но не до такой же степени сукой быть.

Вон из разработчиков.

xShift 24.02.2019 13:26

Вот и все. Нексус 2 года будет слоупоком за то что напиздел на w3c. Я пояснять больше не буду. Мы эту кибернетику еле рассекретили, чтобы взять побольше русских в разработчики, но вот такие пидрилы как нексус считают себя венцом творения. Даже сознаться что у тебя такая же точно прослушка работает не сможешь - будешь шипеть как говно и выебываться.

Лох, тебя было 5 похожих человек, а будет 0. Ты даже 3 милиграмма героина выдержать не можешь. Понравилось когда тебя 10 человек на вербальной программе ебашит, а ты ни чего не можешь сделать?

Твои хабровские усоски тебе не помогут как бы ты не пиздел. Менты тебя не спасут в ближайшие 10 лет тоже потому что нет формулировки для системы в документальном виде. Можешь максимум на психушку рассчитывать - там тебя просто выключат галоперидолом и будет всю оставшуюся жизнь трясти челюстью и слюни пускать.

На дворе 2019 год, уже вся Англия в прослушках живет - эти деревенщины получают бесплатно программу и еще подставляют своих же. Нет уж. Сдохните. Обоминог, сука. Я тебе обещаю, что если ты не станешь адекватом после обработки w3c - ты будешь огурцом тепличным со стекающей слюной.

Говно совсковой разработки ты нексус - живи как дичь.

Nexus 24.02.2019 20:27

Это клиника :)

xShift 10.03.2019 17:13

Нексус, ты пидарас. Я работаю с половиной планеты без малого. В частности с w3c регулярно. И мне как приверженцу строгого xHTML с правильным заголовком и разработчику RDF не понять тебя ни когда. Ты ебаная школота, которая когда не может разработаться начинает пиздеть о том, что ей плохо написали программу. Все твои фреймворки типа Angular и React дают мне в жопу только потому, что я никогда такого говна как они не напишу. Все твои хабровские дружки дают мне в жопу потому что не умеют программировать ни на чем кроме фреймворков. Я пишу чистый код, нативный и мне как-то глубоко похую на твои визги о том, что ты этот код со своими пидарасками поддерживать не можешь или не хочешь. Ты просто смешон. Пидарасу предложили разрабатываться с одной из топовых процессорных компаний бесплатно, а он в ответ подставил свою немытую жопу. Ты тварь нексус такая-же как и все твои недоебанные кодеры. Да именно кодеры, а не программисты. Я не разрабатываю как бог и не утверждаю этого, но я работаю над алгоритмами и стандартами, а ты просто потреблядь как и большинство. Иди убей себя... Будет WASM посмотрим на что способна твоя кривая Node.js сделанная из коммерческого браузера. Ты криварукий уебок перестанешь быть нужен потому что грядет время новых приложений. Я лучше PHP скомпилирую под браузер, чем буду с вами пидорами работать на кривых серверных JS, а вообще то я пишу на C потому мне и не нужны ваши ебаные компоненты(я себе сам могу что угодно написать). Ты же только берешь готовое и сам ни чего не создаешь, Nexus.

RevolveR CMS v.1.4.0 :: кэши JOIN INNER и XS(paramrtrized select). Новая пагинация, мелкие улучшения темы.

http://cyberx.pro/revolver-cms-v.1.4.0/

В следующих версиях: HTML Form API + custom db fields interface + GetVars Controller(аналог views и fields Drupal).

Nexus 11.03.2019 09:37

xShift, вот у тебя полыхает, мамкин разработчик.
Я всего лишь правду о твоем высере написал и твои выдуманные достижения меня не интересуют от слова "совсем" :)
Заканчивай публиковать "записки сумасшедшего" в тему, на форуме есть личка.

ДЖАВАСКРИПТИЗЕР 12.03.2019 21:50

Сегодня был в w3c, там очень недовольны обнародованием всей этой истории с прослушкой. Я точно не знаю кто и чего, но видимое есть более высокопоставленные люди (не из самой w3c) которым это не нравится. Так что ребята не пора ли вам закругляться пока это все не вышло далеко за пределы форума? Node.JS, который тут ругали, тоже стал популярным не спроста. Помните такую цитату: "Ведь, если звезды зажигают - значит - это кому-нибудь нужно?". Так что давайте завязывайте эти терки пока тут всех по IP не вычислили и в овощей не превратили.

Full-R 05.09.2020 11:20

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

Я вылез из под нариков и ГНКшников - у меня нет проблем больше. Голова в норму пришла - а то задолбался постоянные качки от наркоты терпеть через эту дерьмо-систему(у меня сейчас другое наполнение жизни). У меня сейчас в жизни все прекрасно.


Часовой пояс GMT +3, время: 09:05.