Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.
IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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
Avatar

Člen
Avatar
:23.12.2012 17:11

Jakou výhodu má ta "hezčí" adresa? Tedy krom toho, že namísto přebrání ze superglobálních proměných to pak musím ještě parsovat?
A nebylo by vhodnější namísto krkolomého dotazu prostě použít regulární výraz ".Kontroler$"?

 
Odpovedať
23.12.2012 17:11
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na
David Hartinger:23.12.2012 17:16

Výhodu má takovou, že je hezčí a dobře se pamatuje, proto se jmenuje "pretty url" (hezká url). Používá je většina vážnějších webů a redakčních systémů.

S regulárem máš pravdu, ten by se tam hodil. Až seriál dokončím, zapracuji nashromážděné připomínky.

Odpovedať
23.12.2012 17:16
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na
Kit:23.12.2012 17:40

Hezká URL se většinou řeší už v .htaccess, takže se v PHP parsovat už nemusí a použije se přímo superglobální pole $_GET.

Odpovedať
23.12.2012 17:40
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Kit
David Hartinger:23.12.2012 17:56

.htaccess je zlo, kterému bych se zde rád vyhnul jak jen to půjde. Pokud máš nějaké funkční řešení, můžeme ho zde alternativně uvést.

Odpovedať
23.12.2012 17:56
New kid back on the block with a R.I.P
Avatar
Lukáš Volprecht:23.12.2012 18:06

Hezký článek, mohu se zeptat, kdy bude pokračování?

Edit: aha, koukám že již pokračování je :D

Editované 23.12.2012 18:08
 
Odpovedať
23.12.2012 18:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Lukáš Volprecht
David Hartinger:23.12.2012 18:10

Je a dnes s trochou štěstí napíši další, uvidíme :) Přes svátky by tu mohl vzniknout kompletní seriál pro redakční systém na MVC architektuře.

Odpovedať
23.12.2012 18:10
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:23.12.2012 18:17

Do .htaccess se hodí ukládat vše, co se týká konkrétního hostingu. Přihlašovací údaje k databázi se tam dají přihodit také, ale vhodnější je např. .htmysql nebo tak nějak. Program je pak snáze přenositelný.

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.domena\.cz
RewriteRule ^([^/]+)/([^/]+)$ %{DOCUMENT_ROOT}/index.php?clanek=$1&parametr=$2 [L,QSA]
Odpovedať
23.12.2012 18:17
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Kit
David Hartinger:23.12.2012 19:03

Díky, vyzkouším :)

Odpovedať
23.12.2012 19:03
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Kit:25.12.2012 10:10

Funkce pro autoload se dá zajímavým způsobem zjednodušit:

function __autoload($class) {
    require(preg_replace('/([a-z0-9])([A-Z])/', "$1$/$2", $class).'.class.php';
}

Pokud se třída jmenuje

KontrolerProRizeniVelkehoProjektu

bude se natahovat ze souboru

Kontroler/Pro/Rizeni/Velkeho/Projektu.class.php
Odpovedať
25.12.2012 10:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Neaktivní uživatel:1.11.2013 22:01

Mám pocit, že tu už stejná otázka byla ale nenašel jsem ji - může to fungovat i v podsložce? Systém by byl ve složce rs a .htaccess ignoroval všechny adresy jako www.domena.cz, www.domena.cz/jinaslozka/, ..., ale u adresy www.domena.cz/rs/ by adresu předal právě souboru index.php ve složce rs.

Odpovedať
1.11.2013 22:01
Neaktivní uživatelský účet
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.

Zatiaľ nikto nevložil komentár - buď prvý!