NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: MVC - správné pojmenování tříd

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Lukáš Hornych
Tvůrce
Avatar
Lukáš Hornych:26.5.2017 15:47

Zdravím,
právě pracuji na svém osobním webu pomocí MVC architektury, kde kontrolery vybírám podle zadané URL adresy, tak jak jsem se to zde naučil. Můj dotaz zní, když chci mít celou webovou stránku v češtině, ale kód by měl být v angličtině, je lepší trochu smíchat oba jazyky a pojmenovat třídu třeba takto (a zbytek kódu nechat v angličtině):

KontaktController

nebo udělat malou databázovou tabulku, kde budu mít české názvy a anglické ekvivalenty třeba takto:

url_name controller_name
kontakt Contact

Nebo případně jak se to v praxi řeší?

 
Odpovědět
26.5.2017 15:47
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Lukáš Hornych
Honza Bittner:26.5.2017 15:58

V praxi se to řeší pomocí routerů. Tj. že namapuješ url adresu (třeba primitivně jestli první část == "contact") a následně na to router spustí kontroler, který si dál zpracuje věci.

Nahoru Odpovědět
26.5.2017 15:58
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na Honza Bittner
Lukáš Hornych:26.5.2017 16:02

Já vím, že se používají routery (ty taky používám). Víceméně dělám podobnou stránku jako tady v sekci Jednoduchý redakční systém v PHP objektově (MVC), ale mě jde o to míchání češtiny a angličtiny.

 
Nahoru Odpovědět
26.5.2017 16:02
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Lukáš Hornych
Honza Bittner:26.5.2017 16:03

No, to ti právě má řešit ten router, kde máš url v češtině a názvy tříd jsou v angličtině (tak, jak by vše být v kódu mělo).

Nahoru Odpovědět
26.5.2017 16:03
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na Honza Bittner
Lukáš Hornych:26.5.2017 16:06

Dobře takže teda kód komplet v angličtině (tak jak jsem si myslel) ,ale musí přece nějak ten router vědět, že třeba kontakt je contact.

 
Nahoru Odpovědět
26.5.2017 16:06
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Lukáš Hornych
Honza Bittner:26.5.2017 16:08

Asi máme jiné chápání pro pojem router:

Takto to funguje +- v Nette, třeba:

$router = new RouteList;
$router[] = new Route('clanek/<id>', 'Article:view');

A nebo toto jsem dělal, když jsem si hrál s Dart na serveru:

https://github.com/…/server.dart#…

Editováno 26.5.2017 16:09
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
26.5.2017 16:08
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Lukáš Hornych
Tvůrce
Avatar
Odpovídá na Honza Bittner
Lukáš Hornych:26.5.2017 17:38

Už jsem to možná pochopil. Udělám si teda třídu Router, která bude obsahovat nějaké asociativní pole, kde budou propojení pro jednotlivé kontrolery a pomocí toho budu volat další kontroler. Chápu to dobře nebo šlo by to aspoň takhle? :-D

 
Nahoru Odpovědět
26.5.2017 17:38
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 7 zpráv z 7.