Перейти к содержимому


Фото
- - - - -

Почему симпла не подходит для крупных проектов


  • Чтобы отвечать, сперва войдите на форум
80 ответов в теме

#41 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 12:54

и да, по поводу уточнений которые вы так любите (что очень похоже на работу стажера который ничего не умеет делать сам а постоянно дергает тимлида) - если вам к вышеприведенной задаче нужны глупые уточнения, то может стоит перестать считать себя разработчиком?

 

если что то будет не так сделаем рефакторинг, обычное дело... не переживайте...


Изменено: DaVinci, 17.09.2018 - 12:57


#42 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 13:01

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


Изменено: DaVinci, 17.09.2018 - 13:02


#43 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 13:12

... все же не верно я назвал тему обсуждения, надо было 

 

Почему Корс не подходит для крупных проектов

 

тут пока уточнишь все чего надо сделать, как и почему что до кода дело просто не дойдет, потому да, симпла тут вовсе не причем.


Изменено: DaVinci, 17.09.2018 - 13:17


#44 phukortsin

phukortsin
  • Фрилансер
  • 1 132 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 17.09.2018 - 13:50

я понимаю что не мне, вашим доверчивым заказчикам которые считают вас разработчиком.

 

Вы правы, именно им.

 

Вы пишите конечно на русском, хотелось бы аргументацию в виде кода так разговор станет предметным.

 

Здесь в теме я уже давались Вам ответы в #6, #17, #31 в виде кода, Вы среагировать по существу не пожелали.

 

Умников много, не разберешь со слов умеет ли чего или просто трепаться любит

 

Полностью согласен с этой Вашей мыслью.

 

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

 

Задачи надо решать по одной, а не перескакивать а одного на другое.
Здесь в теме я уже дал в #6, #17, #31 свое решение поставленной Вами в #5 задачи. В ответ получил "Неправильно. А что именно неправильно, не скажу". Это могу расценивать либо как детское упрямство либо как откровенное издевательство.
Если хотите, чтоб я показал Вам решение новой задачи, то сначала потрудитесь адекватно закончить обсуждение предыдущей...
 



#45 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 13:51

Вы правы, именно им.

 

 

Здесь в теме я уже давались Вам ответы в #6, #17, #31 в виде кода, Вы среагировать по существу не пожелали.

 

 

Полностью согласен с этой Вашей мыслью.

 

 

Задачи надо решать по одной, а не перескакивать а одного на другое.
Здесь в теме я уже дал в #6, #17, #31 свое решение поставленной Вами в #5 задачи. В ответ получил "Неправильно. А что именно неправильно, не скажу". Это могу расценивать либо как детское упрямство либо как откровенное издевательство.
Если хотите, чтоб я показал Вам решение новой задачи, то сначала потрудитесь адекватно закончить обсуждение предыдущей...
 

 

по поставленной задачи у вас все? Не вооруженным взглядом видно что нет ни строчки php. 



#46 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 14:05

- нужно получить с блога ответ json с соответствующим заголовком

- ответ должен быть записан в логе - код ответа, время выполнения 

- логируем два метода - BlogView->fetch_post() и BlogView->fetch_blog

- если метод BlogView->fetch_post() ответил с кодом 404 отправляем администратору уведомление

- очень важно - в классах View ничего менять нельзя (ну за исключением тех не сложных правок для кода и типа ответа о которых вы говорили)

 

если представить возможную реализацию, их может быть множество, можно однозначно сказать - да, для того что бы вернуть клиенту ответ в виде json необходимо сделать незначительные правки для того что бы ответ не оборачивался в design, возможно отдать массив или обьект, назовем его response в котором будет код ответа и содержание ответа. Тут все понятно.

 

Но важно - логика которая обработает данный запрос появится в точке входа, при поставленной задаче это неизбежно, ответ всплывет именно туда. она уже там существует, чего в прицепе быть не должно https://github.com/p...d/index.php#L30 мы определяем всего 2 типа true код 200 и false код 404. 

 

Помимо логики обработки запроса там появится еще одна неприятность

 

мы понимает что BlogView->fetch_post() и BlogView->fetch_blog надо обернуть в логер. Тут будет два варианта - логер с условиями или условие которые определяет в какой логер отправить ответ, но для того что бы создать два разных логера нам прийдется поколдовать ведь все объекты которые создает Simpla являются singleton и создать два разных объекта у нас нет возможности, условия вообщем не избежны. Но логика будет написана в точке входа для этих двух методов и это будет не 2 строчки кода. 

 

