Traits – doporučujete používat? Rozumí si to s DI?
- Zax
- Člen | 370
Ahoj,
používáte Traits
? Je velká šance v dnešní době narazit
na (český) hosting, na kterém Traity nejedou? A jak je na tom Nette\DI pokud
jde o Traity? Například pokud mám zapnutý
@inject pro komponenty a komponentě dám trait, který obsahuje
@inject, bude mi to fungovat?
trait ContentEditable {
/** @var Components\WebContent\IWebContentFactory @inject */
public $webContentFactory;
protected function createComponentWebContent() {
$control = $this;
return new UI\Multiplier(function($tag) use ($control) {
return $control->webContentFactory->create()
->setTag($tag);
}
}
}
class NejakaKomponentaKteraMaZaplyInject {
use ContentEditable;
}
Nikdy jsem Traity nepoužíval, protože jsem se bál právě těch hostingů (kvůli tomu také používám $control=$this a use ($control), nepoužívám zkrácený zápis polí atd atd), ale zase bych kvůli tomu nerad zakrněl a pokud už dnes Traity jdou používat prakticky na jakémkoliv hostingu, pak bych je rád využil. Co myslíte, je to (už konečně) dobrý nápad? Dík.
Editoval Zax (3. 6. 2014 15:45)
- David Matějka
- Moderator | 6445
Tak pokud ma hosting php 5.4 a vyssi, tak traity fungovat budou.
Stejne tak by mel fungovat inject v traite bez problemu. (melo by to fungovat identicky jako kdyby ten kod byl v presenteru/controlu)
A pokud ti fungojou traity, je zbytecny ten zapis
$control = $this; ... use ($control)
. Podpora pro pouziti
$this
v closurach je v php taky od 5.4.
Editoval matej21 (3. 6. 2014 15:46)
- Zax
- Člen | 370
Ok dík za jasnou odpověď, budu se tedy hlavně dívat na to, zda hosting má PHP 5.4. Jen je škoda, že spousta hostingů verzi PHP nikde veřejně neuvádí. Už by mě jenom zajímalo, zda je velká šance narazit na hosting s <5.4 nebo jde o naprostou minoritu, se kterou se nemusím zabývat?
EDIT: Wow odešlu příspěvek a najednou všude vidím tlačítka thumbs-up a thumbs-down, takže toho hned využiju ;-)
Editoval Zax (3. 6. 2014 15:57)
- Pavel Macháň
- Člen | 282
Zax napsal(a):
Ok dík za jasnou odpověď, budu se tedy hlavně dívat na to, zda hosting má PHP 5.4. Jen je škoda, že spousta hostingů verzi PHP nikde veřejně neuvádí. Už by mě jenom zajímalo, zda je velká šance narazit na hosting s <5.4 nebo jde o naprostou minoritu, se kterou se nemusím zabývat?
EDIT: Wow odešlu příspěvek a najednou všude vidím tlačítka thumbs-up a thumbs-down, takže toho hned využiju ;-)
PHP 5.3 je stále hojně využívané, ale už se to lepší a většina lepších hostingů má alespoň 5.4
- Oli
- Člen | 1215
Tohle jsme vyřešili jednoduše. Když vypracováváš nabídku, tak si do podmínek dáš apache, MySQL, PHP 5.4…
Stejně si tam musíš dát php, mysql/postgres, apache, … Jinak by jsi nebyl na tomhle foru. Tak proste jen misto 5.3 → 5.4 ;-)
Klient at si vybere hosting jakej chce, ale ja mam zaruceno, ze me tam muj kod pojede.
- Pavel Macháň
- Člen | 282
Zax napsal(a):
Jasně, taky bych rád kdybych si mohl určovat, na který hosting to půjde, ale chci být připraven na situace, kdy si klient usmyslí, že chce nějaký konkrétní hosting a žádný jiný (a na nějaké „no jo, ale co když tam náhodou není péhápé pět čtyři“ neslyší).
Jako zhotovitel se můžeš vznést do smlouvy podmínku, že hosting musí mít určité parametry jinak přez to nejede vlak… Většinou nemá zadavatel požadavky na PHP atd.. a mělo by to jít z tvé strany ať si ulehčíš život :)
- Zax
- Člen | 370
@Oli: jako něco na tvém příspěvku je, né že ne. Jenže moje cílová skupina budou spíš lidi, kteří se v tom vůbec nevyznají a chtějí jednoduchý webovky (třeba pro začínající živnostníky, malé firmy apod.). Třeba se jim náhodou zalíbí levnější (ale horší) hosting, který si můžou dovolit nebo tak něco a já jim to pak musím rozmlouvat a přesvědčovat je… a jak říkám, spousta hostingů ani neuvádí veřejně verzi PHP, což přidává další práci že se jich musím ptát a zjišťovat.. Přijde mi, že je to něco, čemu se dá vyhnout jednoduše tím, že budu psát kód pro 5.3 – jako správný programátor-sociopat si radši přidělám víc práce s kódem samotným, než s komunikací s klientem :-D
- Pavel Macháň
- Člen | 282
Zax napsal(a):
@Oli: jako něco na tvém příspěvku je, né že ne. Jenže moje cílová skupina budou spíš lidi, kteří se v tom vůbec nevyznají a chtějí jednoduchý webovky (třeba pro začínající živnostníky, malé firmy apod.). Třeba se jim náhodou zalíbí levnější (ale horší) hosting, který si můžou dovolit nebo tak něco a já jim to pak musím rozmlouvat a přesvědčovat je… a jak říkám, spousta hostingů ani neuvádí veřejně verzi PHP, což přidává další práci že se jich musím ptát a zjišťovat.. Přijde mi, že je to něco, čemu se dá vyhnout jednoduše tím, že budu psát kód pro 5.3 – jako správný programátor-sociopat si radši přidělám víc práce s kódem samotným, než s komunikací s klientem :-D
Úplně nejjednoduší je si někde koupit VPSku, nakonfigurovat ji jak potřebuješ a právě podobné nenáročné zákazníky umístit na tvojí VPS. Tato VPSka se ti tím zaplatí a máš úplnou kontrolu a volnost. :).. Zezačátku než to nakonfiguruješ atd ti to sežere nějaký ten čas, ale výsledek stojí za to :)
Editoval EIFEL (3. 6. 2014 17:08)
- Šaman
- Člen | 2666
Používám je takhle
a zatím jsem na žádný problém nenarazil. Samozřejmě je potřeba trochu
dbát na výběr hostingu, ale žádný hosting, který to myslí aspoň trochu
vážně, dnes 5.3 jako defaultní nenabízí. Ty horší jedou na 5.4/5.5 a
ty lepší ti dají na výběr.
P.S. U těch úplně nejhorších se ti může stát, že ani nerozeběhneš
Nette. Tak k té aplikaci přidej requirements checker a uprav podmínku verze
php na >= 5.4. Uživatel si pak bude moci vyzkoušet sám, jestli je hosting
kompatibilní.
Editoval Šaman (3. 6. 2014 18:16)
- Filip Procházka
- Moderator | 4668
Rozhodně se nenech klientem takto hloupě omezovat, i 5.4 hostingy se dají sehnat za směšný peníze.
- Zax
- Člen | 370
@Šaman: Ten requirements checker je dobrý nápad. Sice BFU (moje hlavní cílová skupina) nemusí ani tušit, jak to zprovoznit/vyzkoušet (a těm budu nejspíš natvrdo doporučovat nějaký konkrétní hosting třeba i kvůli affiliate atd), ale pokud klient ví a chce si předem otestovat, jestli mu můj kód pojede na jeho zvoleném hostingu, tu možnost mu dám. To je asi dobrý kompromis.
Co mám rozdělané, to dodělám pro 5.3 kvůli konzistenci a pak další věci začnu načisto s 5.4. Ono to má celkem dost fičur a cukrátek (hlavně ty traity a short array syntax), že se na to už celkem dlouho těším. No, díky!