Друзья у меня несколько вопросов по этой теме.
Сайт должен работать на нескольких языков (Английском , Русском и на Польском) .Для этого я создал контроллеры с классами En , Rus , Pol
.
Кантроллер для Английского En
class En
{
public function index()
{
include("view/index.php);
return true;
}
public function about()
{
include("view/about.php);
return true;
}
public function templates()
{
include("view/template.php);
return true;
}
public function contact()
{
include("view/contact.php);
return true;
}
}
Таким образом устроены классы Rus
и Pol
.
Для обработки каждого контроллера я создал класс Router
class Router
{
private $routes = array(
"en" => "en/index",
"en/home" => "en/index",
"en/home/subscribe" => "en/subscribe",
"en/about" => "en/about",
"en/template" => "en/template",
"en/contact" => "en/contact",
"rus" => "rus/index",
"rus/home" => "rus/index",
"rus/home/subscribe" => "rus/subscribe",
"rus/about" => "rus/about",
"rus/template" => "rus/template",
"rus/contact" => "rus/contact",
"pol" => "pol/index",
"pol/home" => "pol/index",
"pol/home/subscribe" => "pol/subscribe",
"pol/about" => "pol/about",
"pol/template" => "pol/template",
"pol/contact" => "pol/contact"
);
private $url;
function __construct()
{
return $this->routes;
}
public function addRoutes()
{
if (!empty($_GET["url"]))
{
$this->url = trim($_GET["url"], "/");
foreach ($this->routes as $key => $value)
{
if (preg_match("~$key~", $this->url))
{
$segment = explode("/", $value);
$controllerName = ucfirst(array_shift($segment));
$actionName = array_shift($segment);
$controllrFile = "controller/" . $controllerName . ".php";
if (file_exists($controllrFile))
{
include_once($controllrFile);
}
$object = new $controllerName;
$object->$actionName();
}
}
}
}
}
С помощью массива $routes
передаются имя контроллера и метод.
Первый вопрос. Работает только первый маршрут для каждого контроллера.Как можно исправить.
Второй вопрос. Как можно сдеалть чтоб главной странице первым подключался "англиский конроллер "
Заранее Спасибо
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
мой вопрос теоретическийВеб-приложение будет работать только с Word файлами (буду делать в учебных для меня целях СЭД) и загрузить-то с проверкой...
Всем привет! Не получается сделать отправку писем на сайте через AJAXНажимаю на кнопку отправить и ничего не происходит
Хотел бы поинтересоваться, как преобразовать объект, получаемый от АПИ ТелеграммаНиже моя попытка: