Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 2. diel - .htaccess, autoloader a všeobecný kontrolér

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
pemap
Člen
Avatar
Odpovedá na dusekpetrcb
pemap:2.9.2014 14:07

Ano, tak jak píšeš: Do RewriteBase píšeš cestu, kde máš uložen projekt, od kořenové složky localhostu - pro přehlednost a jednoduchost, každý projekt v jiném adresáři...

Jinak co se týká druhého dotazu, tak nevím, zda jsem tě správně pochopil správně...

Soubor .htaccess

# Zapnuti mod_rewrite
RewriteEngine On

# Adresar, ze ktereho se budou brat stranky pro mod_rewrite.
RewriteBase /app1/

Soubor index.php v adresáři app1

<?php

function getURL()
{
        return filter_input(INPUT_GET, "url");
}

$url = getURL();

if (empty($url) || ($url === NULL)) {
        echo "URL nebylo specifikovano.<br>";
} else {
        // echo "URL: " . $url . ".<br>";
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: tajna.php");
        header("Connection: close");
}

Soubor tajna.php v adresáři app1, na který se dostaneš po zadání hodnoty do proměnné url v adrese [http://localhost/app1/index.php?…]

<?php
echo "Jsi na tajne strance.";
Avatar
bestatomas
Člen
Avatar
Odpovedá na Libor Šimo (libcosenior)
bestatomas:9.2.2015 22:58

Také mě to nefungovalo. Mám HTTP server Apache 2.2 a zprovoznil jsem to po odkomentování příkazu v httpd.conf. Jedná se o příkaz LoadModule rewrite_module modules/mod_rew­rite.so.
Poté mi to začlo běhat bez chyb.
Návod viz zde: http://tildemark.com/…s-on-apache/

Avatar
antoninfoltyn:13.3.2015 22:20

Zdravím,

extract($this->data);

Způsobí že proměnné z pole $thist->data můžu použít v šabloně rozlozeni.phtml ale jak docílit toho, aby stejné proměnné šly použít i ve vnořeném pohledu? Tedy když z pohledu rozlozeni.phtml voláme opět:

$this->kontroler->vypisPohled();

Už se s tím peru půl dne a nějak se ztrácím. :-)

Respektive dotaz jinak; jak předám vnořenému pohledu (napři chyba.phtml) data z jeho kontroleru (např. chybaKontroler­.php)

Avatar
Odpovedá na antoninfoltyn
Matúš Petrofčík:13.3.2015 23:10

predaj podkontroleru premenné z kontroleru, pokiaľ je premenná $this->kontroler->data dostupná z vonku (public, verejná).

$this->kontroler->data = $this->data;

ale bacha aby si si neprepísal $this->data v podkontroleru

tak to môžeš spraviť aj naopak

$this->data = $this->kontroler->data;

//edit: aha, ty sa pýtaš asi na niečo iné... :

jednoducho v chybaKontroler.php pridaj premenné do $this->data

$this->data['nazov'] = 'hodnota';

a potom sa ti extract-nu do chyba.phtml a normálne ich vypíšeš napríklad ako

<?=$nazov?>
Editované
Odpovedať
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovedá na Matúš Petrofčík
antoninfoltyn:14.3.2015 0:06

Díky za reakci! :-) Jednoduché jak facka ale totálně jsem se zacyklil.

Potřeboval jsem z 'SmerovacKontro­ler.php' dostat proměnné až do vnořeného pohledu 'chyba.phtml'. A díky Tobě se povedlo.

$this->kontroler->data['nazev'] = 'hodnota';

Díky!

Avatar
filipfr
Člen
Avatar
filipfr:14.3.2015 15:37

Ahoj, mě nějak uniká smysl té fce extract($this->data);

Avatar
David Hartinger
Vlastník
Avatar
Avatar
filipfr
Člen
Avatar
Odpovedá na David Hartinger
filipfr:14.3.2015 16:23

Díky, jenom, jestli jsem to správně pochopil, tak tahle operace je tam jen proto, abych v šabloně mohl použít "</strong><?= $promenna ?>" místo "
</strong><?= data['promenna'] ?>"

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na filipfr
David Hartinger:14.3.2015 16:37

Přesně tak.

Odpovedať
New kid back on the block with a R.I.P
Avatar
antoninfoltyn:15.3.2015 15:22

Ještě dotaz o_O

Vím jak předám data z 'SmerovacKontro­ler.php' nebo 'NejakyKontro­ler.php' do pohledu. Ale nedaří se mi předat / poslat data z 'SmerovacKontro­ler.php' do 'NejakyKontro­ler.php'.

Teoreticky by mělo fungovat:

V 'Kontroler.php' jsem si vytvořil další proměnnou:

protected $dataProNejakyKontroler;

A po vytvoření dané instance NejakyKontroler.php se z 'SmerovacKontro­ler.php' snažím předat 'nejake-data';

$this->kontroler->dataProNejakyKontroler = 'nejake-data';

Bohužel v 'NejakyKontro­ler.php' se k nim nemohu dostat.

Specificky potřebuji předat další části URL z 'SmerovacKontro­ler.php' příslušnému kontroleru aby s nimi mohl pracovat dál

Díky za nakopnutí. ;)

Editované
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 125.