NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 2 - .htaccess, autoloader a obecný kontroler

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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$"?

 
Odpovědět
23.12.2012 17:11
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá 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.

Odpovědět
23.12.2012 17:16
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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.

Odpovědět
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
Odpovídá 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.

Odpovědět
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

Editováno 23.12.2012 18:08
 
Odpovědět
23.12.2012 18:06
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá 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.

Odpovědět
23.12.2012 18:10
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá 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]
Odpovědět
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
Odpovídá na Kit
David Hartinger:23.12.2012 19:03

Díky, vyzkouším :)

Odpovědět
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
Odpovědět
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.

Odpovědět
1.11.2013 22:01
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 124.