В последствии, если (когда) появится аналогичная задача то точка входа уже не будет такой простой как говорит Корс.


Изменено: DaVinci, 17.09.2018 - 14:19


#47 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 14:21

Кстати есть еще одна мелочь https://github.com/p...d/index.php#L74 для ответов json или xml это лишнее)) надо ставить условие и тут



#48 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 14:28

- нужно получить с блога ответ json с соответствующим заголовком

- ответ должен быть записан в логе - код ответа, время выполнения 

- логируем два метода - BlogView->fetch_post() и BlogView->fetch_blog

- если метод BlogView->fetch_post() ответил с кодом 404 отправляем администратору уведомление

- очень важно - в классах View ничего менять нельзя (ну за исключением тех не сложных правок для кода и типа ответа о которых вы говорили)

 

Для большей убедительности добавим еще одно условие

 

Допустим с метода BlogView->fetch_post() мы хотим сделать переадресацию, к примеру адрес поменялся или еще чего то там случилось, без разницы, суть в том что бы переадресовать клиента на новый адрес и при этом что бы логер сработал, логика которого не находиться в данном методе, в нем нет ничего что бы сообщать лагеру что либо...

 

само собой тут многие скажут - ты все усложняешь. пиши все что тебе надо в контроллере и не парься))


Изменено: DaVinci, 17.09.2018 - 14:31


#49 phukortsin

phukortsin
  • Фрилансер
  • 1 132 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 17.09.2018 - 14:34

по поставленной задачи у вас все? Не вооруженным взглядом видно что нет ни строчки php. 

 

Это Вы так издеваться продолжаете?

Или в самом деле в упор не видите в #6 и в  #17 PHP-код c решением Вашей задачи ?



#50 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 14:46

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

 

- нужно получить с блога ответ json с соответствующим заголовком
- ответ должен быть записан в логе - код ответа, время выполнения 
- логируем два метода - BlogView->fetch_post() и BlogView->fetch_blog
- если метод BlogView->fetch_post() ответил с кодом 404 отправляем администратору уведомление
- с любых контроллеров нужно иметь возможность переадресовать клиента на указанный адрес но логер должен записать результат запроса
- очень важно - в классах View ничего менять нельзя (ну за исключением тех не сложных правок для кода и типа ответа о которых говорил Корс но никто их не видел)

 

если данную задачу можно решить относительно не сложно и при этом что бы симпла осталась такой как есть, если у вас есть идея как это реализовать, я бы с удовольствием поучаствовал в данной реализации


Изменено: DaVinci, 17.09.2018 - 14:49


#51 phukortsin

phukortsin
  • Фрилансер
  • 1 132 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 17.09.2018 - 18:15

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

 

- нужно получить с блога ответ json с соответствующим заголовком
- ответ должен быть записан в логе - код ответа, время выполнения 
- логируем два метода - BlogView->fetch_post() и BlogView->fetch_blog
- если метод BlogView->fetch_post() ответил с кодом 404 отправляем администратору уведомление
- с любых контроллеров нужно иметь возможность переадресовать клиента на указанный адрес но логер должен записать результат запроса
- очень важно - в классах View ничего менять нельзя (ну за исключением тех не сложных правок для кода и типа ответа о которых говорил Корс но никто их не видел)

 

если данную задачу можно решить относительно не сложно и при этом что бы симпла осталась такой как есть, если у вас есть идея как это реализовать, я бы с удовольствием поучаствовал в данной реализации

 

Эту задачу можно решить относительно не сложно и при этом что бы симпла осталась такой как есть.

Конечно, сначала надо поставить задачу как следует, ибо сейчас большинство пунктов весьма неточные, а некоторые просто бессмысленные.

И вообще, я бы эту задачу разбил на две отдельные подзадачи, поскольку они почти не связаны - 1) запись в логи, 2) работа с ответами в разных форматах.



#52 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 18:23

Эту задачу можно решить относительно не сложно и при этом что бы симпла осталась такой как есть.

Конечно, сначала надо поставить задачу как следует, ибо сейчас большинство пунктов весьма неточные, а некоторые просто бессмысленные.

И вообще, я бы эту задачу разбил на две отдельные подзадачи, поскольку они почти не связаны - 1) запись в логи, 2) работа с ответами в разных форматах.

 

