config to wiadomo, stale.
mam w nim cos takiego
<?php //$sitetitle = "Rechniewskiego-United"; // Define DB Params //Define URL include $filename ; } include_once("RequestProcessor.php"); ?>
Jak widac znajduja sie w nim stale ktore odpowiadaja zmiennej superglobalnej HTTP_HOST
Nastepnie jest index.php
<?php require_once('config.php'); use Aplikacja as app; $processor = new app\RequestProcessor(); switch($_SERVER['HTTP_HOST']) { case ROOT_LANDING_URL: $processor->processLandingRequest($_SERVER['REQUEST_URI']); break; case ROOT_APP_URL: $processor->processAppRequest($_SERVER['REQUEST_URI']); break; case ROOT_SHORT_URL: $processor->processShortRequest($_SERVER['REQUEST_URI']); break; default: break; } ?>
Jak widac, odbiera on stala app.blablabla i gdy domena zgadza sie z ta zapisana wysyla mnie do procesora
Procesor tworzy instancje klasy Dashboard() i odsyla mnie do metody ProcessRequest, REQUEST_URI jest walniety do konstruktora klasy
<?php namespace Aplikacja; class RequestProcessor { public function processShortRequest($request) { $shortener = new Shortener(); } public function processAppRequest($request) { $dashboard = new Dashboard($request); $dashboard->ProcessRequest(); } public function processLandingRequest($request) { require("landingpage.view.php"); } }
dalej
<?php namespace Aplikacja; class Dashboard { private $request; private $post; private $get; public function __construct($request){ //$this->request = $request; } public function ProcessRequest() { if(!$this->request) { return; //echo "cos sie zjebalo"; } $this -> post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); $this -> get = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING); switch ($this->request) { case "/piramida/registerForm/": //$this->showRegister(); break; case "/piramida/": $this->showDashboard($this->request); break; case "/piramida/loginForm": $this->showLogin(); break; //dalsze inputy default: $this->showDashboard("as"); break; } //echo $this->request; }
Konstruktor pobiera dane i zwraca wartosc bez zmiennych GET do pola $this->request. Nastepnie sprawdzam w switchu wartosc requesta i porownuje ze stringiem. I o ile case "/piramida/" dziala (nazwa podfolderu na hoscie) to reszta w ogole i wywala mi blad 404. w ogole nie wiem, dlaczego. Wie ktos?