[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Структура директорий
Страницы: 1, 2, 3, 4, 5, 6, 7
twin
Пока вырисовывается такая глобальная структура использования фреймворка:

user posted image

Немного пояснений.

- vendor (репозиторий)
- - - abc (тут думаю не нужно объяснять)
- - - - - - components (библиотеки, компоненты, прочие модули фреймворка)
- - - - - - resourses (конфигурация, языки, другая служебная информация)
- - - - - - core (здесь ядро, незаменяемые скрипты)
- - - - - - abc.php (типа boostrap)

- version
- - - - app(одна из расширенных версий фреймворка)
- - - - - - - resourse (а здесь их сконфигурирует)

- www (папка, доступная по HTTP)
- - - configs (конфигурации конкретного сайта)
- - - theme (файлы отображения)
- - - index.php

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Игорь_Vasinsky
Цитата
- - - skins (файлы отображения)


а чё не

- controllers
- models
- templates
-- js
-- css

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
twin, Почему бы abc не положит в vendor. Это позволит сэкономить 1 путь в include paths и не будет проблем с установкой фреймворка или его частей composer'ом. Тот вариант, что сейчас получится поставить только с использованием composer/installers.
skins - это вьюхи? Если да, то зачем они в www? Так же зачем там configs? Лучше их держать в application
twin
Игорь_Vasinsky
Зачем контроллерам и моделям доступ по HTTP?

Что касается скинов, потому что в описании третьим снизу пкнктом стоит "Поддержка интернационализации". Другими словами мультиязычность.

Самый простой путь интернациализировать отображение - сделать несколько скинов:

- skins
- - - ru
- - - - - - tpl
- - - - - - css
- - - - - - img
- - - en
- - - - - - tpl
- - - - - - css
- - - - - - img

И переключать скины в зависимости от выбранного языка.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата (kaww @ 6.10.2015 - 06:37)
twin, Почему бы abc не положит в vendor.

Вендор, это поставщик. Права сторонних производителей нужно уважать smile.gif
А если серьёзно, то пользователю фреймворка не стоит лазить в фреймворк, чтобы добавить какой то дополнительный компонент к фреймворку, полученный на стороне.

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

Цитата (kaww @ 6.10.2015 - 06:37)
skins - это вьюхи? Если да, то зачем они в www? Так же зачем там configs? Лучше их держать в application


Ну тут иерархия. Фреймворк может обслуживать несколько приложений. Каждое приложение может обслуживать несколько сайтов.

Все они должны иметь независимые настройки в пределах своей компетенции.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Игорь_Vasinsky
лан. согласен. мне нравится.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Цитата (twin @ 6.10.2015 - 06:49)
Вендор, это поставщик. Права сторонних производителей нужно уважать

Как это противоречит моему предложению? Для пользователя фреймворк - это такая же внешняя зависимость, место которой в vendor'е.
Цитата (twin @ 6.10.2015 - 06:49)
А если серьёзно, то пользователю фреймворка не стоит лазить в фреймворк, чтобы добавить какой то дополнительный компонент к фреймворку

Разумеется, пользователю вообще не стоит лезть в код фреймворка (как и в код любой другой подключаемой библиотеки, которой так же и является abc). И как на это влияет то , что он расположен выше vendor или нет?
Цитата (twin @ 6.10.2015 - 06:49)
Ну тут иерархия.

А как же безопасность? Зачем файлы, которые не должны быть доступны из вне держать в web root
twin
Цитата (kaww @ 6.10.2015 - 06:56)
Разумеется, пользователю вообще не стоит лезть в код фреймворка (как и в код любой другой подключаемой библиотеки, которой так же и является abc)

Для того и разделение. В код abc нечего лазить. Вообще эта папка для него табу. Только в пользовательскую конфигу. Её кстати забыл отобразить, сейчас добавлю. Но если захочется поставить что-то стороннее, в дополнение к фреймворку, а не к приложению, чтобы сразу на все, то как? Распаковываем в vendor и конфигурируем фреймворк согласно новым указаниям. smile.gif

Должна быть легкая расширяемость. Очень легкая.

Цитата (kaww @ 6.10.2015 - 06:56)
А как же безопасность? Зачем файлы, которые не должны быть доступны из вне держать в web root

Почему web root? Корневая директория сайта, это www. Это хост, просто так удобнее стартовать. У многих локальные сервера настроены так my-site/www

А там можно как угодно сконфигурировать. Верхние папки хоть в корень, хоть выше, от возможности площадки зависит.

С композером подумаем что делать. Это не проблема.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
kaww
Цитата (twin @ 6.10.2015 - 07:13)
Для того и разделение. В код abc нечего лазить. Вообще эта папка для него табу.

как и vendor. Посмотри на фреймворк с точки зрения пользователя - для него он такая же зависимоть как и любая другая библиотека.
Цитата (twin @ 6.10.2015 - 07:13)
Корневая директория сайта, это www

Корневая директория сайта - это ничто иное как web root, и к ней имеет доступ веб-сервер.
Цитата (twin @ 6.10.2015 - 07:13)
С композером подумаем что делать. Это не проблема.

Этой проблемы можно избежать если не возносить свой фреймворк выше других библиотек (конечно же имею ввиду выше в файловой системе wink.gif )
Bolik
я тоже думаю, что папка абц лишняя, все можно и нужно запихнуть в vendor.
Игорь_Vasinsky
twin
не сдавайся.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
twin
Цитата (kaww @ 6.10.2015 - 07:26)
как и vendor. Посмотри на фреймворк с точки зрения пользователя - для него он такая же зависимоть как и любая другая библиотека

Разница есть, и она огромна. В вендор можно поставить целый ZEND фреймворк, и это не будет противоречит концепции. Вендор - набор сторонних решений. Вот поставил в него SMARTY. В папку vandor/smarty/ нечего делать. Кроме конфиг. А в сам вендор кто запретил?

По сути abc тоже вендор, но он основной и объединяющий. Потому и отдельно.

Может только её назвать vendors... Вкорее всего так. Спасибо за наводку.

Цитата (kaww @ 6.10.2015 - 07:26)
Корневая директория сайта - это ничто иное как web root, и к ней имеет доступ веб-сервер.
Разве? Первое слово web, значит это корень сайта. А корень площадки выше. В root может располагаться несколько хостов. Вот так:
user posted image
Вкурсе как устроены шареды? Можно раздать доступы по иерархии. Если мне дали доступ только к vhost1.com то он и будет корнем. Выше никак я не попаду. Ни по FTP ни по HTTP.

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

Но если сконфигурировать иначе, то можно папки abc, application и vendors поместить в корень сайта. Тогда это будет индивидуальный фреймворк. Ну допустим на одной площадке несколько владельцев и у всех разные пристрастия.

Получается очень гибкая структура. Можно по разному. Можно общий фреймворк в рут поставить, а приложения по veb root разнести. Тогда вендорами будет один прогер заведовать, а приложением другой. Вариантов много.

Кстати, гибкость не указал в спецификации, а с неё и начал huh.gif СПС за еще одну наводку.



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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
OleKh
Цитата (twin @ 6.10.2015 - 08:44)
И переключать скины в зависимости от выбранного языка.

Такое не делалось даже на той древней CMS на которой я когда-то делал магАзины. Создается папка Lang и подпапка например RU и через константы, в файл например lang.php, значения констант на русском. Зачем дублировать шаблон.

В сессию добавляется язык сайта, например RU и соответственно меняется путь к файлу lang.php.
twin
А картинки? А они могут и из css и из js тянуться. А на них надписи могут быть. И константы, это ресурсы. Мы тоже будем юзать перевод служебных слов, но только если их юзают сскрипты. А сколько нужно памяти, чтобы сменить язык такого текста в шаблоне?

Цитата
Рекомендации для невысоких девушек:

Вертикальные линии – в женской одежде они обязательны: застежки, элементы декора, швы
Облегающий и удлиненный силуэт. Также можно купить женскую одежду, выполненную в А-образном силуэте, но обязательно в прямых, лаконичных линиях
Мелкие детали в отделке – ремни, драпировки, воротники, застежки
Рекомендации для высоких девушек:

А еще и высоких, толстых, кривых, горбатых? Видел я подобное, ужос.

Ну или базу дергать ради статичного текста. Есть ли смысл?

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
kaww
Цитата (twin @ 6.10.2015 - 07:52)
В вендор можно поставить целый ZEND фреймворк

Кстати, zf себя не обособляет и лежит рядом со всеми либами http://framework.zend.com/manual/2.0/en/re....structure.html (директория называется library вместо vendor)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.