если есть наброски покажите. точно не точно я смысл пойму, допишем.

 

Задачи очень связаны. логер тут в качестве примера, если на данный момент не совсем понятна суть задачи, в дальнейшем все встанет на свои места. Задача стоит в том что бы запрос прошел определенный маршрут и вернулся нужный результат, без прерывания работы приложение где либо. А основная цель это - вынести логику которая декорирует или дополняете контроллеры в отдельные "функции", объекты, файлы, без разницы... Так что бы она не нагромождалась там где ее быть не должно


Изменено: DaVinci, 17.09.2018 - 18:25


#53 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 18:28

На данный момент мы не можем манипулировать маршрутом запроса, не можем остановить его по определенному условию не оборвав работу приложения ниже. Мы не можем модифицировать ни запрос ни ответ...



#54 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 18:30

если косноязычно могу пояснить кодом



#55 phukortsin

phukortsin
  • Фрилансер
  • 1 132 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 17.09.2018 - 19:17

если косноязычно могу пояснить кодом

 

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

Например, с самого начала сказано

1. нужно получить с блога ответ json с соответствующим заголовком

 

Как минимум два вопроса возникают:

1.1 "с блога" - что имеется в виду? С какого-то URL? То ли имеется в виду общая страница блога, то ли отдельный пост, то ли и то и другое... 

1.2 Всегда хотите "с блога ответ JSON", или в одних случаях HTML, в других JSON, в третьих еще что? Если несколько случаев, то надо бы описать хоть два из них и придумать приметы, как их распознавать...



#56 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 19:36

Поясняйте можно любым способом, который Вам нравится, лишь бы было понятно.
Например, с самого начала сказано
1. нужно получить с блога ответ json с соответствующим заголовком

Как минимум два вопроса возникают:
1.1 "с блога" - что имеется в виду? С какого-то URL? То ли имеется в виду общая страница блога, то ли отдельный пост, то ли и то и другое...
1.2 Всегда хотите "с блога ответ JSON", или в одних случаях HTML, в других JSON, в третьих еще что? Если несколько случаев, то надо бы описать хоть два из них и придумать приметы, как их распознавать...

вот мой вопрос

Подскажите как мне с любого контроллера (view), к примеру BlogView метода fetch_blog вернуть результат в виде JSON?

Нужно уточнить что вернуть посты или отрендереный tpl? Если в этом недопонимание - вернуть клиенту массив $posts в виде json. Вы ведь в своём ответе использовали вовсе не существующую в данном методе переменную. Хотя вариантов было как минимум два - массив $posts либо отрендеренный tpl.

Изменено: DaVinci, 17.09.2018 - 19:37


#57 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 19:39

Но абстрактность вашего ответа вас почему то не смущает

#58 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 19:47

Так как это понимать - ваша невнимательность?

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

#59 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 19:58

Да и черт с ними с этими заголовками, все чего не хватает попутно набросаем. Хотелось бы предметно погворить. есть у вас пример кода который относительно не сложно решает поставленную задачу?

#60 DaVinci

DaVinci
  • Фрилансер
  • 1 159 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 17.09.2018 - 20:28

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

 

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

 

- нужно получить с блога ответ json с соответствующим заголовком
- ответ должен быть записан в логе - код ответа, время выполнения 
- логируем два метода - BlogView->fetch_post() и BlogView->fetch_blog
- если метод BlogView->fetch_post() ответил с кодом 404 отправляем администратору уведомление
- с любых контроллеров нужно иметь возможность переадресовать клиента на указанный адрес но логер должен записать результат запроса
- очень важно - в классах View ничего менять нельзя (ну за исключением тех не сложных правок для кода и типа ответа о которых говорил Корс но никто их не видел)

 

если данную задачу можно решить относительно не сложно и при этом что бы симпла осталась такой как есть, если у вас есть идея как это реализовать, я бы с удовольствием поучаствовал в данной реализации

 

могу предположить что под "Эту задачу можно решить относительно не сложно и при этом что бы симпла осталась такой как есть." кроется подтверждение моих слов о неизбежном нагромождении логики либо в точке входа либо в контроллере. но есть вполне небеспочвенные основания полагать что от Корса мы ничего так и не увидим


Изменено: DaVinci, 17.09.2018 - 20:35





0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых