как организовать весь js, css, php и код HTML?

Теперь я знаю, что можно использовать ООП и MVC для организации, но это только для PHP.

Скажем, я добавляю новое окно, которое открывается, когда пользователь нажимает на ссылку, и это отображает форму с проверками JS, и это - разработанный CSS.

Здесь мы получили 4 кода: JS, CSS, PHP и HTML (с некоторыми отрывками PHP).

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

Я думал о структуре. не был бы это быть лучше, если Вы получили отдельный "модуль" для каждого окна. Например, папка для каждого окна. В той карте Вы помещаете один CSS - один JS-, один PHP-и один файл HTML? Тогда Вы получили очень хорошую структуру, которые не грязны, и Вы не смешиваете все окна друг с другом в одном большом JS и файле CSS.

Что Вы думаете? И я ценил бы предложения того, как организовать эти 4 вид кодов.

9
задан BalusC 31 January 2010 в 17:05
поделиться

5 ответов

Мне нравится способ Джанго организовать папки. Давайте попробуем представить и адаптировать его к вашему php проекту:

Корневая папка - это папка Project, допустим, имя сайта. Она содержит

  • общие настройки и значения (т.е. значения доступа к базе данных, пути и т.д.), может быть вспомогательные функции (не Object Oriented), называйте ее settings.php и/или utils.php или любую другую
  • медиа-папку media, которая также имеет свою структуру:
    • css папка, для общих css (т.е. reset.css и common.css, для определения общего макета)
    • папка изображений, для общих общих изображений
    • js папка, для общих javascript кода
  • папка шаблона шаблона, содержащая статические общие страницы, не относящиеся к определенным категориям сайта

Каждая корневая подпапка является выражением приложения вашего проекта (т.е. регистрация, новости, анонсы, faq, контакты, форум, ... ) и содержит:

  • папку model, в которую вы помещаете свои модели в PHP (шаблон MVC)
  • папку controller, где вы реализуете контроллеры в шаблоне MVC pattern
  • папку view, в которую вы помещаете Views вашего шаблона MVC (i. e. совсем статические php-страницы, отвечающие только за представление результатов, передаваемых Views)
  • папку media, структурированную точно так же, как структурированную для корневой папки. В эту папку вы помещаете элементы, принадлежащие только определенной части разрабатываемого вами сайта.

Для подключения компонентов, вы можете напрямую вызывать/включать их, основываясь на их путях, или вы можете реализовать php файл внутри корневой директории и каждой подпапки, которая отвечает за сопоставление url-ов и перенаправление запросов. Вызовите его index.php или urls.php или connector.php, как угодно.

Это может показаться избыточным, но это не так, и обеспечивает высококачественное разделение проблем .

4
ответ дан 4 December 2019 в 21:49
поделиться

У меня обычно есть мои PHP-страницы в одной папке, (возможно, 10 файлов, если это сайт среднего размера), то подпапка там под названием Media, в которой я помещаю папку CSS, папку JS IMG папку, папку SWF И т.д.

У меня есть 2 CSS-файлов, сброс, другой имеет стиль для всего сайта, написанного в кусках. Я использую класс на теге тела, чтобы нацелиться на разные макеты страниц.

Папка JS имеет jQuery, файл, который работает на каждой странице, то конкретные файлы для отдельных страниц.

Это держит вещи довольно прямо вперед.

2
ответ дан 4 December 2019 в 21:49
поделиться

Если вы ищете примеры о том, как разработать приложение, посмотреть на многие рамки - это хороший запуск. Даже только их структура файлов даст вам идею. Как правило, они организуют свой код в модули, где также проживают как HTML-шаблоны HTML. Ни один, в частности, лучше посмотреть, но попробуйте: CakePhp, Symfony, Codeigniter или Agavi.

Они не будут делать отличную работу по предлагающим, как правило, файлы JavaScript и CSS. Когда я делаю приложение, у меня обычно есть только горсть файлов CSS. Я удивлен, что вам, кажется, нужно понадобиться на странице, но если вы сделаете: встраивать их. Преимущество листов внешних стилей полностью потеряно, если нет ничего многоразового использования о своем стиле. Файлы JavaScript, опять же, если они не используются, вы должны просто встраивать их. Менее HTTP-запросы на нагрузку на страницу делает всех счастливыми.

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

1
ответ дан 4 December 2019 в 21:49
поделиться

Если вы тестируетесь в IE 8 то будет ,

проверьте эту ссылку http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx

условные комментарии для различных версий IE.

-121--4043429-

Если вы можете/хотите, я бы создал папки верхнего уровня для JS, CSS, PHP и т.д., которые будут содержать код, который может использоваться в различных окнах. Нет необходимости иметь 50 копий одного и того же CSS-файла, если они все одинаковы или даже в основном одинаковый код.

Затем создайте папку для каждого «окна», которое имеет отдельные папки css, js и т.д. Здесь можно поместить файлы, специфичные для данного окна. Таким образом, если вы изменяете только 1 css правило или js функцию, которая используется в каждом окне вы можете изменить его в 1 место.

Если потребуется изменить правило только для 1 окна, поместите правило в папку «local css» для этого окна, и оно переопределит значение по умолчанию. (То есть, если HTML ссылается на него после «global css»)

-121--3375313-

Если ожидается, что один и тот же пользователь откроет несколько из этих различных всплывающих окон во время одного посещения, для них необходимо консолидировать файлы, чтобы они были кэшированы, и конечным пользователям не нужно снова загружать все CSS/JS в каждое всплывающее окно.

Подход к папке подходит для изображений и JS. Если каждое всплывающее окно сильно не отличается, я бы предложил один CSS-файл для вашего собственного здравомыслия. Структура папок может выглядеть следующим образом:

css/
* layout.css
popups/
* add_new
   - add_new.js
   - logo.png
   - add_new.php
* delete
   - delete.js
   - other_logo.png
   - delete.php

Теперь перед развертыванием можно решить, имеет ли смысл компилировать JS в один файл или лучше всего использовать отдельные файлы. (Например, если пользователь открывает 30 из 50 окон каждый раз, используйте один файл)

1
ответ дан 4 December 2019 в 21:49
поделиться

Если вы можете / нужно, чтобы я мог бы создать папки верхнего уровня для JS, CSS, PHP и т. Д., которая будет содержать код, который может быть использован для различных окон. Нет необходимости иметь 50 копий одного и того же файла CSS, если они все одинаковы или даже в основном тот же код.

Затем создайте папку для каждого «окна», которая имеет отдельные CSS, JS и т. Д. Здесь вы можете поставить файлы, которые специфики для этого конкретного окна. Таким образом, если вы изменяете только 1 правило CSS или функцию JS, которая используется каждым окном, которое вы можете изменить его в 1 месте.

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

1
ответ дан 4 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

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