Comments 21
Вы забыли привести область применения. Имхо, при условии любой реализации паттерна MVC все вышеизложенное приобретает очертания двухколесного транспортного средства.
+2
Не расписаны плюсы и минусы данного подхода.
Почему необходимо вызывать именно отдельные функции/методы скрипта, а не целиком скрипт, передавая параметры?
Почему необходимо вызывать именно отдельные функции/методы скрипта, а не целиком скрипт, передавая параметры?
0
Плюсы - удобная разработка несколькими программистами одного кода.
Минус может быть лишь в том, что выполнение кода будет не оптимальным. Но это опять-же зависит от программиста - как он этим будет пользоваться и оптимизировать.
Минус может быть лишь в том, что выполнение кода будет не оптимальным. Но это опять-же зависит от программиста - как он этим будет пользоваться и оптимизировать.
0
Почему необходимо вызывать именно отдельные функции/методы скрипта?
Иначе теряется модульность. Возможно есть несколько модулей (например фото-галлерея, видео-галлерея), которые друг с другом не связанны и в любой момент их можно просто отсоеденить/присоеденить (удалив/добавив include).
Иначе теряется модульность. Возможно есть несколько модулей (например фото-галлерея, видео-галлерея), которые друг с другом не связанны и в любой момент их можно просто отсоеденить/присоеденить (удалив/добавив include).
0
Потом придём к пониманию, что далеко не все вызовы разрешены и закончится процесс разработкой API. Не совсем в тему, но вспомнилась цитатка: "Все воруют. Просто ты честней других. Ты искренне сочиняешь чужое."
+2
Что вы имеете ввиду под "не все вызовы разрешены"?
Я расписал несколько примеров - там, помойму, нечего уже добавить. Всё просто и универсально.
Я пишу эти статьи не только для программистов "со стажем". Я уверен, что Хабр читают новички тоже, которым, возможно будет интересен этот подход или другие части кода. Я лично, в основном учился, разбирая примеры кода. :)
Я расписал несколько примеров - там, помойму, нечего уже добавить. Всё просто и универсально.
Я пишу эти статьи не только для программистов "со стажем". Я уверен, что Хабр читают новички тоже, которым, возможно будет интересен этот подход или другие части кода. Я лично, в основном учился, разбирая примеры кода. :)
0
Я наверно являюсь новичком, но не совсем понятно - а зачем передавать в открытом виде функцию, которую необходимо вызвать? Соответственно надо добавлять тогда механизм, который будет решать - а разрешено ли вызвать данную функцию неизвестно кем (ведь при передачи запроса в Вашем варианте php не знает кто именно вызывает функцию). Насколько я понял именно это имелось в виду под "не все вызовы разрешены". Может лучше просто через JSON передать набор "стандартных" параметров - модуль, экшн, параметры? И пусть уже модуль сам разбирается, что ему с полученным добром делать.
0
Не учите плохому. Не всегда простота это хорошо.
Такой подход порождает баги.
> Возможно есть несколько модулей (например фото-галлерея, видео-галлерея), которые друг с другом не связанны и в любой момент их можно просто отсоеденить/присоеденить (удалив/добавив include).
Именно это неправильно. Целостность системы потеряна. Модули бегают по двору, как маленькие котята, а программер сидит и пишет "новый" метод, который другой программер уже описал раньше.
При использованиии подобной схемы общение в команде должно быть чуть-ли не телепатическим. Для решения подобных проблем придумали апи. alexxz написал совершенно верно. Да и Kupyc прав.
Такой подход порождает баги.
> Возможно есть несколько модулей (например фото-галлерея, видео-галлерея), которые друг с другом не связанны и в любой момент их можно просто отсоеденить/присоеденить (удалив/добавив include).
Именно это неправильно. Целостность системы потеряна. Модули бегают по двору, как маленькие котята, а программер сидит и пишет "новый" метод, который другой программер уже описал раньше.
При использованиии подобной схемы общение в команде должно быть чуть-ли не телепатическим. Для решения подобных проблем придумали апи. alexxz написал совершенно верно. Да и Kupyc прав.
0
Не согласен. В простых вещах (а они по этому и называются простыми), найти баги намного проще.
Целосность потеряна, я знаю. Но мне она, для моих задач и не нужна. У нас не штат программистов, которые пишут, не зная, что уже есть и что будет реализованно, чем можно воспользоваться в будующем.
Да и для этого есть системы типа UML ;). У меня подход немного другой.
Целосность потеряна, я знаю. Но мне она, для моих задач и не нужна. У нас не штат программистов, которые пишут, не зная, что уже есть и что будет реализованно, чем можно воспользоваться в будующем.
Да и для этого есть системы типа UML ;). У меня подход немного другой.
0
есть очень грамотно написанная библиотека xajax, ее главная задача - она запускает функцию php с передачей параметров из javascript. Пользуюсь ею постоянно
0
Да, вот это, вот это неплохой кодобред.
-1
Имхо идея не плохая, даже хорошая, но есть трудности которые нужно решить чтоб этот подход позволил накапливать опыт в библиотеках:
1. сложность наследования сервисов таких, разделение прав и прочего. не представляю как осуществлять наследуемость в таких структурах
2. как было сказано выше прохая инкапсулируемость.
$functions=json_decode($_REQUEST['method'],TRUE);
$UImethod->run($functions);
echo json_encode($UImethod->result);
мне кажется в этих строках сложно сделать прозрачным ограничение на разрешенные и запрешенные методы класса..
а в целом для маленьких задачь с маленьким кол-вом функций очень даже удобно. коротко и вызовы прозрачные впринципе
Может стоит просто сделать нечно вроде
1. сложность наследования сервисов таких, разделение прав и прочего. не представляю как осуществлять наследуемость в таких структурах
2. как было сказано выше прохая инкапсулируемость.
$functions=json_decode($_REQUEST['method'],TRUE);
$UImethod->run($functions);
echo json_encode($UImethod->result);
мне кажется в этих строках сложно сделать прозрачным ограничение на разрешенные и запрешенные методы класса..
а в целом для маленьких задачь с маленьким кол-вом функций очень даже удобно. коротко и вызовы прозрачные впринципе
Может стоит просто сделать нечно вроде
0
Я сейчас дописываю заключительную статью. Там всё объясняю подробно. Плюс добавил небольшие изменения для JS.
Запрещенные методы класса в данном случае не играют роли- они могут быть вынесены в другие классы-интерфейсы не относящиеся совсем к UI. При этом, public интерфейс для JS ты создаёшь сам при помощи метода add.
Запрещенные методы класса в данном случае не играют роли- они могут быть вынесены в другие классы-интерфейсы не относящиеся совсем к UI. При этом, public интерфейс для JS ты создаёшь сам при помощи метода add.
0
Написано много интересного, а можно простой пример,
как сделать, например, загрузку Javascript из php,
например. на страницу PHP вставить счетчик Javascript,
это например, есть и более сложные задачки…
как сделать, например, загрузку Javascript из php,
например. на страницу PHP вставить счетчик Javascript,
это например, есть и более сложные задачки…
0
Sign up to leave a comment.
Интерфейс Javascript < == > PHP