динамический php короткий URL

Поэтому я использую стиль процедурного программирования в PHP с 2006 года.
Но пропустил много времени за последние 4 года с улучшением.

Недавно я начал больше признавать объектно-ориентированное программирование.

Больше всего на это указывает мне стиль организации MVC и короткие URL-адреса.

вместо того, чтобы URL был «index.php? page = профиль&member = 1 «, это будет» page / profile / member / 1 «.

Я пытаюсь выучить ООП&Архитектура MVC с использованием широкого спектра ресурсов, но это все еще слишком много для меня, чтобы понять. Даже через месяц!

Я всегда просто использовал базовую функцию (и т. Д.) {}, If, else, и, или операторы и SQL-запросы, чтобы выполнить работу. Эти знания до сих пор в основном покрывали все, что мне нужно.

Мне интересно, есть ли способ использовать мой базовый процедурный стиль программирования и все же добиться сокращения URL-адресов?

Я попробовал этот метод ниже

.Htaccess

RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php?page=$1 [L]

index.php

<?php

$links = parse_ini_file('links.ini');

if (isset($_GET['page']) && array_key_exists($_GET['page'], $links)) {
require $links[$_GET['page']];
}
else {
echo '
Home page or unknown link
';
}

links.ini

members  = pages/members.php
profile  = pages/profile.php

Этот метод работает просто на сокращение URL-адреса, но я не знаю, как заставить его работать с profile / user / 1 или index.php? Page = profile&Пользователь = 1
(пользовательская переменная является запросом к базе данных)

Любая помощь будет принята с благодарностью !!!

1

Решение

Вы можете сделать это с тем, что известно как передний контроллер. это Статья сайта может помочь понятию концепции, но это не должно быть объектно-ориентированным, чтобы осуществить это.

По сути, вместо того, чтобы переписывать текст, вы просто перенаправляете все запросы на index.php:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php

Теперь внутри index.phpВы можете выбрать запрос вместе с parse_url и обрабатывать запрос, как вы хотите.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]