Size: a a a

2020 January 13

PP

PHP PROGRAMMIST⬤👍 in phpGeeks
Andrey Sergeev
Ребята, привет, помогите пожалуйста найти ключ для webstorm. Погуглил, не подходят ключи. Хотя бы в каком направлении рыть.  Спасибо.
Как вариант 30 дней бесплатно
источник

GK

Geo Kot in phpGeeks
вызываешь контроллер, в нем вызываешь модель
источник

ЕП

Екатерина Подольская in phpGeeks
Уважаемые коллеги, всем привет.
Пишу мини-crm для учёта рейсов по грузоперевозкам на php mvc.
Такой вопрос.
У меня есть контроллер, который берёт из модели данные и передаёт в вид, выводится таблица с записями.
Я хочу сделать возможность просмотра деталей записи в режиме Ajax - по клику на запись, чтобы
появлялся всплыв и в нём данные.
Как это реализутся в классической архитектуре MVC? Ведь по классике нужно делать переход но новому адресу, вызывать контроллер, из контроллера вызывать модель, получать данные записи и выводить видом.
А как в случае с аяксом быть? Я обрабатываю клик по записи в JS:
$('body').on('click', '.element', function(e)
{
   $.ajax(
   {
       url: 'Тут что мне вызвать? Просто модель напрямую?',
       ...
       success: function(data)
       {
           $('всплывающий_контейнер').html(data) - а как вызывать вид для оформления полученных дданных? Ещё один аякс с запросом к виду, передавая полученные из модели данные?
       }
   });
});

Такая схема действий?
источник

GK

Geo Kot in phpGeeks
в чем проблема не пойму
источник

ЕП

Екатерина Подольская in phpGeeks
Geo Kot
вызываешь контроллер, в нем вызываешь модель
В аякс запросе в качестве url перейти к контроллеру?
источник

OZ

O Z in phpGeeks
не модель напрамую, ты вызываешь экшен контроллера, в котором вызываешь метод модели, которая тебе возвращает, то что нужно и отдаешь это дело во вью из экшена контроллера
источник

AB

Alexey Berezuev in phpGeeks
А еще лучше не отдавать напрямую модель, а сделать DTO, в который писать данные, которые можно отдавать юзверю.
источник

AB

Alexey Berezuev in phpGeeks
И его в виде json возвращать (тот же view)
источник

ЕП

Екатерина Подольская in phpGeeks
То есть выходит так:
$('body').on('click', '.element', function(e)
{
   $.ajax(
   {
       url: 'controller_flight.php',
       data: $(this).attr('data-id'),
       method: 'GET',
       success: function(data)
       {
           $('#popover').html(data)
       }
   });
});
источник

AG

Anton Gordeev in phpGeeks
Екатерина Подольская
Уважаемые коллеги, всем привет.
Пишу мини-crm для учёта рейсов по грузоперевозкам на php mvc.
Такой вопрос.
У меня есть контроллер, который берёт из модели данные и передаёт в вид, выводится таблица с записями.
Я хочу сделать возможность просмотра деталей записи в режиме Ajax - по клику на запись, чтобы
появлялся всплыв и в нём данные.
Как это реализутся в классической архитектуре MVC? Ведь по классике нужно делать переход но новому адресу, вызывать контроллер, из контроллера вызывать модель, получать данные записи и выводить видом.
А как в случае с аяксом быть? Я обрабатываю клик по записи в JS:
$('body').on('click', '.element', function(e)
{
   $.ajax(
   {
       url: 'Тут что мне вызвать? Просто модель напрямую?',
       ...
       success: function(data)
       {
           $('всплывающий_контейнер').html(data) - а как вызывать вид для оформления полученных дданных? Ещё один аякс с запросом к виду, передавая полученные из модели данные?
       }
   });
});

Такая схема действий?
MVC - это не только html-страничку вывести. Вывод JSON это как бы тоже View. Сделай api-контроллер, запрашивай данные у него
источник

ЕП

Екатерина Подольская in phpGeeks
Вот тут поподробнее)
источник

ЕП

Екатерина Подольская in phpGeeks
Один контроллер, которому можно передать запрос и который вызовет нужную модель и вернёт в нужном виде - так как бы?
источник

AG

Anton Gordeev in phpGeeks
ну да
источник

ЕП

Екатерина Подольская in phpGeeks
Чисто для аяксов чтобы -  так?
источник

ЕП

Екатерина Подольская in phpGeeks
Супер, идея хорошая. Спасибо большое.
источник

OZ

O Z in phpGeeks
Екатерина Подольская
Один контроллер, которому можно передать запрос и который вызовет нужную модель и вернёт в нужном виде - так как бы?
именно так
источник

AG

Anton Gordeev in phpGeeks
ну, собственно приблизительно так, но в больших масштабах, реализуются API
источник

AB

Alexey Berezuev in phpGeeks
Параллельно вопрос, может кто сталкивался:
$ php7.4 /usr/local/bin/composer -v why-not symfony/console:5.0
symfony/console  v5.0.0  conflicts  symfony/process (<4.4)              
symfony/console  v5.0.0  requires   php (^7.2.5 but 5.3.9 is installed)

Как можно догадаться - php7.4 !== php5.3.9 )) Более того, пятой версии на машине вообще нет. Где могла закешироваться версия? ~/.config/composer чистил, сам composer только что переустановил
источник

ЕП

Екатерина Подольская in phpGeeks
Интересно, масштабы небольшие. А ну и сразу тогда второй вопрос касательно аутентификации. Где вы определяете авторизован ли юзер и назначаете соответствующие права, на основе которых подключается тот или иной вид, например, обёртка html для админа или для водителя? Этот процесс в роутере производится?
источник

OZ

O Z in phpGeeks
Екатерина Подольская
Интересно, масштабы небольшие. А ну и сразу тогда второй вопрос касательно аутентификации. Где вы определяете авторизован ли юзер и назначаете соответствующие права, на основе которых подключается тот или иной вид, например, обёртка html для админа или для водителя? Этот процесс в роутере производится?
нет, роутер не для этого
источник