Нужна помощь по шаблону php и чистая помощь по URL - PullRequest
1 голос
/ 06 июля 2011

Я новичок в PHP и веб-разработке в целом, но уже 5 лет работаю программистом. Я пытаюсь работать на своем собственном веб-сайте с нуля, используя Блокнот для редактирования моих файлов PHP и WAMP для моего сервера. Я могу нормально просматривать свои файлы в Safari, Chrome и Firefox, но не в IE (который, как мы все знаем, IE не самый лучший), потому что я использую некоторые элементы HTML5. В любом случае, у меня есть папка «Включает», в которой хранятся мои файлы для заголовка, меню и нижнего колонтитула. У меня есть файл index.php, который включает эти файлы и отображает их нормально. В центре страницы, где я хочу контент. Чтобы сохранить чистоту URL-адресов, я создал довольно много папок и поместил туда этот же файл index.php (например, Profile / index.php, Forums / index.php и т. Д.). Я сделал это так, когда я пошел в localhost / mysite / profile /, он показал мне шаблон, который я хотел использовать. Однако должен быть лучший способ использовать шаблон и лучший способ иметь чистые URL. В настоящее время я нигде не размещаю этот сайт, поэтому я не знаю, получу ли я доступ к файлу htaccess (даже не уверен, что это, если честно, только что упомянул его), но мне было любопытно иметь структуру папок ( одна папка для каждого пункта меню) это нормально или нормально? Мне также было любопытно, есть ли способ использовать index.php без необходимости копировать и вставлять его каждый раз, когда я делаю небольшое изменение. Любая помощь будет оценена. Спасибо.

Ответы [ 3 ]

1 голос
/ 06 июля 2011

Если вы планируете создавать шаблоны, я предлагаю использовать существующую платформу, такую ​​как Symfony , Zend Framework, или Smarty .Smarty, вероятно, легче всего освоить, и он (почти) исключительно для шаблонов.Принимая во внимание, что Symfony и Zend Framework - большие пакеты со множеством наворотов.

Если бы я собирался делать чистые шаблоны, я бы посмотрел на Смарти.Я использую Zend Framework почти для всех моих текущих проектов PHP, но у него довольно крутая кривая обучения.Ваша первая пара недель будет разочаровывающей.

Что касается URL, вероятно, .htaccess - предпочтительный метод (по крайней мере, в моей книге).Zend Framework и Symfony имеют вид стиля записи URL по умолчанию, который выглядит как http://host/controller/action, где контроллером будет Профиль или Форумы .Вы не обязательно должны видеть host/profile/index, это может быть host/profile или host/profile/edit, где edit - это выполняемое действие.

0 голосов
/ 06 июля 2011

ваш ответ - файл htaccess, который преобразует 'структуру папок' в значения $ _GET

, например,

, если вы находитесь на website.com/Profile/, вы можете написатьстрока htaccess, которая преобразует ее в website.com/index.php?folder=Profile

htaccess:

RewriteEngine on
RewriteRule ^/(.*)/$ index.php?folder=$1 [NC,L,QSA] 
RewriteRule ^/(.*).html$ index.php?folder=$1 [NC,L,QSA] 
0 голосов
/ 06 июля 2011

Копирование файла index.php не совсем то, что я хотел бы сделать. Это кажется грязным и есть несколько других вариантов. Если вы хотите, чтобы URL были чистыми и дружественными для поисковых систем, вам действительно стоит взглянуть на перезапись URL с использованием .htaccess

Вы говорите, что не уверены, что у вас будет сервер с «доступом к файлу htaccess», но если вы можете загружать файлы, вы всегда можете также загрузить файл .htaccess - проблема в том, что веб-сервер не всегда использует их или может не иметь включенного mod_rewrite. В этом случае вы можете получить ваши URL в формате http://www.example.com/index.php?u=/Profile/foo (это также мой предпочтительный способ обработки переписывания URL).

В вашем index.php просто убедитесь, что прочитали запрошенный параметр url, переданный mod_rewrite, и включите все файлы в нужную вам папку. На самом деле, вам даже не нужна «физическая» структура папок, вы можете реализовать ее с использованием классов или чего-то в этом роде. (Я уверен, что я буду).

Я бы действительно рекомендовал вам взглянуть на хороший PHP-фреймворк, например, CodeIgniter . Даже если вы решите кодировать все с нуля, вы все равно узнаете много о передовых методах обработки URL, базах данных, шаблоне MVC, механизмах шаблонов, уровнях абстракции базы данных и кодировании PHP в целом.

...