Изучаю PHP, уже некоторое время пишу приложение на Yii. Приложение уже практически готово, но задался вопросом: правильно ли я его оформил?
Одностраничный сайт с формой загрузки для изображений. Пользователь загружает изображения, они обрабатываются сторонним софтом, пользователю, на той же странице, отдается ссылка на загрузку получившегося файла (через jQuery json).
БД не используется
Структура сайта (и как я ее понимаю):
htdocs/
index.php Главный скрипт
assets/ [Временные файлы] содержит опубликованные ресурсы через Yii::app()->assetManager->publish
upload/ Сюда попадают загруженные пользователем изображения. Внутри директории создаются поддиректории с уникальным именем
download/ Сюда в итоге переносится изображение, которое будет отдаваться пользователю
protected/ само приложение
assets/ JS/CSS файлы, используемые приложением (публикуются через assetManager)
js/
css/
components/ Здесь у меня содержится:
Controller.php
Виджеты
Скрипт, обрабатывающий изображения (проверяет его валидность, запускает посторонний софт на сервере, типа ImageMagick), возвращает ответ в видео json кода, который передается пользователю
config/ конфигурационные файлы
main.php
controllers/ контроллеры
SiteController.php публикация ресурсов, рендер страницы
UploadController.php отвечет за прием файла, затем передает управление в скрипт из папки components, затем возвращает ответ в виде json кода, который вставляется в список загруженных файлов через jQuery
DownloadController.php отвечает за отдачу файла обратно пользователю, отвечает за их дальнейшее удаление с сервера (через 30 минут)
runtime/ [Временные файлы] Yii использует ее для себя
views/ view-файлы
layouts/ Главный шаблон
main.php
site/
index.php 'index'-view
Планируется: добавить БД для ведения статистики (сколько загружено, сколько отдано, средний размер и т.п.)