abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 22
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 301 hlasů
     Komentářů: 3, poslední včera 12:45
    Rozcestník


    Dotaz: Proč se používá v url pomlčka a ne něco jiného?

    9.9.2012 17:28 Amatherus
    Proč se používá v url pomlčka a ne něco jiného?
    Přečteno: 833×
    Ahoj, chtěl bych se zeptat, jestli má na něco vliv v url znak pomlčka? Proč všichni používají v delším názvu pomlčky? Já osobně bych preferoval spiše třeba podtržítka než pomlčky. Někde jsem četl, že taková adresa auto-moto-letadlo obsahuje pro vyhledávač 3 různá klíčová slova, kdežto adresa auto_moto_letadlo pouze jedno (ale nevím jaké to v tomto případě je). Jelikož používám class v programování a není možné používat názvy s pomlčkou, musím taové názvy nahrazovat podtržítkem + další problémy s pomlčkou. Díky za objasnění.

    Odpovědi

    9.9.2012 17:49 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Je to dáno tím, že vyhledávače ignorovaly podtržítka. To znamená, že z řetězce "auto_moto_letadlo" vzniklo jedno slovo "automotoletadlo" a zaindexovalo se to špatně. Pomlčky tím netrpí.

    U názvů tříd je dobrý fígl v autoloadu překládat podtržítka na lomítka. Dobře se to pak strukturuje do podadresářů. Nebo snad natahuješ třídy přímo podle URL?
    9.9.2012 18:01 l4m4
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Jelikož letadla nejsou motorky a motorky nejsou auta, nedává hierarchické URL typu /auto/moto/letadla moc smysl.
    9.9.2012 18:16 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Správně. Proto by mezi těmi slovy neměla být podtržítka, ale spojovníky. Podtržítka ponechávám tam, kde potřebuji zmíněnou hierarchii.

    Zrovna string "auto-moto-letadla" se hodí spíš jako klíč do databáze, než jako název třídy. Proto jsem moc nechápal dotaz.
    9.9.2012 18:14 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    ...Dobře se to pak strukturuje do podadresářů.
    Jak to myslíš?
    ...Nebo snad natahuješ třídy přímo podle URL?
    Ano, ty ne? Jak pak poznáš jakou třídu potřebuješ? ;)
    9.9.2012 18:20 l4m4
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Týká se obsah stránky té třídy? Pokud ne, tak co dělá v URL nějaká třída?
    9.9.2012 18:24 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Týká se obsah stránky té třídy? Pokud ne, tak co dělá v URL nějaká třída?
    Ano, pokud mám v url http://www.domain.ltd/my-account/ tak volám class my-account. Jenže jak to psal KIT tak to tak možné udělat není možné, pokud již zavolám class my-account, těžko si změním název volené třídy, myslím si, že volat musím již požadovaný název té class, ale říkám jen můj názor, nejsem profík..
    9.9.2012 18:27 l4m4
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Takže ne, obsah stránky se netýká té třídy. Obsah stránky by se týkal třídy, když by třeba stránka popisovala, jak ta třída funguje. Třída se akorát používá v implementaci stránky, což je implementační detail, který do URL nepatří a později ti bude komplikovat život.
    9.9.2012 18:33 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Aha, a podle čeho mám jako poznat co uživatel očekává, když ne podle url? ;)
    9.9.2012 18:35 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    To píšeš, jako kdybys pro každou podstránku dělal extra class.
    9.9.2012 19:13 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    To píšeš, jako kdybys pro každou podstránku dělal extra class.
    Ale ano, pro každou stránku mám extra class... Přece nebudu mít jednu class na 5000 row :-)
    9.9.2012 19:16 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Tím chceš naznačit, že součástí tvých class jsou i texty článků?
    9.9.2012 19:19 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Tím chceš naznačit, že součástí tvých class jsou i texty článků?
    To samozřejmě ne, pokud daná stránka má vypisovat články, obstará to class která vypisuje pouze články ato všechny nebo za pomocí nějakého filtru, ale už neumím třeba přihlásit usero do systému nebo ho zaregistrovat..
    9.9.2012 19:01 l4m4
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Jsme-li v módu diskuse ‚plácnu rádobyvtipnou pitomost a napíšu smajlík‘, jak naznačují tvoje příspěvky, přizpůsobím se, není problém...

    Když URL nesouvisí s obsahem stránky, tak to nijak poznat nejde ;)
    9.9.2012 19:16 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Když URL nesouvisí s obsahem stránky, tak to nijak poznat nejde ;)
    Uniká mi pointa, co tím myslíš?
    pavlix avatar 10.9.2012 13:02 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    LOL
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    9.9.2012 18:31 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    ...Dobře se to pak strukturuje do podadresářů.
    Jak to myslíš?
    Asi takto:
    include(str_replace('_', '/', $class));
    ...Nebo snad natahuješ třídy přímo podle URL?
    Ano, ty ne? Jak pak poznáš jakou třídu potřebuješ? ;)
    Simple Factory. Podle názvu klíče určím class, hodnotu dám jako klíč do DB.
    9.9.2012 18:41 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Tak že jednotlivé proměnné v url ti spouží pouze jako nějaký identifikátor?
    - Čili user odešle požadovanou URL
    - Ty vezmeš potřebná data z URL
    - pošleš je do mysql
    - mysql ti vrátí název class
    - zavoláš požadovanou class
    hm, bez urážky, to si jako děláš ze mne prdel? :-)
    tak já to dělám takto
    - user odešle požadovanou URL
    - zavolám požadovanou class
    Nepotřebuji k tomu žádnou mysql ani v tom nevidím sebemenší problém...
    9.9.2012 18:51 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Ne. Dostanu URL ve tvaru:
    domena.cz/?stranka=auto-moto-letadla
    Slovo "stranka" je pro mne klíčem pro zavolání class View. Jako parametr konstruktoru je string "auto-moto-letadla". Konstruktor si vytáhne text článku podle klíče "auto-moto-letadla" z DB. Prezenter to převede do HTML a zobrazí.

    Pokud budu jen prohlížet, stačí mi jedna class View. Články ukládám do DB, kam ostatně patří.

    Také k tomu žádnou MySQL nepotřebuji.
    9.9.2012 19:03 l4m4
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    A nechci-li vypadat jako amatér, tak
    domena.cz/?stranka=auto-moto-letadla
    presentuji ven jako
    domena.cz/auto-moto-letadla
    Např. pomocí mod-rewrite, když už ne jinak.
    9.9.2012 19:05 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Přesně tak. Nechtěl jsem ten příklad zbytečně komplikovat hezkými URL.
    pavlix avatar 10.9.2012 13:05 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Mně přijde škoda ho komplikovat ošklivými URL.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 10.9.2012 13:03 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    A nechci-li vypadat jako amatér, tak
    To lze přeložit i:
    A nechci-li, aby bylo na první pohled poznat, že jsem amatér…
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    9.9.2012 17:59 l4m4
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Běžná konvence (byť ne universální) u tvorby identifikátorů v programovacích jazycích je, že podtžítko je slovotvorný znak. Tedy a_b_c_d_e je jeden identifikátor (slovo), a-b-c-d-e není.

    Vyhledáváče dnes vesměs dovedou foo a bar uvidět ve foo-bar i foo_bar (obzvlášť když se to jinak nevyskytuje), ale na druhé straně taky chápou, že kdy zadám foo_bar, chci to hledat jako jeden identifikátor, ne dvě slova.

    Podtržítko je ale ‚divný znak‘, který normální lidi nepoužívají a netuší, kde ho mají na klávesnici.

    Takže pokud se stránka týká třídy auto_moto, tak ať má v názvu auto_moto. Pokud se ale týká aut a motorek, do názvu patří auto-moto, protože pomlčkou[*] spojují slova lidi.

    [*] Jo, já vím, že ASCII 0x2D není pomlčka, ale už to mě z normálních lidí vyděluje...
    9.9.2012 19:23 Amatherus
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Pořád ale nevím, jak po zavolání class s názvem my-account spustit class s názvem my_account.
    19.9.2012 09:15 George O.
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Si napis nejakej router na to, ne? Rozparsujes s nim url a pak zavolas tridu + metodu, ktera je prirazena k dane nebo obecne route a jeste si muzes udelat hezkou url... a to vse jen diky par regularnim vyrazum.

    napr.: domain/product/detail/25 ti muze router najit jako: controler: product; method: detailAction, id: 25;

    anebo domain/product/list jako: controler: product: method: listAction;

    pak neni problem nainstancovat spravnej controler a metodu a mit v tom nejakej system. Neni treba mit na obsluhovani produktu pro detail a vypis mit dve classy, staci ti jedna classa a dve metody, protoze logicky spravujes porad product...

    snadno s nim vyhodis i 404 :-)
    19.9.2012 09:44 Kit
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Však už jsi dostal odpověď:
    $class=str_replace('-', '_', $atrib);
    $objekt=new $class();
    Jenom je problém v tom, že je to rada, jak se máš střílet do nohy.
    10.9.2012 09:58 Sten
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Josef Kufner avatar 17.9.2012 23:23 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Proč se používá v url pomlčka a ne něco jiného?
    Ftip je v tom, že odkazy jsou obvykle podtržené a podtržené podtržítko je blbě_vidět.

    Doporučuju používat podtržítka všude vyjma URL, pak stačí prosté obousměrné mapování podtržítko–pomlčka, pokud potřebuješ z toho dělat identifikátory.

    Používání lomítek je dobrá věc, otázkou pak jen je, zda u tříd radši nevyužít jmenné prostory (zpětné lomítko v PHP).
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.