LINUX.ORG.RU

я у мамы php

 ,


0

2

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

мне просто интересно, может кто какое напутствие даст. пишу я блог для себя, типа подарок самому себе на ДР будет, так что любой критике и предложениям буду рад, чтобы «сделать хорошо».
альзоу, я буду рад, если кому-то этот пост покажется полезным и он решит использовать блог для себя, и буду еще более рад, если вы скажете, какой функционал должен быть в эталонном блоге? может, сделать лайки/дислайки, или может прикрутить древовидную структуру статей, или может... чего? накидайте нескучных идей позязя. =)

и так, поехали. блог на php, в качестве базы используется sqlite. пишу я на php впервый раз, левой ногой через правое плечо.

возможности блога:

  • дизайн говно
  • регистрация пользователей
  • админ-панель для управления записями
  • Человеко-Понятные УРЛы
  • создание постов и отправка комментариев к ним :)

выглядит структура файлов так:

/srv/http/sites/spfng.com
 |- w3/       (корневая директория веб-сайта, пустая)
 |- app.php   (блог в один файл)
 |- cc.php    (cc = command centre, командный центр - админ панель. да, я фанат StarCraft :) я вообще сперва обходился аналогом phpmyadmin (phpliteadmin), но удобства для пришлось говнокодить админку. отдельным файлом - чтобы говнокод лежал отдельно)
 `- db.sq3    (база данных)

настройка сервера nginx:

  server {
    listen 80;
    server_name spfng.com;

    root /srv/http/sites/spfng.com/w3;
    index default.html;

    charset utf-8;

    location @php {
      fastcgi_pass unix:/run/php-fpm/php-fpm.sock;

      fastcgi_param SCRIPT_FILENAME /srv/http/sites/spfng.com/app.php;

      include fastcgi_params;
    }

    try_files $uri $uri/default.html @php;
  }
как вы видите, из корневой директории возможна отдача только статичного контента, и если запрашиваемого файла не существует, тогда все запросы идут к единственному app.php который лежит вне корневой директории сайта. это нужно для работы ЧПУ.

Скачать бесплатно, без регистрации и SMS:

работает просто. заходим на «сайт/», и нас редиректит на «сайт/blog/» (потому что здесь находится блог, да).

заходим на «сайт/signup/» и можно создать аккаунт. но при первом запуске скрипта аккаунт уже создался, так что заходим на «сайт/signin/» и авторизируемся с логином admin паролем admin. можно пройти на «сайт/signoff/» и завершить сессию.

заходим в админку «сайт/cc/» и оттуда можно добавить новые записи, которые появятся на главной блога. указать ЧПУ к статье, зайти прочитать статью «сайт/blog/friendly-url/» и оставить к ней комментарий.

тащем-та все. для тех, кому на все это пофиг и просто хочет чтоб ему картинку нарисовали, - скриншоты =)
и да, дизайн как писал говно - его нет в «релизе», но у меня он есть, как видно по скриншотам.

админка: список записей
админка: создание, редактирование
блог: список записей
блог: чтение записи и комментариев

★★★★★
Ответ на: комментарий от Ubuntu1210

это серьёзный вопрос? на данном сайте?

qnikst ★★★★★
()
Ответ на: комментарий от drakmail

Скорее enjoy your SQLite.

Я-то наслаждаюсь.

А, ты постгрес в глаза не видел, и думаешь, что это такой энтерпрайзный огромный тормозной монстр?

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

имхо, постгрес гораздо понятнее.

То, что ты написал, сработало бы и для MySQL, только зачем это для бложека?

Мне для бложка хватает jekyll и абсолютно любого хостинга. Так как статика.
статика

Если у тебя статика, зачем тебе тогда БД вообще?

RHEL и персональная АЭС нужна личностям вроде тебя и ТС

Вот это поворот.

Надо иметь достаточно большой фантазии для этого.

Твоя рюсский такая хороший вай-вай-вай…

А если с обертками?

Тогда обёртка должна брать на себя заботу о различиях БД.

А ты знаешь, что, например, размер ключа индекса в MySQL ограничен, в то время, как в SQLite нет?

А ты можешь мне объяснить, зачем одинокому бложеку вообще потребовалась индексация?

Deleted
()

А где rss? Капча для каментов? :)

tazhate ★★★★★
()
Ответ на: комментарий от Deleted

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

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

То, что ты написал, сработало бы и для MySQL, только зачем это для бложека?

Как я уже написал выше - синтаксис команд постгреса гораздо удобнее.

Если у тебя статика, зачем тебе тогда БД вообще?

Мне, для блога - совсем незачем. А вот ТС'у она, как видно, жизненно необходима.

Вот это поворот.

Ну так это ты обмазываешься влажными фантазиями, где фигурируют монструозные PHP и SQLite для банального бложка.

Тогда обёртка должна брать на себя заботу о различиях БД.

Она и берёт, в 95% случаев. Остальные 5% невозможно реализовать силами обертки вообще, что и вытекает в различия на стейджинге/продакшене и в девелопменте.

А ты можешь мне объяснить, зачем одинокому бложеку вообще потребовалась индексация?

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

drakmail ★★★★
()
Ответ на: комментарий от drakmail

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

Пруфы в студию, с самими запросами, или флудераст.

Как я уже написал выше - синтаксис команд постгреса гораздо удобнее.

По твоему примеру этого не было видно. Кроме того, непонятно, при чём здесь синтаксис команд постгреса, если обращение к БД в нормальном движке всё равно реализуется через модель, а там обыкновенное ООП, которое к синтаксису постгреса, повторяю, отношения не имеет.

Мне, для блога - совсем незачем. А вот ТС'у она, как видно, жизненно необходима.

ТСу? Ой ли? Позволь напомнить тебе твой же первый пост в этом треде: «постгрес не поддерживает... Эталонное ненужно прямо-таки». По-моему, кто-то заговаривается…

где фигурируют монструозные PHP и SQLite для банального бложка.
SQLite
монструозная
при этом сам отстаивает постгрес

Дурка там →
Что до php, то в генте я не могу назвать fpm «монструозным». А динамики, знаешь ли, хочется. А теперь проквохчи мне про disqus.

Остальные 5% невозможно реализовать силами обертки вообще, что и вытекает в различия на стейджинге/продакшене и в девелопменте.

Продакшен, продакшен… Ты говоришь о вещах, когда в компании есть штат программистов и один-два выделены специально под базы данных, они составляют запросы, ложат сервера, и т. п. Я понимаю. Но когда у компании есть деньги на штат программистов, они могут позволить себе какие угодно нагрузки и тогда ютиться на sqlite действительно не имеет смысла. Но как было упомянуто выше, подавляющее большинство сайтов не производят больших нагрузок, и им вполне достаточно было бы sqlite. На этих сайтах стоит какая-нибудь cms’ка, друпал, жумла или ещё что-то, и там уровень обращения к базе сводится до простейших четырёх.

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

Нет, ты скажи, что ты собрался индексировать в БД блога? Заголовки 25 статей? Может, быть, комментарии? Я понимаю, что булки уже подрумянились, но ты не спеши уходить.

Deleted
()
Ответ на: комментарий от Deleted

Нет, ты скажи, что ты собрался индексировать в БД блога

Можно я скажу? Например, в MySQL есть нестандартная команда REPLACE Ее очень удобно использовать в обертках. Понятно, что корректно работать она сможет только при наличии уникального индекса.

Пруфы в студию, с самими запросами

Детали можешь уточнить у разработчиков амарока.

linuxnewb
()
Ответ на: комментарий от linuxnewb

Ее очень удобно использовать в обертках.

Если вы собираетесь от и до упора сидеть на MySQL/MariaDB, то пожалуйста.

Детали можешь уточнить у разработчиков амарока.

Простите, я не настолько много пишу, чтобы размер БД моей 99-ти гигабайтной музыкальной библиотеки, сделанной амароком, был сравним с оным у моего блога.

Deleted
()
Ответ на: комментарий от Deleted

Если вы собираетесь от и до упора сидеть на MySQL/MariaDB, то пожалуйста.

Ну понятно, ты где-то услышал «мускуль-говно» и приводишь это в качестве аргумента, что индексы не нужны. Достойно!

Если ты не понял, это был пример того, что индексы в РСУБД применяются не только для «скорости». Вообще, как только в данных появятся какие-либо отношения, тебе придется обмазаться уникальными идексами, и неважно, используешь ты REPLACE в говномускуле или расово верный CONSTRAINT FOREIGN KEY в Ъ-энторпраис оракеле

linuxnewb
()
Ответ на: комментарий от Deleted

Простите, я не настолько много пишу, чтобы размер БД моей 99-ти гигабайтной музыкальной библиотеки, сделанной амароком, был сравним с оным у моего блога.

Это не отменяет особенностей скулайта

linuxnewb
()
Ответ на: комментарий от linuxnewb

Ну понятно, ты где-то услышал «мускуль-говно» и приводишь это в качестве аргумента

Пруф, где я это привожу в качестве аргумента или 4.2.
Я не отзывался плохо ни об одной СУБД в этом треде, меня смущает только целесообразность применения, если вы не заметили.

в РСУБД

А мы здесь упоминали нереляционные?

применяются не только для «скорости».

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

Deleted
()
Ответ на: комментарий от Deleted

Пруф, где я это привожу в качестве аргумента или 4.2.

В предыдущем посте. Перед этим, я напомню, ты утверждал, что индексировать нечего. На что тебе привели пример нужности индексов, причем для наглядности была выбрана платформа, не относящаяся к пердыдущей дискусии. Ну и твой ответ на это в стиле «мускуль нинужен» как бы символизирует.

А мы здесь упоминали нереляционные?

Как-то ты уныло съезжаешь. Попробуй еще. Добавь задора и безрассудства.

в конкретно поставленной задаче, которую пытается решить ТС

Вот кстати, какая-нибудь монга лучше подошла бы ТСу.

По моему скромному мнению иное их применение иногда бывает сложно оправдать

Не слышал про ссылочную целостность? Понимаю. Но кому тогда интересно твое скромное мнение?

советую перечитать этот пост

Я даже ответил на него. Разумеется, откровенный бред оставил без комментариев.

linuxnewb
()

Пара советов:

1. Подключение к бд на фронте очень плохо. Нет, очень плохо.

2. Сделай отдельный скрипт для создания бд. Посреди кода это смотрится несуразно

3. Переработай структуру. Как почти правильно делать смотри в сторону MVC.

ps это для саморазвития же, надеюсь?

C1nde
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.