ФорумПрограммированиеPHP для идиотов → Структура файловой системы движка

Структура файловой системы движка

  • Kolbaser

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 6 мая 2011 г. 2:47

    Мужики, как вы у себя размещаете файлы в движках? Никак не могу определиться: на сайте ожидается большое количество самых разных по устройству разделов, под каждую страницу получается свой файл.

    Варианты страниц:
    Список новостей о музыке - news_music_list.php
    Конкретная новость о музыке - news_music_full.php
    Список новостей о фильме - news_movies_list.php
    Конкретная новость о фильме - news_movies_full.php

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

    Как вариант можно распихать по каталогам:

    modules/news/
    music_list.php
    music_full.php
    movies_list.php
    movies_full.php
    books_list.php
    books_full.php
    modules/articles/
    list.php
    full.php


    Но тогда в них придётся морочиться с include ('../../config.php') в зависимости от вложенности, думаю, суть понятна. Попахивает быдлокодом. И да, суффикс _full.php - по смыслу плохо подходит, также интересно как правильнее будет назвать страницу с полным текстом новости/статьи/etc. Интересно, кто как делает?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 6 мая 2011 г. 10:35, спустя 7 часов 47 минут 48 секунд

    Kolbaser, отправляю все на индекс и им отдаю нужные мне страницы. То есть указанных тобою файлов у меня вообще нету (ну кроме только шаблонов, если есть необходимость такая). Но коли все же хочешь делать как делаешь, то тут твой вариант решения примерно правильный. Но в целом делай как тебе удобней.
    п.с. В идеале не конфиг должен знать где какой модуль лежит и подключать его (точнее, где лежит модуль конфиг может знать, но не подключать его). Этим должен роутер либо прочая системная лабуда заниматься.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 6 мая 2011 г. 11:44, спустя 1 час 8 минут 36 секунд

    фронт контроллер должен быть один. Ну ок, два (web, cli)
  • Kolbaser

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 6 мая 2011 г. 13:19, спустя 1 час 35 минут 2 секунды

    Понятно, спасибо.

    п.с. В идеале не конфиг должен знать где какой модуль лежит и подключать его (точнее, где лежит модуль конфиг может знать, но не подключать его). Этим должен роутер либо прочая системная лабуда заниматься.

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

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 6 мая 2011 г. 13:56, спустя 37 минут 16 секунд

    Kolbaser, ну дык ты все равно уже запиздячил разные точки входе. то почему бы и разную инициализацию конфига в них не сделать. В общем, я к тому, что это одна из причин, почему удобнее использовать одну единственную точку входа.
  • Kolbaser

    Сообщения: 5 Репутация: N Группа: Кто попало

    Spritz 6 мая 2011 г. 14:18, спустя 22 минуты 19 секунд


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

    Костыльно, как мне кажется. Написано ещё не так много кода, думаю переделать под фронт- или пейдж-контроллер.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!