Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: MVC. Где расположить виды?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
BMW M6
Отправлено: 05 Мая, 2014 - 18:03:21
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Всем доброго времени суток Улыбка
Возник такой вопрос, где лучше расположить виды?
Вот есть два варианта:

Какой вариант более правильный?

Update 06.05.2014 14:45 -> папки лежат в корне сайта.

(Отредактировано автором: 06 Мая, 2014 - 13:45:26)

 
 Top
teddy
Отправлено: 05 Мая, 2014 - 18:50:28
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




BMW M6 пишет:
Вот есть два варианта:

На мой взгляд ни один не катит...

1. Если подумать логически то в папке system должны находиться классы которые отвечают за поведение ядра.

2. Не плохо бы создать папку application а в ней уже:
- Models
- Views
- Controllers
Это те модели, контроллеры и виды которые создаются в процессе разработки приложения(но не системные классы) надеюсь идея понятна

(Отредактировано автором: 05 Мая, 2014 - 18:53:08)

 
 Top
Stierus Супермодератор
Отправлено: 05 Мая, 2014 - 19:07:18
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




думается мне, Что css и js должны быть доступны по http извне, а файлы шаблонов нет, так что в одной папке им точно не место Улыбка
 
My status
 Top
BMW M6
Отправлено: 05 Мая, 2014 - 20:16:05
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




teddy,
Название папки не имеет значение, так как есть папка core, где лежат базовые классы.
Идея мне ваша понятна, просто в сравнение с моей у вас папка называется по другому. Спасибо за ответ!
Stierus,
Не совсем понял Вашу мысль, но всё ровно спасибо!

P.S. А если будет использоваться в системе не один шаблон, то в папке с шаблонами будут ещё папки и пользователь сам выберет какой шаблон ему нравится больше, то и виды должны быть разные. То как тогда разместить виды?

(Отредактировано автором: 05 Мая, 2014 - 20:18:47)

 
 Top
teddy
Отправлено: 05 Мая, 2014 - 20:26:35
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




BMW M6 пишет:
Название папки не имеет значение

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

Выше говорили о том, что если js и css файлы будут расположены рядом с теми файлами которые не должны быть доступны из вне(подразумевается, что Вы догадались разместить их на уровень выше от корневой директории), то браузер не сможет их загрузить и применить к странице.

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

(Отредактировано автором: 05 Мая, 2014 - 20:38:06)

 
 Top
BMW M6
Отправлено: 05 Мая, 2014 - 20:39:05
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




teddy,
получается так в application->views есть две папки bootstrap и redstar, и в каждой папке храним нужные нам виды.
---
"Выше говорили о том, что если js и css файлы будут расположены рядом с теми файлами которые не должны быть доступны из вне(подразумевается, что Вы догадались разместить их на уровень выше от корневой директории), то браузер не сможет их загрузить и применить к странице." Вот тут я вообще ничего не понял Улыбка
Почему они не будут доступны?
 
 Top
Stierus Супермодератор
Отправлено: 05 Мая, 2014 - 21:26:38
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
Почему они не будут доступны?


У вас есть веб-сервер (апач или nginx - не важно), у него есть конфигурация DocumentRoot - рутовая директория доступная по http, все, что лежит в ней, доступно для отдачи веб-сервером.

Ну например если в настройках DocumentRoot = /opt/myFirstSite/wwwRoot
то на сервере папки как-то так выглядят:
/opt/myFirstSite/wwwRoot/index.p hp
/opt/myFirstSite/wwwRoot/css/main.css
/opt/myFirstSite/wwwRoot/js/jque ry.min.js

Соответственно все, что должно исполняться (все ваши классы, модели, весь php код) должен быть уровнем выше - в папке /opt/myFirstSite/application , например
 
My status
 Top
Ch_chov
Отправлено: 06 Мая, 2014 - 06:20:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Если все файлы проекта находятся в DocumentRoot, то не забудьте закрыть доступ к опасным расширениям через конфигурацию сервера (например, через .htaccess). Структура директорий обычно дело вкуса.
 
 Top
BMW M6
Отправлено: 06 Мая, 2014 - 13:44:01
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Stierus, у меня всё будет доступно.
Я использую nginx, поэтому root /data/test.ru/www;
и там уже:
/data/test.ru/www/app
/data/test.ru/www/system
/data/test.ru/www/themes
/data/test.ru/www/themes/css
/data/test.ru/www/themes/js
/data/test.ru/www/themes/font
вот такая структура сайта получается.
И в схеме в первом посте папки лежали уже в корне сайта, просто я это не отметил.

(Отредактировано автором: 06 Мая, 2014 - 13:44:39)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB