Framework или Чистый PHP?

seosniks
На сайте с 13.08.2007
Offline
389
2709

Добрый день гуру форума.

Хочу делать небольшой сайтик.

На сайте будет загружена куча однотипных файлов, список этих файлов будет находится в базе sql , файлов может быть от 1000 до 20-30 к.

1.) Посоветуйте как правильно реализовать структуру передвижения по сайту.

2.) Как реализовать кеширование, чтоб уменьшить нагрузку

3.) Использовать ли sql или делать базу на файлах.

4.) может есть не сложные решения скелета, ядра под свои решения.

для примера, есть главная страница index.php на ней будет выводиться блок новинок

Пример блок новинки

№ Название Загрузок текст рейтиг размер

1000 Хотаб 20000 просмотр **** 100 кб

В верху так же будет блок для выбора данных из базы в виде a-z а-я

Использовать такую структуру или нет.

index.php?p=home

index.php?p=f&news=100

index.php?p=faq

index.php?p=home

года три назад, все делал как то так

<?php

require("config.inc.php");

$link = @mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die("err." );
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
mysql_query('SET NAMES "'.$set.'"');

$sql = mysql_query("SELECT file.*, name.* FROM file,name WHERE file.id=name.p limit 100 ");
if(mysql_num_rows($sql) >0) {

while($r = mysql_fetch_array($sql)) {

******

Сейчас наверное так уже никто и не пишет.

Спасибо за советы.

ДП
На сайте с 23.11.2009
Offline
203
#1

Если сами делать будете и поддерживать сами - пишите как хотите.

Если вам надо быстро - пишите как умеете, если не обязательно быстро - можете взять какой-нибудь фреймворк. Фреймворк в любом случае скорости работы сайта не добавит, а вот скорость разработки (при условии, что вы фреймворк знаете) - может.

domen4you
На сайте с 08.03.2013
Offline
53
#2

фреймворк то тоже учить придется, ещё есть cms

вместо mysql нужно как вариант mysqli

AR
На сайте с 24.08.2012
Offline
33
#3

По пунктам:

3. Ни в коем случае не хранить файлы в БД. Хранить надо путь (относительный) и имя файла.

2. Отдавать файлы с помощью nginx

Можно для хранения и отдачи файлов рассмотреть готовое облачное хранилище, как пример http://lib.clodo.ru/cloud-storage/ или http://selectel.ru/services/cloud-storage/, тем самым снять с себя огромное количество проблем с оптимизацией сервера и т.д.

Д
На сайте с 13.01.2015
Offline
3
#4

ну вопервых можно заюзать cloudflare, во торых nginx проксировать =), ну и как всегда мемкешь!

Всегда рад помочь с вопром по python, php и wordpress =).
M
На сайте с 04.12.2013
Offline
223
#5

1) на главной общий список файлов и/или ссылки на категории файлов, а на страницах категорий списки файлов соответствующих категорий.

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

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

4) Ищите подходящий движок. Могу подогнать и какой-нибудь из наших легковесных движков.

Использовать такую структуру или нет.
index.php?p=home
index.php?p=f&news=100
index.php?p=faq
index.php?p=home

Не понял, о чем речь. Если об адресации, то я однозначно за нативные ЧПУ и ограниченно используемые динамические параметры (например, для разбиения на страницы большого списка файлов).

seosniks:
Сейчас наверное так уже никто и не пишет.

Есть к чему придраться из написанного. Но если говорить о стиле написания, то можно писать и с использование процедурного стиля. У нас есть и такое.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
seosniks
На сайте с 13.08.2007
Offline
389
#6
andrei_ra:
По пунктам:
3. Ни в коем случае не хранить файлы в БД. Хранить надо путь (относительный) и имя файла.
2. Отдавать файлы с помощью nginx

Можно для хранения и отдачи файлов рассмотреть готовое облачное хранилище, как пример http://lib.clodo.ru/cloud-storage/ или http://selectel.ru/services/cloud-storage/, тем самым снять с себя огромное количество проблем с оптимизацией сервера и т.д.

Файлы планировал хранить на хостинге в папке, но

Подумываю о облачных хранилищах. Главное подключить отдачу фалов к сайту.

Отдавать буду ссылку на файл, а названия файлов хранить в базе, чтоб быстро делать выборку.

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

Мне по сути нужна витрина и отдача файлов.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий