Смешайте Javascript и PHP в моей модели дизайна - PullRequest
5 голосов
/ 01 февраля 2011

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

Я думаю, что что-то вроде следующего должно быть хорошо:

UML example diagram

Но, на самом деле, я не уверен, достаточно ли ясно ввести расширение .php в имя класса или что мне нужно разделить диаграммы на две части: одну для классов Javascript и другуюдля классов PHP.

Я использую CodeIgniter (шаблон MVC) и Javascript.Будем благодарны за любые предложения.

Спасибо!

Ответы [ 3 ]

7 голосов
/ 01 февраля 2011

Обычно вы не хотите этого делать.Это проблема задержки при просмотре веб-страницы в браузере.Каждый отдельный файл javascript защищает от кэширования и требует дополнительного времени передачи, прежде чем страница сможет загрузиться. обычно советуют объединять файлы JS везде, где это возможно и практично, чтобы лучше использовать преимущества кэширования браузера.Поэтому мое первое предложение состоит в том, чтобы не произвольно разделять ваш JS по архитектурным причинам ...

Теперь, с учетом сказанного, чтобы полностью ответить на ваш вопрос, я думаю, это зависит от того, как вы смотрите на JS.Если вы смотрите на это с точки зрения того, что оно расширяет ваше PHP-приложение, то деление его вдоль сторон ваших взглядов неплохо (вышеупомянутое предложение не выдерживает).

Однако я обычно вижу JS как отдельный прикладной уровень поверх PHP-приложения.JS взаимодействует со слоем PHP через определенные API.Таким образом, это в основном просто полноценное приложение с графическим интерфейсом, которое, как оказалось, использует API, определенный приложением PHP.Имея это в виду, я обычно создаю JS-приложение с его собственной архитектурой, которая более зависима от себя, чем PHP-приложение.Другими словами, то, что часть приложения JS взаимодействует с PHP, не означает, что часть кода принадлежит приложению PHP.

Имеет ли это смысл?

3 голосов
/ 01 февраля 2011

Попытка поместить все свои классы (даже в одном приложении - у вас есть два: приложение PHP и приложение JS) на одну диаграмму UML - это в значительной степени способ тратить много времени и ничего не получать.

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

2 голосов
/ 01 февраля 2011

Я не знаю, как вы обычно делаете вещи, но в своих проектах я склонен разделять PHP и JS.Во-первых, его легче разрабатывать и отлаживать, если вы пойдете таким образом, во-вторых, если вы будете рассматривать javascript как второй уровень, а не на том же уровне программирования, что и PHP, вы получите работающий запасной вариант в случае, если ваш JSне работает, или у пользователя вашего веб-приложения отключен JavaScript.

Я стараюсь заставить все работать в PHP, а позже я переопределяю некоторые действия с помощью JavaScript, чтобы заставить их работать через ajax вместо традиционного способаработая в старой школе Web.

--- Редакция после первого комментария ---

Затем вы можете рассматривать PHP и часть Javascript как отдельные приложения.Первая система (PHP) генерирует начальное состояние.После действий пользователя вторая система (JS) отправляет запрос первой и ждет ответа, таким образом, вы настроите некоторый API, который будет стандартизировать ваши транзакции.

Я использовал для работы с дизайноминформационные специалисты, и они часто называют Джесси Джеймса Гарретта «гуру» в этой области знаний, вы можете проверить его сайт (есть готовые трафареты для omnigraffle, visio и некоторых других).

Благодаря его письму и примеру вы сможете найти правильные символы и элементы для представления вашей системы.

Сайт Джесси Джеймса Гарретта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...