169 похожих чатов

Ребят, я конечно понимаю, что быть может мой вопрос прозвучит

глупо, вы уж простите, но мне адски тяжело въехать в мир ноды после многих лет разработки бэка на РНР... У меня есть проект, который полностью работает на CodeIgniter 4 + MySQL. Во фронт я не лезу, у нас там отдельный человек этим занимается и поскольку он работает "на чем умеет", то во фронте я вижу километровые портянки из кода на JQuery в перемешку с нативным JS. От этой порнографии становится реально тошно. Но, самая беда в том, что мы реально столкнулись с проблемой масшабируемости. Т.е. то, что уже написано, просто невозможно поддерживать и развивать. Я сейчас решил хотя бы попытаться осмыслить и понять, каким образом мы можем хотя бы потихой начать переписывание кода. У меня в голове каша, т.к. я не понимаю от слова вообще, как мне связать НОДУ на серваке с моим PHP проектом. Т.е. как мне сделать так, чтобы я зайдя по определенному доменному имени получал запуск не РНР кода, а индексный файл Свелт. И соответственно, если я открыл индексную страницу Свелта, то как мне обратиться к БД, чтобы получить какие либо данные и отрисовать в шаблоне Свелт? Я правильно понимаю, что мне нужно на базе моего РНР-фреймворка написать некое АПИ, а Свелт, через какие-либо способы, будет делать аякс запрос к этому АПИ, получать JSON ответ и уже с этими данными что-либо отрисовывать на странице? Может порекомендуете какие-либо ресурсы, где почитать про миграцию с РНР проекта на JS-ный вариант?

11 ответов

5 просмотров

можно из ноды к базе данных подлючаться, даже к mysql и рабоать с sql-запросами

Если просто, то Svelte это клиент, она не знает ничего про БД, MySQL и все эти ваши PHP. У тебя должен быть контракт общения клиента с сервером - API. Свелта просто ходит в апи, что-то передает, получает условные жсоники в ответ и всяко красиво их рендерит. > где почитать про миграцию с РНР проекта на JS-ный вариант? https://habr.com/ru/post/495698/

Странно конечно, пишешь про то что на php много лет, и при этом из все твоей портянки создаётся ощущение, что про клиент-серверное взаимодействие слышишь в первый раз.

А зачем переходить обязательно? Бэк - бэком, фронт - фронтом. PHP бэк уже есть. PHP быстрее Ноды. Api какая-никакая тоже есть. Если сложности с масштабированием - выключай компьютер на 1 день, бери бумажку и продумывай архитектуру. Если нужно что-то срочно реализовать - смотри в сторону микросервисов.

Bohdan Bida 🇺🇦
Шемсединова на вас нет ☹

Это насчет сравнения скорости Ноды и Пыхи? Тут просто - есть результаты бенчей с усредненной нагрузкой. ЕМНИП, Пыха в паре с энжиксом раза в 3 быстрее Ноды и раз в 5 Экспресса..

Bohdan Bida 🇺🇦
Экспресс вообще выкиньте из головы

Ну, для прототипирования почему бы и нет?

Bohdan Bida 🇺🇦
Шемсединова на вас нет ☹

<рандомная фамилия> на вас нет

M S
Ну, для прототипирования почему бы и нет?

Но сравнение ж не в контексте прототипирования Или нет? Я просто в весь тред не вникал

Bohdan Bida 🇺🇦
Но сравнение ж не в контексте прототипирования Или...

Да даже с чистой Нодой, Пыха+энжинкс быстрее в 2-3 раза. В реальных сценариях, понятно, это все сглаживается но факт остается фактом.

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Как сделать чтобы short точно был 2 байта, int точно 4 байта ?(без стандартных библиотек, ну типа без int16_t, int32_t)
#
8
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Карта сайта