Nová podoba jmenných prostorů: finalizace
- David Grudl
- Nette Core | 8227
Restrukturalizace jmenných prostorů představuje podstatný zásah do podoby frameworku. Ačkoliv bude provedena s maximálním důrazem na zpětnou kompatibilitu, tak další podobné změny už nejspíš nebudou možné. Proto je potřeba vše dobře zvážit.
https://github.com/…e/namespaces
Dal jsem na GitHub větev, kde jsou soubory rozmístěny do adresářů tak, jak by měly být umístěny ve jmenných prostorech (jejich obsah je zatím nezměněn). V první fázi předkládám k diskusi vše kromě Nette\Application. Nic není definitivní. Pokud tedy máte jakékoliv (konstruktivní!) připomínky, napište je hned, nebo navždy mlčte :-)
- Filip Procházka
- Moderator | 4668
Json
,Image
,ArrayList
aDateTime53
bych navrhoval přesunout doNette\Types
a klidně iString
, aHtml
- Souhlasím
s LM, že
User
aIUser
by lépe pasovali doNette\Security
- složka Support ve mě vyvolává hrůzu, měli byjsme vymyslet něco lepšího…
pár návrhů: https://github.com/…907de07361a5 (diskutujeme tady privátně a pár věcí jsem ještě přešoupal :))
Editoval HosipLan (4. 2. 2011 8:59)
- h4kuna
- Backer | 740
Myslím si že složka ComponentModel není vhodně pojmenovaná, člověk si může myslet že v tom jsou třídy které bude dědit pro model v aplikaci nebo používat v modelu. Což komponenty jsou vytvářeny v továrničkách a továrničky v presenteru nebo vlastní komponentě xyz která si bude zase pracovat se svým modelem, ale model by měl být nezávislý na presenteru/controleru. Proč není jen Component?
Editoval matata (4. 2. 2011 8:40)
- Honza Marek
- Člen | 1664
- IRouter bych dal do namespace Nette\Application\Routers, to samé u podobných případů. Vždyť to přece patří k sobě.
- Co bude po zrušení configu načítat konfiguraci?
- Namespace Core se mi hrubě nezamlouvá. Ty třídy by měly být podle mě v namespace Nette.
- Subjektivně se mi víc líbí Debug než Diagnostics, jednotná čísla místo množných, ale to jsou detaily.
- Jinak výhrady buď nemám nebo jsem si něčeho nevšiml :)
HosipLan
- Nette\Types né, copak vyjmenované třídy jsou nějaké (neřkuli primitivní) typy?
- Kde je složka support, o které mluví HosipLan?
- Filip Procházka
- Moderator | 4668
Honzo, pokud vezmeš v úvahu, že všechny třídy jsou v podstatě jenom různé typy a tohle jsou třídy, které obsahují, nebo zapouzdřují nějaký objekt, třeba resource obrázku, pole, cokoliv, pak ano, podle mě jsou to Typy :)
Jenom tam trochu nesedí některé třídy, které neobalují, ale jenom zpracují a vrátí výsledek (Json), ale pořád je to vhodnější než Support :)
Jinak jak říkají tady kolegové a někteří další, proč by všechno
muselo být v namespace? nemůžou se některé třídy vyčlenit zpátky do
Nette\
? Čemu tam vadí?
Editoval HosipLan (4. 2. 2011 11:27)
- Ondřej Brejla
- Člen | 746
Support je opravdu podivný název.
- vytáhl bych
NeonException
,NeonParser
,Tokenizer
aTokenizerException
(+ co s nimi evidentně souvisí) doNette\Neon
(vhodnější jméno mě nenapadá, ale myšlenka je snad jasná) - vyrobil bych
Nette\Utils
a do něj nasypalArrayTools
,ArrayList,
Callback
,DateTime53
,Finder
,Html
,Image
,Json
,JsonException
,Paginator
,SafeStream
,String
,Tools
– možná jsem na něco zapomněl, ale myšlenka je snad taky jasná… exception.php
ashortcut.php
bych přesunul doNette
, jedná se o věci, které jsou používány kdekoliv napříč celým fw…- stejně tak
Framework
bych přesunul doNette
namespace…Nette\Framework
je imho mnohem intuitivnější, nežNette\Whatever\Framework
… Object
bych asi šoupnul taky do hlavníhoNette
aObjectMixin
do jakéhosiNette\Internal
? Pokud je to classa pouze k interním proceům, nevím, jestli s ní někdo nějak pracuje…- kam s
IFreezable
,FreezableObject
to netuším…možná také doNette\Internal
…ale pokud to někdo používá, těžko říct… RegexpException
tam, kde se používá…nevím kde všude. Pokud na různých místech, pak netuším…Nette\Support
bych tedy zrušil…
V těchto prostorech bych asi zmíněné třídy hledal já…jinak ostatní členění se mi zdá ok.
Snad až na zmíněné IUser
a User
…asi bych je
hledal v Nette\Application
…User ve mně evokuje „uživatele
aplikace“, takže asi tak :-)
Editoval Ondřej Brejla (4. 2. 2011 11:39)
- David Grudl
- Nette Core | 8227
Zapomněl jsem napsal důležitou věc: Nette\Object, Nette\Framework (a klidně další věci z adresáře Support/Core) chci nechat v namespace Nette.
K reakcím:
- ad ComponentModel: je to vhodné pojmenování, třídy nejsou vázané na žádnou vrstvu, prostě jde o obecný komponentový model
- ad User: ten rozšiřuje Session, nikoliv Security. V Application by teoreticky být mohl, nicméně je použitelný i bez něj (otázka, jestli k tomu přihlížet)
- ad Support: no klidně vymyslete něco lepšího. Ale pokud Tools nebo Utils, tak se musí něco udělat s třídou Tools. Asi zrušit. (Types fakt ne…)
- exception.php a shortcut.php nesouvisí s namespaces
- ad Internal: navrhoval jsem Core, ale nedokážu najít hranici, co patří do Internal/Core a co do Tools/Support/Utils, takže vhodnější bude asi jen jeden prostor
- Ondřej Brejla
- Člen | 746
Třídu Tools
bych rozdělil na třídy:
DateTimeUtils
– konstanty a createDateTimeFileUtils
– detectMimeType a detectMimeTypeFromStringConcurrentUtils
– enterCriticalSection a leaveCriticalSection.
Funkce iniFlag
, defaultize
a compare
bych zahodil…ale asi proto, protože jsem je nikdy
nepoužil…někdo ano?
Jinak bych teda byl pro Nette\Utils
. Do
Nette\Internal
by asi měly patřit třídy, které se opravdu
používají jen interně…tzn. nikde se nemluví o tom, že by bylo potřeba
je dědit, překrývat metody, atd…nedokážu posoudit, které všechny to
mohou být, ale ObjectMixin
je, řekl bych, jasný adept.
Když koukám na Core
, tak do Nette\Internal
by asi
také měly patřit iterátory…s těmi se běžně určitě nepracuje…
Editoval Ondřej Brejla (4. 2. 2011 16:45)
- LM
- Člen | 206
David Grudl napsal(a):
- ad User: ten rozšiřuje Session, nikoliv Security. V Application by teoreticky být mohl, nicméně je použitelný i bez něj (otázka, jestli k tomu přihlížet)
Implementace ano, ale interface IUser
, v CLI skriptech je
často potřeba kvůli ověření práv uživatele přihlásit a proč na to
používat třídu z prostoru Nette\Web
, zvlášť když
používá session a cookie.
- David Grudl
- Nette Core | 8227
To je pravda, CLI nám kazí plány :-)
Ondřej Brejla napsal(a):
Třídu
Tools
bych rozdělil na třídy:
Pokouším se tu mršku už rok zrušit a ona mi místo toho roste! Ale jasně, nějak se s ní vypořádám.
- Patrik Votoček
- Člen | 2221
Předně Support WTF?
Zapomněl jsem napsal důležitou věc: Nette\Object, Nette\Framework (a klidně další věci z adresáře Support/Core) chci nechat v namespace Nette.
U „Support“ to nechápu u „Core“ to naopak chápu.
Když koukám na
Core
, tak doNette\Internal
by asi také měly patřit iterátory…s těmi se běžně určitě nepracuje…
ehm?
- Co bude po zrušení configu načítat konfiguraci?
Parser danného formátu: viz https://forum.nette.org/…nette-config#… bod 3
Nette\Types
double maybe triple WTF!?
Nette\Support
→Nette\Utils
- Tools bych rozsekal protože
Nette\Utils\Tools
je takové mno nevím. User
,IUser
doNette\Application
toho bych se nebal
Víc mě teď nenapadá… :-/
- Ondřej Brejla
- Člen | 746
Patrik Votoček napsal(a):
ehm?
Mno já tedy běžně (ne běžně, nikdy) žádný iterátor neinstancuji
ani nedědím…a troufám si tvrdit, že „běžně“ je takto nepoužívá
většina…proto má úvaha o přesunu do Nette\Internal
.
Jinak tvé poslední 3 body se mi líbí :-)
- Ondřej Brejla
- Člen | 746
Vzhledem k tomu, že Tokenizer
a
TokenizerException
jsou vlastně Neon lexer
část, pak celý Neon sestává ze 4 tříd, ne?
- Ondřej Brejla
- Člen | 746
To je pravda, ale nemění to nic na tom, že by měl mít Neon svůj vlastní namespace.
- Ondřej Brejla
- Člen | 746
Já bych ji tam hledal. Přijde mi logické, aby funkcionalita zajišťující „nový typ souboru“ byla ve vlastním prostoru. Ať už je to jedna třída, nebo čtyři. S výjimkou jsou dvě;-)
- David Grudl
- Nette Core | 8227
Mám pocit, že se tu tříští dvě rozdílné priority
- katalogizační/kategorizační, kdy je cílem vše dostat do správné škatulky (ala PEAR)
- uživatelská, kdy je cílem dobře psatelný a čitelný kód
Nette vždycky šlo cestou b), proto je teď docela oříšek ho napasovat na nějaké kategorie. U té cesty bych rád zůstal, takže na chvíli zapomeňme na jmenné prostory a zkusme si odpovědět na jednoduchou otázku: co je pro parsování JSON nejlepší?
Nette\Json::decode($s)
Nette\Json\decode($s)
Nette\Json\Json::decode($s)
Nette\Tools\Json::decode($s)
- redhead
- Člen | 1313
Já jsem pro d). Sice nejvíc ukecané, ale ty ostatní mi přijdou divné: neobalené funkce třídou určitě nechcu, u a) mi tam schází nějaký ten prostředek, co je ta třída zač, u c) 2× Json za sebou.
Json nijak moc nepatří k Nette jako takovému, je to pomocná třída, takže namespace Tools mi přijde logické.
- Ondřej Brejla
- Člen | 746
Já jsem taky pro d). Ale upravil bych to na
<?php
use Nette\Tools\Json;
...
Json::decode($s);
?>
Což ale vůbec není podstatné ;-)
Editoval Ondřej Brejla (6. 2. 2011 14:15)
- David Grudl
- Nette Core | 8227
Ondřej Brejla napsal(a):
Já jsem taky pro d).
To jsem chtěl slyšet :-)) Tj. Neon by neměl mít vlastní namespace Neon ;-)
- Ondřej Brejla
- Člen | 746
To si nemyslím :-) Neon definuje nový souborový typ, stejně jako
latte…a proto by imho měl být ve vlastním NS :-) Json pouze nějakým
způsobem pracuje s obecně známým typem. Navíc třída Json
je
pouze jakási helper class obalující nativní fce json_encode()
a
json_decode()
…nebo mi tak přijde. NeonParser
je
plnohodnotný parser :-) Ale takhle bychom se mohli dohadovat do
nekonečna ;-)
Editoval Ondřej Brejla (6. 2. 2011 14:36)
- David Grudl
- Nette Core | 8227
Mezi Json::decode() a Neon::decode() nevidím vůbec žádný reálný rozdíl. Obojí jsou parsery, obojí mohou být různé typy souborů atd.
Ale ano, je to příklad vnímání uživatelského a katalogizačního. Dal bys Neon do jiného prostoru proto, že jeho implementace je složitější, než Json. Ale to přece je uživateli úplně jedno.
- jtousek
- Člen | 951
Souhlasím s Davidem. Mezi Neonem a Jsonem v tomhle ohledu rozdílů až tolik není. Pokud Json nemá mít vlastní namespace (mimochodem také hlasuju pro d) tak Neon také ne. Akorát se Neon asi nehodí do namespace Tools, ale to už nechám na ostatních. Dění okolo nových namespaces jsem zas tolik nesledoval.
- Ondřej Brejla
- Člen | 746
David Grudl napsal(a):
To ne, spíš bych ho tam dal proto, že tím vzniká nějaká naprosto nová věc…„nový souborový typ, nový formát“, který pokud bych chtěl někde použít samostatně, tak vezmu vše z namespace „Neon“ a mám hotovo.
Ano, teď to jsou dva soubory (+2), ale pokud jich bude více, tak je to už větší problém. Pokud to bude v jednom prostoru se všemi možnými a nemožnými třídami, tak budu nejdřív muset rozlišit co je co.
Json nic nového nepřináší a je tedy méně pravděpodobné, že by někdo chtěl vzít „celou Nette Json implementaci“ a někde s ní pracovat. Neon je novinka a kde jinde by měla být jasně definována, než v projektu, ze kterého vzešla a kde jedině a pouze se vyskytuje.
Ale chápu tvůj pohled a je mi jasné, že to nakonec vymyslíš dle svého nejlepšího vědomí a svědomí :-)
Editoval Ondřej Brejla (6. 2. 2011 14:52)
- David Grudl
- Nette Core | 8227
Rozumím, jak to myslíš, a vlastně celou dobu bojuju s oběma pohledy a zdá se mi, že hlavním viníkem je snaha o mapování 1:1 mezi adresářovou strukturou a jmenným prostorem.
Adresář Nette/Neon
vytváří dojem (byť třeba falešný),
že jeho obsah bude nezávislý na čemkoliv jiném. Jedna třída mezi mnoha
v adresáři Nette/Tools
tak nepůsobí. Nebo jiný případ:
vyčlenění všech výjimek z Nette/Application
do podadresáře
Exceptions
adresář zpřehlednilo, ale mapovat totéž do
jmenného prostoru mi připadá hloupé. Jak z toho ven?
- Patrik Votoček
- Člen | 2221
co nějakým způsobem odlišovat složky s související s namespace? a „úklidové“ složky? (třeba velikostí písmen)
- westrem
- Člen | 398
David Grudl napsal(a):
Mezi Json::decode() a Neon::decode() nevidím vůbec žádný reálný rozdíl. Obojí jsou parsery, obojí mohou být různé typy souborů atd.
Ale ano, je to příklad vnímání uživatelského a katalogizačního. Dal bys Neon do jiného prostoru proto, že jeho implementace je složitější, než Json. Ale to přece je uživateli úplně jedno.
Suhlasim s Davidom v tomto plus taktiez som pre variantu d).
Navrh na nove NS som pozeral len zbezne (nie uplne do hlbky) ale nieco ako
Nette\Parsers
by neobstalo? Pripadne
Nette\Syntaxes
– kde by mohlo ist Latte, Neon, JSON
whatever – su to v podstate syntakticky rozne jazyky a vsetky triedy okolo
toho maju na starosti jedno – spracovavat vstup v danej syntaxi (pripadne
generovat vystup) – alebo je to prilis cudny pohlad na vec?
- na1k
- Člen | 288
Taky jsem pro d) a dovolím si nesouhlasit s tím, že by měl mít Neon vlastní NS proto, že pokud ho chci použít samostatně, prostě vezmu NS a hotovo. Na jednu stranu pravda, ale „Tools“, „Utils“ a jiné ve mně vždy evokovaly shromaždiště různých drobných tříd, funkcí,.., takže bych při snaze vydolovat samotný Neon stejně tak nějak automaticky zpozorněl.
Co se týče Parsers
nebo Syntax
, moc se mi
nelíbí. Vycházím z toho, že Neon parser, stejně jako například Json
parser je pro mě prostě tool
, ze kterého stejně použiji jen
jednu nebo dvě funkce. Ano, je to parser, ale zas tak striktně bych to zase
nebral.
- David Grudl
- Nette Core | 8227
Mimochodem: jak byste vysvětlili důvod volby d) oproti a), když to znamená více psaní?
(a zajímá mě i argumentace proti b)
- Ondřej Brejla
- Člen | 746
a) Mi přijde špatně logicky. Json
je
„tool“, která se manuálně používá občas…v prostoru
Nette
bych opravdu čekal pouze ty opravdu hlavní a
nejhlavnější věci.
b) Mi jde proti srsti…je to podivná konstrukce a nemam ji rád :-)
O délce psaní se bavit nemusím, protože namespace
nevypisuji ručně, pouze si nechávám napovídat od IDE a entruji, takže je
to delší přesně o 1 enter a o cca 1 šipku dolů :-)
- Ondřej Brejla
- Člen | 746
David Grudl napsal(a):
Rozumím, jak to myslíš, a vlastně celou dobu bojuju s oběma pohledy a zdá se mi, že hlavním viníkem je snaha o mapování 1:1 mezi adresářovou strukturou a jmenným prostorem.
Nevím jak to hezky a přehledně…a logicky…řešit jinak. Jsem zvyklý na co „balíček“ to „adresář“, takže mi to přijde normální…
Čachry s velikostí písmen…no…nevím, nedokáži si to moc představit a abych řekl pravdu, tak mě to tam někde vzadu v hlavě dost děsí :-) Možná právě proto, že si to nedokáži pořádně představit.
- Patrik Votoček
- Člen | 2221
ad A vs D nevím připadá mě logičtější když se jedná o Tool ho mít i v namespace Tool. a ad B mě se tahle varianta líbí nejvíc nicméně chápu že spousta lidí něco takového (po tak dlouhém životě bez namespace) překousne nehledě na problémy s kompatadebilitou u PHP 5.2.
- Honza Marek
- Člen | 1664
U toho JSONu je logické, že to je třída a ne namespace. Přijde mi to jako jednotka, která umí decode a encode. Šlo by to udělat i jako klasická třída, ale statická je praktičtější. Dále JSON jednoznačně patří do nějakého namespace Tools, protože účelem třídy je jen obalit vestavěné php funkce a zajistit lepší zpracování chyb, jinak nepřináší nic nového.
Nevím proč nedopřát Neonu vlastní namespace. Je to logicky samostatná komponenta na parsování nějakého formátu. Nesrovnával bych to s JSONem, ale spíš s Latte.
David Grudl
Proč by měla mít jedna třída vlastní namespace?
Tohle uvažování mi přijde zvrácené. Důkazem je nynější bordel, který je potřeba změnit ;) Pokud mám třídu a není ji kam dát, vyrobim jí vlastní ohrádku. Nedám ji do Core nebo Tools.
Ondřej Brejla
Jsem zvyklý na co „balíček“ to „adresář“, takže mi to přijde normální…
Taky mi taková struktura přijde logická. Bral bych to i jako pomůcku – když mám pokušení vytvořit další adresář, tak jeho obsah jistě patří do vlastního namespace. Výjimkou potvrzující pravidlo budiž adresář exceptions, který je založen kvůli tomu, abych se na ty výjimky nemusel koukat.
- David Grudl
- Nette Core | 8227
Honza Marek napsal(a):
U toho JSONu je logické, že to je třída a ne namespace. Přijde mi to jako jednotka, která umí decode a encode.
Neon umí taky decode a encode (že to neodpovídá současné implementaci není podstatné, rád to sjednotím s Json).
Dále JSON jednoznačně patří do nějakého namespace Tools, protože účelem třídy je jen obalit vestavěné php funkce a zajistit lepší zpracování chyb, jinak nepřináší nic nového.
Tohle uživatel neví a nezajímá ho to. Myslíš, že lepší pořádek se zavede tím, že podle znalosti vnitřní implementace se určí, kde třídu hledat?
Nevím proč nedopřát Neonu vlastní namespace. Je to logicky samostatná komponenta na parsování nějakého formátu. Nesrovnával bych to s JSONem, ale spíš s Latte.
To snad ne. Neon a JSON je totéž s mírně odlišnou syntaxí. Latte je šablonovací jazyk skládající se z několika tříd.
Pokud má mít Neon vlastní namespace, jaký a jak nazvat třídu?
Tohle uvažování mi přijde zvrácené. Důkazem je nynější bordel, který je potřeba změnit ;)
Mám za to, že jako bordel, který je třeba měnit, to vlastně skoro nikdo nevidí. Proto ty neustálé nikam nevedoucí diskuse. Nechci být drzý ;-) ale skutečnost, že pro Neon chcete vlastní namespace a pro Json nikoliv, mi spíš ukazuje, že míříte někam do slepé uličky.
- Patrik Votoček
- Člen | 2221
Nevím proč ale začíná mě připadat že se tahle diskuse točí v kruhu bez nějakého rozumného „kompromisu“ bylo by asi na čase to utnout. Nemyslíte? Už se v tom začínám ztrácet.
- Honza Marek
- Člen | 1664
David Grudl napsal(a):
Neon umí taky decode a encode (že to neodpovídá současné implementaci není podstatné, rád to sjednotím s Json).
Nechápu kam tím míříš, tady si asi nějak nerozumíme.
Tohle uživatel neví a nezajímá ho to.
Pokud to uživatel neví, použije json_encode a json_decode z PHP.
Myslíš, že lepší pořádek se zavede tím, že podle znalosti vnitřní implementace se určí, kde třídu hledat?
Tenhle argument jsem čekal ;) Prostě třídu JSON nepovažuji za „ten správný JSON parser“, ale za „opravovátko chyb JSON parseru v PHP“. Chápeš, jak chápu ten rozdíl? Pokud chceš Nettí JSON prezentovat jako něco víc, čímž není, dej tomu vlastní namespace ;)
To snad ne. Neon a JSON je totéž s mírně odlišnou syntaxí. Latte je šablonovací jazyk skládající se z několika tříd.
Argument o počtu tříd na mě nefunguje. Latte byla taky dřív jedna třída.
Pokud má mít Neon vlastní namespace, jaký a jak nazvat třídu?
Nette\Neon\Neon nebo Nette\Neon\Parser
Je libo inspirace u konkurence?
skutečnost, že pro Neon chcete vlastní namespace a pro Json nikoliv, mi spíš ukazuje, že míříte někam do slepé uličky
To ukazuje na to, že Neon považuješ za drobnost, zatímco třeba já v něm vidím potenciální megasupercool feature. To pak ovlivní i názor, jestli by to mělo mít vlastní namespace :)
- David Grudl
- Nette Core | 8227
Patrik Votoček napsal(a):
Nevím proč ale začíná mě připadat že se tahle diskuse točí v kruhu bez nějakého rozumného „kompromisu“ bylo by asi na čase to utnout. Nemyslíte? Už se v tom začínám ztrácet.
Proč? Je to normální diskuse, všem argumentům rozumím, sám nemám jasno a rád budu pokračovat ;-)
- David Grudl
- Nette Core | 8227
PHP je tradičně vytýkána nesourodost v pojmenování tříd a funkcí. Tohle bych do Nette fakt zavádět nechtěl, tj. dávat různá jména podle toho, jako moc cool mi ta která funkce připadá.
ad počet tříd: neříkej, že argument s počtem tříd na tebe neplatí a raději napiš jasný důvod, proč by neměl platit.
Já chápu namespace jako způsob, jak 1) zabránit konfliktu názvů (to je
prefix Nette\
) a 2) oddělit nezávislé funkční celky (to je
Forms\
nebo Forms\Controls
). Jednu třídu jako
funkční celek nevnímám.
Dále: podobnou úlohu jako jmenné prostory plní i statické třídy.
Kombinace obojího je pak dle mého nesmyslná. Nedokázal bych odpovědět na
otázku, proč se v Nette píše Nette\Neon\Neon::decode()
a ne
Nette\Neon::decode()
. (Nette\Tools\Neon::decode()
mi
nevadí, ale nemám pocit, že verze bez nebo s Tools by byla v něčem
lepší).
- Ondřej Brejla
- Člen | 746
Patrik Votoček napsal(a):
To je hloupost ne, vždyť tu akorát padlo pár názorů, které jsme se snažili podpořit argumenty. Navíc ani David neví pořádně co a jak, takže bych naopak diskusi rozvinul, než zatrhnul.
Jo a vy už jste to říkali a já jedu z keše…
Editoval Ondřej Brejla (6. 2. 2011 23:59)
- Ondřej Brejla
- Člen | 746
@David:
- Já vidím funkční celek i v té jedné třídě, koukám na to ne jako na „třídu“, ale jako na „jeden nástroj pro podporu práce s .neon file“. To, že je to jedna třída a jedna výjimka pro mne není podstatné. Na Json se dívám jako na „obyčejnou obálku běžných funkcí“.
V tom bude ten problém. Ty koukáš asi na implementaci, na výsledek, který je výstupem, já na to „co mi to může nabídnout, jakou to má pro mne přidanou hodnotu“. Neon relativně velkou, Json žádnou. Proto bych asi „jednosouborový neon“ považoval za samostatný blok hodný svého prostoru.
To je takový můj půlnoční brainstorm, snažím se jít do hloubky a zjistit proč přemýšlím jak přemýšlím…hm…:-)
- David Grudl
- Nette Core | 8227
Ale stále řešíš tu vnitřní implementaci. Znamená to, že kdybych přepsal způsob, jak Json::decode() dekóduje, měl by tím pádem mít vlastní namespace?