Структура файла PHP для простого сайта? - PullRequest
0 голосов
/ 12 июля 2010

Я работаю с PHP уже пару лет, но я не считаю себя более чем умеренным программистом.

При создании некоторых веб-сайтов (от презентационных до простых CMS) я использовал 2 подхода, о которых я расскажу ниже. Мой вопрос прост: какой из них лучше с точки зрения настройки (он должен быть максимально настраиваемым) и скорости (чтобы загрузить как можно быстрее).

Первый выбор

файлы : header.php, content1.php, content2.php, footer.php

идея : все файлы содержимого включают заголовок в начале файла и нижний колонтитул в конце.


Второй выбор

файлы : index.php, content1.php, content2.php

idea : на основе переменной GET или чего-то подобного, index.php включает соответствующий файл php


Заранее спасибо за ответ!

Ответы [ 6 ]

6 голосов
/ 12 июля 2010

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

.htaccess
inc/
tpl/
    css/
    images/
    js/
index.php

Работа index.php заключается в определении того, какой файл загружать, где любая логика программирования содержится в файлахкаталог inc, а шаблоны - справка в каталоге tpl.Например, index.php может быть таким простым:

<?php
switch ($_GET['filename']) {
    case 'news':
        require('inc/news.php');      // your news functions
        include('tpl/news.tpl.php');  // your news template
    break;
    case 'events':
        require('inc/events.php');
        include('tpl/events.tpl.php');
    break;
    case 'contact':
        require('inc/contact.php');
        include('tpl/contact.tpl.php');
    break;
    default:
        if ($_GET['filename'] == '') {
            include('tpl/home.tpl.php');
        }
        else {
            header('HTTP/1.0 404 Not Found');
            include('tpl/page_not_found.tpl.php');
        }
    break;
}

В сочетании со следующими .htaccess правилами:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+) index.php?filename=$1

Надеюсь, это имеет смысл.Если нет, дайте мне знать, что не так, и я буду рад объяснить дальше.

3 голосов
/ 12 июля 2010

Я бы пошел со вторым.Это подход, принятый многими структурами, и очень хороший.У вас есть единственное место, которое get всегда вызывается, так что вы можете выполнить некоторую обработку, например очистить URL, проверить правильность сеанса, ...

Более того, вы можете хранить некоторые основные параметры внутри индекса.php (так как это небольшой сайт, я не вижу в этом проблем с этим, но в больших проектах более эффективными являются IMO файлы конфигурации), к которым могут обращаться все страницы, которые вызываются (включаются) из index.php file.

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

0 голосов
/ 12 декабря 2015

Проверьте информацию о структуре страницы сайта.

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

Проверьте полную информацию здесь

0 голосов
/ 12 июля 2010

я не использовал никаких фреймворков для своих проектов.но все советуют мне использовать рамки.я поддерживаю собственную структуру файлов / каталогов

INSIDE ROOT DIR

  • / backups
  • / config
  • / library
  • / media
  • / модели
  • / модули
  • / шаблоны
  • / sql файлы
  • index.php
0 голосов
/ 12 июля 2010

Victorelu - не совсем ответ на ваш вопрос.Но вам, возможно, посоветуют начать смотреть на некоторые легковесные фреймворки MVC php (я не говорю о CI, кохане, пироге и т. Д., Более легких, таких как кофеин).Я сделал небольшое подтверждение концепции с использованием кофеина (легковесной платформы MVC, основанной на нескольких основных файлах), которая аккуратно отвечает требованию, которое вы заявляете:

'... customization'.

jim

[править] - ссылка на кофеин: http://code.google.com/p/caffeine-php/ есть небольшой PDF-файл, описывающий весь процесс: http://code.google.com/p/caffeine-php/downloads/list

0 голосов
/ 12 июля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...