Anonymní profil NiX – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil NiX – Programujte.comAnonymní profil NiX – Programujte.com

 

Příspěvky odeslané z IP adresy 188.123.100.–

PHP › Pocuvanie UDP a spracovanie…
2. 2. 2023   #391033

srandicky.. ale ked sa opytam kto ma skusenost s PCNTL tak vsetci ticho.. uz studujem a vyzera to fajne... KONECNE aj PHP postupuje medzi vyssie jazyky

PHP › Pocuvanie UDP a spracovanie…
1. 2. 2023   #391005

Uz bezi 2 dni a 20 hodin bez prestavky a bez problemu funguje. Zda sa, ze to naozaj funguje ako ma :)

PHP › Pocuvanie UDP a spracovanie…
30. 1. 2023   #390961

Nechal som bezat, a zatial bezi 17 hodin https://github.com/walkor/mqtt , a bez problemov.

Je to zalozene na https://github.com/walkor/workerman a vyzera, ze to naozaj funguje tak, ako tvorca slubuje. Vyzaduje POSIX a PCNTL a pripadne aj nejake rozsirenie event.

Da sa spustit aj ako "demon", ale uplne presne neviem, co sa pod tym mysli, v pripade PHP.

Zaujimave, ze aj ked sa script vynutene zastavi v kode (napr. exit(), alebo nejaky fatal error), tak sa okamzite automaticky spusti znova. Zastavit sa da len prikazom v konzole (aj spustit, aj zistit stav).

Teoreticky to zatial vyzera dobre. Cronom mozem pre istotu kontrolovat, ci bezi, ak nie, tak ho znova rozbehnem.

Musim nastudovat to PCNTL rozsirenie, zrejme to je gro fungovania. Nema niekto skusenost?

PHP › Pocuvanie UDP a spracovanie…
29. 1. 2023   #390954

obcasna strata paketov problem nebude, ale bohuzial ovladam maximalne PHP :( ..

Server je tenky klient za par eur, ideal ak by tam bezal len webserver + php. Linux tam bezi uplne odlahceny.

Myslel som ze lighttpd, alebo nginx by nieco take mohol vediet.

Aj ked ten python tiez nevyzera zlozito..

PHP › Pocuvanie UDP a spracovanie…
29. 1. 2023   #390949

Posiela iba UDP - logy pre syslog... , resp. podporuje aj Mosquitto. Na to som uz pripojeny cez kniznicu https://github.com/walkor/mqtt . Cez tu kniznicu sa daju citat aj tie UDP..

Len netusim, ci je to spravna cesta, ci dokaze bezat php 24/7 nonstop, ci je to spolahlive. Resp. ci sa da nejak kontrolovat ci skript zomrel a znova ho rozbehnut. 

PHP › Pocuvanie UDP a spracovanie…
29. 1. 2023   #390947

Ahojte,

mam zigbee hub s firmwarom tasmota. Ten vie posielat data cez UDP na port mojho servera, kde mam nainstalovany Debian (dietpi), lighttpd s PHP.

Chcel by som tieto data zachytavat a spracovavat v PHP v realnom case - co najrychlejsie ako sa len da, pretoze sa jedna o reakcie, napr. stlacenie tlacitka a nasledne zapnutie svetla.

Riesil niekto nieco podobne? 

Rozmyslal som na niecim, co by pocuvalo na danom porte a ked pridu nejake data, tie posle PHPecku na spracovanie. Bud nejaky program na linuxe, alebo nejaky php demon?

Nieco co by bolo spolahlive a bezalo by 24/7, ale nemam skusenost s PHP demonmi a podobnymi rieseniami.

Vedel by ma niekto postrcit ako zacat?

Dakujem

AAAA
MySQL › Spojenie dvoch tabuliek s po…
1. 11. 2018   #382132

 nakoniec som prišiel nato, že to nemôžem triediť cez WHERE, ale priamo cez to spojenie ON...

hádam to mam dobre, kedže to ide :)

SELECT *

FROM hodnoty_defaultne AS hd
        
LEFT JOIN hodnoty AS h ON hd.id = h.id_hodnoty AND h.id_stranky = 52
AAAA
MySQL › Spojenie dvoch tabuliek s po…
1. 11. 2018   #382131

Ahojte,

ako by som vedel vybrať s dvoch tabuliek údaje?

V jednej tabulke mám defualtné hodnoty, a v druhej hodnoty ktoré nahradzujú tie defaultné.

------------------------------------------------------

prva tabulka: hodnoty_defaultne:

id     name                      default_hodnota

1     only_in_stock          1

2    ina_hodnota            5

druha tabulka: hodnoty

id       id_stranky       id_hodnoty      hodnota

1       52                    1                     2

-------------------------------------------------------------

Chcem vytiahnuť všetky defaultné hodnoty s tým, že tie ktoré budú existovať v druhej tabulke na základe spojenia hodnoty.id_hodnoty = hodnoty_defaultne.id, ale tiez na základe nejakého kľúča napr. hodnoty.id_stranky = 52.

Skusal som napr.

SELECT *

        FROM hodnoty AS h
        
        LEFT JOIN hodnoty_defaultne AS hd ON hd.id = h.id_hodnoty 

WHERE h.id_stranky = 52

ale mi to nejde. Resp. nie som zdatný v spájaní tabuliek. Nie je problém to vytiahnuť dvoma dotazmi, a potom v cykle vymeniť hodnoty, ale mám slabú chvíľku, keď ma nevie napadnúť, ako to urobiť jedným dotazom :(

Ďakujem

majo
MySQL › Zistenie poctu variantov
25. 1. 2018   #219496

produkt 1,2,3 a 5,6 je v podstate ten isty, preto potrebujem vytvorit skupinu variant, ktora ich obsiahne.. zobrazovat sa bude vzdy len jeden z nich (to uz zariadi ina logika)

zmenil som strukturu takto:

id_produkt               is_variant

1                             1

2                             1

3                             1

4                             0

5                             5

6                             5

co mi prinesie este jednu vyhodu (ale ta je teraz nepodstatna)

dosiel som k tomuto:

SELECT p1.id_produkt, p2.is_variant, COUNT(p2.is_variant)

FROM products AS p1, products AS p2',
      
WHERE p1.id_produkt IN (? , ?) AND p1.is_variant <> 0 AND p1.is_variant = p2.is_variant GROUP BY p2.is_variant

ak ma produkt is_variant = 0 , tak sa vo vysledku nezobrazi, co nevadi.. znamena ze ma jeden produkt (doplnim v PHP) ..

moze byt? alebo by to slo aj lepsie zo zachovanim danej struktury?

majo
MySQL › Zistenie poctu variantov
24. 1. 2018   #219472

Caute,

znova som sa zasekol na jednom probleme a neviem sa s neho nejak rozumne dostat..

Mam tabulku produkty

----------------------------------------------------

id_produkt               is_variant

1                             0

2                             1

3                             1

4                             0

5                             0

6                             5

Teda produkt 1 ma varianty 2 a 3.

4 produkt nema ziadny iny variant.

5 produkt ma variant 6.

Ale samozrejme to plati aj "opacne"... Napr. produkt 2 ma variant 1 a 3.

Je nejak mozne rozumne zistit kolko variant je spolu pre id_produkt IN (2, 4) ? Spravny vysledok by mal byt 2 => 3 a 4 => 1.

Uplne som na tomto vymrzol a neviem na nic normalne prist.. Zacinam uz zaroven predpokladat, ze sposob ukladania variant bude na nic, kludne to prerobim do samostatnej tabulky ked tak.

diiiiiiiiiiiiik

majo
MySQL › Vybratie dat z dvoch tabulie…
19. 1. 2018   #219419

super, slape to podla mojich predstav :)

zlavu nevypocitam vo DB, lebo je ich viac typov (percentualna, pevna zlava, pevna ciastka) .. a zaroven sa kontroluje ci cena po zlave nie je nizsia ako nakupna cena..

to by uz bol asi psycho dotaz :D

dakujem ti..

majo
MySQL › Vybratie dat z dvoch tabulie…
19. 1. 2018   #219416

dik Kit.. ja som mal v podstate to iste co ty (bez coalesce), len som celu tu podmienku dal do ON .. na vyfiltrovanie vo WHERE som uplne zabudol :D ..

kedze sa tak ci tak taha vsetko z jednej tabulky a vysledok sa vyfiltruje az potom, nebude to pomalsie, ako keby som vytiahol tie data pomocou dvoch jednoduchych dotazov a v PHP si to spojil? (pytam sa preto, lebo tabulky som doteraz spajal max cez INNER JOIN, ostatnym sa tak nerozumiem ako funguju)

majo
MySQL › Vybratie dat z dvoch tabulie…
19. 1. 2018   #219412

Caute,

neviem si moc dobre poradit s nasledujucim problemom:

Mam dve tabulky:

tabulka produkty

-----------------------------------------

id      cena

1       5

2       6

3       4

tabulka zlavy

------------------------------------------

id      id_cena     hodnota

1       1               10

2       2                20

5      6                30

mam kluce pre tabulku produkty napr. WHERE produkty.id IN (2,3)

a potreboval by som k riadkom vybranych produktov ziskat aj ich zlavy

a to aj v pripade ak taka zlava nie je definovana v tabulke zlavy.. s RIGHT JOIN vsak ziskam cely obsah tabulky zlavy

da sa to nejak efektivne vytiahnut?

majo
PHP › Vlastne session riesenie
29. 11. 2017   #218799

potrebujem na tej tabulke primarny autoincrement kluc , este k jednej pripravovanej veci.. preto som ju zaroven vyuzil.. vyhladavanie bude rychlejsie hadam v int ako v char(32) nie?

majo
PHP › Vlastne session riesenie
29. 11. 2017   #218797

cize indexovanie casu (datetime) to nijak neurychly? ak nie tak indexaciu vypinam..

(indexovaniu okrem primarneho kluca a unique moc nerozumiem :( )

majo
PHP › Vlastne session riesenie
29. 11. 2017   #218794

cas indexujem tiez :)

majo
PHP › Vlastne session riesenie
29. 11. 2017   #218793

kod je zbytocne hladat.. v cookies je ulozene 151-hbhjHJbjhHJbHJbjh6556fee (symetricky zasifrovane pre istotu, ak by doslo ku kompromitacii DB) , ja si s toho zoberem cislo pred pomlckou (spojovnikom) a hladam v DB iba podla toho.. najdem vysledok a ten porovnam ci suhlasi zvysok za pomlckou.. ak ano, nastartuje sa relacia.. jedna z viacerych vyhod je napr. znemoznenie session fixation, pretoze utocnik nedokaze podhodit ziadny session id tak aby ho system akceptoval..

majo
PHP › Vlastne session riesenie
28. 11. 2017   #218786

ano, zrejme som vtedy nemal urobeny index.. lebo uz je to absolutne ok :)

majo
PHP › Vlastne session riesenie
28. 11. 2017   #218784

ok nedalo mi to, premeral som to znova, nahral som 300 000 relacii (nahodne generovane data).. asi som predtym urobil nejaku chybicku, ktoru som nevedomky opravil, lebo teraz mi pri tomto pocte nespomaluje vobec.. je to plus minus to iste.. 

tabulka ma 300k zaznamov a je velka 201MiB

majo
PHP › Vlastne session riesenie
28. 11. 2017   #218783

ale tych 10ms je meranych pri praci s 200 000 ulozenymi relaciami.. to je extrem, taka situacia nikdy nenastane (ak ano, vtedy uz budem milionar :D ) .. ako spomalenie by nastalo pri 200 000 klasickych session suboroch? bez uprav by to ani len nenacitalo subor.. 

momentalne pri ulozenych cca 10 relacii nie je ziadny rozdiel (resp. nie je ani meratelny)

majo
PHP › Vlastne session riesenie
28. 11. 2017   #218780

tych 10ms je priemerny rozdiel medzi verziou s klasickymi session (takmer ziadnymi vytvorenymi) a session v DB (200k ulozenych relacii)... system na "obhospodarovanie" relacii som urobil vlastny, cize zabudovane funkcie uz nevyuzivam.. podla mna zanedbatelne..

session id vytvaram takto: ID - CODE , kde ID je primarny kluc v tabulke a CODE je nahodny retazec ktory overim az po ziskani zaznamu podla ID.. 

majo
PHP › Vlastne session riesenie
28. 11. 2017   #218772

refaktoroval som to do mysql, a nemozem vynachvalit.. ziskal som viac moznosti pracovat z relaciami.. otestoval som aj "vykon" oproti klasickym suborom a je to dokonca rychlejsie..

vygeneroval som 200 000 zaznamov v tabulke a cas na ziskanie dat z DB je zanedbatelne vacsi o asi 10ms oproti session suborom.. a realne v praxi tych 200k sedeni ani nebude..

majo
PHP › automatický výpočet úroku
18. 11. 2017   #218602

pravdu mas, porovnal som si to .. a niekedy vysledok nesedi pri === 

majo
PHP › automatický výpočet úroku
18. 11. 2017   #218600

vies presnejsie popisat v com spociva moja chyba?

majo
PHP › Vlastne session riesenie
18. 11. 2017   #218599

session vyuziva jadro systemu najma na svoj vlastny chod.. nie su tam ziadne kosiky atd... 

jadro systemu vlastne zabezpecuje aplikaciam ktore su nad nim postavene (eshop, cms... , proste cokolvek) , to, ze vsetky data ktore pridu z vonku (a ktore su don posielane) su konzistentne a nepozmenene (csrf tokeny, podpisuje a overuje podpisy cookies, kontroluje poziadavky z url..........) a ak je vsetko v cajku, routne url a spusti aplikaciu a posle jej potrebne data. 

a nebude v mojom pripade dobre ak sa bude aplikacia "starat" do jadra (volaniami ajaxom).. ona o nom by ani nemala vediet ze existuje.. su od seba oddelene.. ked vyprsi session, poziadavka uzivatela neprejde teda jadrom a poziadavka sa tvari ako nedoveryhodna.. 

majo
PHP › automatický výpočet úroku
18. 11. 2017   #218597

no jednoducho podla vzorca, ktory som ti poslal.. len si ho prepises..

stale si nenapisal co presne chces pocitat ak vies uzivatelovu ciastku a urok..

napr. jednoduche urocenie  

$vynos = $istina * ( ($urok_v_percentach / 100) * $pocet_rokov );

majo
PHP › Vlastne session riesenie
18. 11. 2017   #218594

ok, berem, az taka zataz to nie je.. ale stale ostava problem, ak sa mu uspi pocitac, resp. ho vypne a po zapnuti mu prehliadac predhodi cache stranky a nepoziada o novu.. 

dalo by sa to vyriesit napr. s localStorage, ale aj tak to moze uzivatela zmiast.. minimalne hlaska v zneni "Vase data system povazuje za nedoveryhodne, zaslite formular znovu"..

sam si programator, urcite aj ty preferujes nepriestrelne riesenia s tym, aby com najmenej obtazovali BFU

majo
PHP › Vlastne session riesenie
18. 11. 2017   #218592

to periodicke volanie session_start ma napadlo tiez, ale tam je zas problem, ze kvoli takej "malichernosti" zatazujem server.. 

no nic, idem to asi prerabat :(

majo
PHP › Vlastne session riesenie
18. 11. 2017   #218590

ano, je to cca tych 25 - 30 minut, to je k vzteku, ked toto clovek nedomysli hned na zaciatku.. redis je bez sance na hostingu, ale tusim ze memcache tam je, a ten by siel pouzit..

rozhranie myslis fc. session_set_save_handler ?

majo
PHP › automatický výpočet úroku
18. 11. 2017   #218588

ahoj, 

pises ze chces vypocitat urok za 1 rok. V databaze mas ciastku a UROK daneho uzivatela. Tak co chces presne vypocitat?

tu mas ked tak pekny clanok:

http://finanza.sk/na-vypocet-urokov-nemusite-pouzivat-len-online-kalkulacky-da-sa-to-aj-z-hlavy-je-na-to-vzorec/

majo
PHP › Vlastne session riesenie
18. 11. 2017   #218587

Caute, 

pohravam sa s myslienkou zavrhnutia vstavaneho riesenia session v PHP a postavit vlastne (napr. v DB alebo klasika subory). 

Stve ma ta "nekonzistencia" dat na roznych serveroch, hostingoch. Na localhoste doma mi ide vsetko ako ma, ale niekde proste vyprsi session skor ako mam nastavene (asi kvoli nejakym internym nastaveniam hostingu).

Mam napr. ulozeny token proti csrf v session, uzivatel si pootvara stranky, medzitym ide na obed... vrati sa, vyplni formular, odosle a samozrejme csrf token nesedi lebo session uz neexistuje.. a mne sa to fakt zle vysvetluje laikovi preco...

Riesi niekto z Vas session po svojom, a ak ano, tak ako?

Dik

majo
PHP › Vygenerovanie "pozicie" v po…
28. 10. 2017   #218231

Ahojte,

riesim cudziu aplikaciu, kde sa pristupuje k hodnotam v poli (ale tiez sa vytvaraju hodnoty) nejakym takymto stringom napr. "env.ip.local", co znamena, ze vyzaduje hodnotu $_c['env']['ip']['local'] .. 

Momentalne je to vyriesenie trochu idiotsky, ze sa string rozdeli pomocou explode a nasledne podla poctu hodnot sa vybera z pola.. cize v tomto pripade:

if ($numargs === 3) {

		if ( ( isset($_c[$arg_list[0]]) ) and ( isset($_c[$arg_list[0]][$arg_list[1]]) ) and ( isset($_c[$arg_list[0]][$arg_list[1]][$arg_list[2]]) ) ) {

			return $_c[$arg_list[0]][$arg_list[1]][$arg_list[2]];

		}

	}

chcem to prerobit tak, aby mohlo byt v tom stringu "nekonecno" hodnot, a teda nekonecno rekurzii v tom poli.. len ma uz druhy den nevie nic napadnut.. mozno sa to ani neda inak urobit, ako je to urobene teraz, ale radsej sa opytam sikovnejsich ..

aplikacia sa na iny sposob uz prerobit neda.. znamenalo byt to rozkopanie celej aplikacie a nato nemam gule a bohuzial ani cas :(

majo
PHP › Minimalizacia poctu include…
12. 9. 2017   #217810

#7 Kit
snippet nejde zavolat priamo, je mimo root adresara webu.. ale dik za upozornenie, teoreticky by spustenie niektorych snippetov mohlo sposobit problem.. idem vymysliet este daku poistku.. aplikaciu uz neupravim (aj ked by som rad), prerabam existujucu a do MVC by znamenalo komplet prerabka.. 

majo
PHP › Minimalizacia poctu include…
11. 9. 2017   #217805

v tomto pripade sa generuje stranka, zo sablon, resp. snippetov.. k dispozicii je viac ako 200 roznych casti a kazda stranka potrebuje ine casti a moze byt zlozena aj s 50tich snippetov.. cize 50x include.. inak to urobit nejde lebo v kazdom snippete este moze prebehnut nejaky php kod.. chodi mi to ale kazdopadne rychlo.. len som mal taku vycitku, ze by som mal znizit pocet include.. co je podla mna zbytocne, nic to neusetri a mne ztazi pracu.. kod je uz v RAMke ako pise Kit.. 

majo
PHP › Minimalizacia poctu include…
10. 9. 2017   #217787

presne to iste si myslim aj ja ("celu aplikaciu proste rozdelujem do viacerych suborov, ktore sa za behu poskladaju do celku, podla potreby").. dik za potvrdenie

majo
PHP › Minimalizacia poctu include…
10. 9. 2017   #217784

Co si myslite o snahe znizovania poctu pridavanych "suborov" cez include / require (_once) ? Ma to nejaky vykonnostny problem? Ja osobne si myslim, ze by to nemalo spomalovat aplikaciu (ak si vie napr. server subory nechavat v pamati), ale pocul som ze vraj hladanie a pridavanie mnohych suborov aplikaciu vyrazne spomaluje.. Momentalne pracujem tak, ze si celu aplikaciu proste rozdelujem do viacerych suborov, ktore sa za behu poskladaju do celku, podla potreby. Max tak 50 suborov.. Aj pri napr. nette sa nacitava hadam aj 100 suborov, kym sa zacne vobec nieco "diat".. Mam pravdu ja, alebo nie? Alebo je pravda niekde vo vesmire ? :D

NiX
PHP › Posielanie instancie do X tr…
1. 3. 2017   #215130

#8 Kit
uff to som sa pomylil, myslel som tvoju druhu variantu :)

aky zapis teda pouzivas, ak nie ziaden s uvedenych?

NiX
PHP › Posielanie instancie do X tr…
28. 2. 2017   #215120

dakujem

NiX
PHP › Posielanie instancie do X tr…
27. 2. 2017   #215098

dakujem, viem ze trochu pletiem nazvoslovie.. trieda je sablona s ktorej sa vyrobi objekt.. nieco ako plan domu je trieda a kazdy postaveny dom podla planu je objekt..

Cize:

$object = new Trieda();

$dom = new Dom($object);

$strom = new Strom($object);

$les = new Les($object);

$object->setProperty = 'value';

v objektoch Dom, Strom, Les najdem vlastnost $param s hodnotou 'value' (samozrejme az po jej vytvoreni). A v pamati bude stale len jeden objekt Trieda. Spravne to chapem, ano?

NiX
PHP › Posielanie instancie do X tr…
26. 2. 2017   #215086

Caute chcem sa opitat, nakolko nikde som nenasiel uspokojivu odpoved, v kazdom clanku pre zaciatocnikov o OOP sa v podstate rozoberaju len uplne zaklady.

Vytvorim si nejaky objekt triedy. Ten nasledne dodavam do dalsich X Y objektov cez new trieda( $this ), kde si ho ulozim do properties v konstruktore. Bude ten objekt stale rovnaky, aj ked v nom nieco zmenim, bude zmena ukamzite k dispozicii v kazdej triede kde som tento objekt dodal?

Nekopiruje sa ten objekt, a zbytocne to neplni pamat ci vykon? , alebo je to len akysi odkaz v pamati na prvotnu instanciu a vsetkych ostatne objekty pracuju priamo s nim?

majo
PHP › Lazy Loading a DI
20. 1. 2017   #214583

Caute, mam zaludnejsiu otazku s ktorou si neviem rady:

Zacal som pouzivat Dependency Injection (namiesto service locatoru). Zavislosti idu standardne cez konstruktory. V urcitom type tried vsak konstruktory nebudu (v predkovi budu, v potomkoch si to nechcem komplikovat).

Injektovanie som zatial urobil takto:

1. metodou inject* (naplni sa automaticky po vytvoreni objektu - objektom vyzadovane zavislosti)

2. vlastnostou s anotaciou s pozadovanym objektom (tu potrebujem naplnit az ked sa realne zavola, teda lazy loading)

(ano, inspiroval som sa v nette)

Jedine co ma napadlo ako ju naplnit je tak, ze ju unset-nem a jej nazov + pozadovany namespace triedy si "odlozim". V getteri sledujem ci sa dana vlastnost zavola, ak ano, tak az vtedy objekt vytvorim a vratim...

Napada Vas nejaka zrada ktora by mohla nastat? Zatial som narazil iba na nutnost aby bola vlastnost PUBLIC.. 

majo
PHP › Ziskavanie vlastnosti v trie…
20. 1. 2017   #214582

nie je dost mozne to v takomto fore dobre vysvetlit, je to velmi rozsiahle (plni to podobnu ulohu ako Doctrine) a tazko to zrozumitelne vysvetlim (a tiez neviem ani moc dobre vysvetlovat svoje myslienky, sam ich chapem, ale tazko ich davam zo seba von).

kazdopadne som to cele prekopal s prihliadnutim na vase rady (oboch).. dorobil som zavislosti cez Dependency Injection a anotacie, hned je to o nieco inom :) .. cize uz je to ok, hadam.. diki ze ste ma sprdli :)

majo
PHP › Ziskavanie vlastnosti v trie…
12. 1. 2017   #214485

#6 Kit
Objekty entity vedia pracovat s datami ktore dostanu, dedia spolocneho rodica ktore im tuto funkcionalitu da.. vedia ich zmenit, extractovat atd.. ale nechcem aby vedeli odkial sa data beru, ani kto ich dodava (zdroj sa moze menit, alebo je zdrojov viac - nato mam toho managera). tiez nechcem aby ich vedeli editovat priamo v zdroji, vymazat zo zdroja atd (nato mam ine triedy)... a preto mi vznika ten problem, ze pred ich instancovanim a naslednym hydratovanim dat potrebujem ich defaultne vlastnosti ziskat.. ak pozadovane data budu kolidovat z vlastnostou entity tak sa data nesmu ani pokusat ziskat..

ak by sa jednalo o jednu sadu dat (teda iba jedna instancia entity) nebol by problem, ale napr. Select, ak ziska viac sad dat, tak musi vratit pole obsahujuce entity).. 

jedine co ma napada, instancovat si predtym entitu, s nej si vybrat co potrebujem a zahodit ju.. lenze to sa mi tiez nezda ako koser riesenie.. 

majo
PHP › Ziskavanie vlastnosti v trie…
12. 1. 2017   #214482

to bolo len na konkretnu ukazku, Manager spracovava samozrejme podstatne viac roznych druhov operacii v entitach (CRUD), nie len jednoduche "find", preto som chcel tuto ulohu zverit iba jemu (zistit co najst, co zmazat, co editovat...).. Select ma tiez viac sposobov ako hlada data (on zisti kde to najst a ziska to), ak ich nenajde, tak zase ziada dalsiu triedu o ich vytvorenie.. + su tam dalsie triedy ako DELETE atd..

je to pomerne komplexne, a preto su ulohy takto rozdelene.. v podstate ide o obdobu ORM.. nie je tak jednoducha ako v priklade..

Entita by mala byt v samostatnej triede (a subore) kvoli prehladnosti, tiez ich bude pomerne dost.. Entita nevie nic o sebe, ta len nosi svoje vlastnosti.. nevie kde su data

getery setery samozrejme volam getVlastnost a setVlastnost('nova vlastnost')..

takto som bol nauceny, ze ulohy mam delit medzi triedy.. kazda trieda ma mat svoju ulohu a robit len svoju cast.. 

majo
PHP › Ziskavanie vlastnosti v trie…
12. 1. 2017   #214479

#2 Kit
ano, aj mne smrdi, ale neviem sa s toho vymotat..

skusim popisat co riesim:

1. Trieda Entita - obsahuje len vlastnosti v ktorych su zapisane urcite data + getery a setery (ktore zdedi od inej abstraktnej triedy) - cize schranka na data

2. Trieda EntityManager - trieda ktora spravuje vsetky Entity.. napr. find('NazovTriedyEntity', 'vlastnostEntity', 'hodnota').. v tejto triede by som napr. potreboval overit ci vlastnostEntity existuje v NazovTriedyEntity - cize manazer schranok

3. Trieda Select - tato trieda zozenie data na zaklade 'NazovTriedyEntity', 'vlastnostEntity', 'hodnota' (a znova predtym potrebuje jej vlastnosti) a az teraz vytvori Instanciu Entita podla NazovTriedyEntity (alebo pole instancii podla poctu dat), do ktorej ziskane data "hydratuje".. - jeho ulohou je plnit entity (aj ked toto by mohol robit tiez EntityManager)

Teda:

$entita = $entityManager->find('NazovTriedyEntity', 'vlastnostEntity', 'hodnota'); // poziada Select o naplnene entity

$entita->setVlastnost; $entita->getVlastnost;

Neviem preto, ci by bolo spravne volat instanciu schranky (Entitu), len preto aby som ziskal jej vlastnosti a potom ju zahadzovat.. Bohuzial aj EntityManager aj Select si potrebuju niekedy overit vlastnost Entity este pred jej instancovanim.. proces ziskavania dat je totiz narocny nato, aby prebehol zbytocne ak data nebudu sediet..

uz som to prepisal asi 5x a furt neviem prist na aspon trochu "cisty" sposob.. 

majo
PHP › Ziskavanie vlastnosti v trie…
12. 1. 2017   #214477

Ahojte,

potreboval by som poradit s nejakym elegantnym riesenim problemu, s ktorym si neviem rady. Som zaciatocnik v OOP.

Mam triedu v ktorej mam definovane vlastnosti a kvoli zapuzdreniu maju modifikatory private (alebo protected). Data z nich si upravujem a ziskavam getermi a setermi.

Avsak, niekedy potrebujem v inej triede zistit ich (defaultny) obsah, ale nechcem (nemozem) triedu instancovat. Zatial som vymyslel len sposob statickou metodou, ktora je vnutri danej triedy a pomocou get_class_vars ich vytiahnem a vratim triede ktora ich ziada (tam data rozparsujem).

Ale to je podla mna prasacina :( .. Nic ine ma vsak uz nenapadlo. Vy sikovnejsi, ako by ste k tomu pristupili vy?

PHP › Vytvorenie unikatneho url sl…
12. 2. 2016   #208576

dorabam to do existujuceho systemu a tato moznost povodneho kodera asi nenapadla, prerobit to na taky system uz v podstate nie je mozne (resp. je, ale tak velky zasah nechcem riskovat)

PHP › Vytvorenie unikatneho url sl…
12. 2. 2016   #208574

Caute,

myslel som, ze to bude jednoduchsie, ale ked som si k tomu sadol, ukazalo sa, ze ani nie (ako to vacsinou tak byva)

v mysql DB mam stringy ktore sa generuju pre kazdu polozku (clanok) automaticky.. 

napr. "topanky" pre clanok Topánky

avsak ked vytvorim dalsiu polozku (clanok), ktora sa bude volat rovnako potrebujem aby mi vygenerovalo napr. "topanky-1" (resp. podobne riesenie, toto konkretne je zalozene na pridani cisla, ak uz seo alias v DB existuje)..

ak znova zadam dasli clanok Topánky tak vygeneruje "topanky-2" atd.. 

skuste mi nastrelit nejake spolahlive riesenie s tym ze v DB mozu byt aj "topanky-modre", alebo tam vobec nemusia byt "topanky" iba verzie s cislami (napr. zmazany clanok)...

nedari sa mi nic kloudne vymysliet :( ..

mrvo
PHP › Konstanta v triede
30. 10. 2015   #206026

jj mam, aj virtual server... ja som si tiez doteraz myslel ze konstanta moze byt len skalar, ale nastala situacia kedy mi dobre vyhovuje pole a ono to fungovalo :D

mrvo
PHP › Konstanta v triede
30. 10. 2015   #206023
mrvo
PHP › Konstanta v triede
30. 10. 2015   #206020

Ahojte,

chcem sa opitat na jednu vec, nie som az tak zbehly v OOP, 

Mozem pouzit v triede konstantu ktora bude polom?

const NAZOV = array('value 1', 'value 2');

lebo vsade sa uvadza, ze konstatna musi byt skalar. Ale po vyskusani mi to funguje, tak teda ci robim dobre, alebo to radsej riesit inak.

dakujem

PHP › Porovnanie vo foreach sa spr…
29. 3. 2015   #200858

Caute , stretol sa niekto s niecim takymto?

mam pole

$array[0] = array();

$array[1] = array();

$array['last'] = array();

a ked iterujem pole cez

foreach($array as $key => $value) {

   if ($key == 'last') { echo $key; break; }

}

tak to hned skonci s vysledkom 0 ?? ked pouzijem 

if ($key === 'last')

tak to pracuje normalne

co to je ?

PHP › Ziskavanie tried
8. 1. 2015   #197934

no prave po tvojej odpovedi som si uvedomil, ze je to skor otazka na nette :)

znova ti dakujem za usmernenie :)

PHP › Ziskavanie tried
8. 1. 2015   #197922

tak niekde by mali byt zaregistrovane v nette ako sluzby

PHP › Ziskavanie tried
7. 1. 2015   #197916

Zdravim,

potreboval by som pomoc od niekoho skusenejsieho. Bolo by mozne nieco taketo?

mam abstraktnu triedu:

abstract class BaseRepository extends Object 
{

}


a nasledne napr.

class NotificationRepository extends BaseRepository 
{
	public function nejaka_uloha()
	{
		
		$this->getRepository('User')->metoda_z_UserRepository();

	}
}


a namiesto injektovania instancii cez konstruktor by som chcel, ak sa da pohodlne, nejak takto pohodlne zavolat nejaku inu metodu z inej instancie triedy (teda ziskat napr. UserRepository)?

Je to nejak mozne? Idealne v Nette

PHP › self, parent a static
7. 12. 2014   #196988

jj dakujem za ne ..

len neviem stale odkial presne static:: nadobudne hodnotu, ci je to skutocne ta posledna prepisana hodnota v poslednom potomkovi

PHP › self, parent a static
6. 12. 2014   #196980

ved nette je len oop framework.. ja som otazku myslel z oop pohladu, preto som uviedol aj taky priklad

PHP › self, parent a static
6. 12. 2014   #196970

preco?? :)

PHP › self, parent a static
6. 12. 2014   #196968

pouzivam nette.. v konstante budu len hlasky.. napr. v basepresenteri bude defaultna hlaska (a teda aj metody , ktore tu hlasku potrebuju), a v niektorych par presenteroch by som chcel tuto hlasku zmenit.. nic viac.. DI este moc dobre nechapem :(

PHP › self, parent a static
6. 12. 2014   #196964

cize ine riesenie ako static:: to nema?

PHP › self, parent a static
6. 12. 2014   #196961

Caute, nikde sa nemozem dopatrat k uspokojivej odpovedi.

Mam napr. abstraktnu triedu:

abstract class A {

use Nejaky_Trait_s metodami;

const KONSTANTA = 'obsah';


}

a dalej triedu

class B extends A {

const KONSTANTA = 'a tu ju chcem prepisat';

}


a prave v tom Trait-e teraz potrebujem zistit hodnotu KONSTANTY .. pri self::KONSTATNA mi vrati 'obsah'.. je spravne pouzit static::KONSTANTA ? vtedy to vrati prepisanu hodnotu s triedy B.. len neviem ci je to riesenie OK.. konstantu bude mozne v kode prepisovat podla potreby...

PHP › Zistenie ci cas je v urcitom…
17. 11. 2014   #196104

Caute,

nevie mi niekto pomoct ako efektne zistit ci cas vo formate napr. 18:05 je v rozmedzi ktore je v premennej string napr. 10:00 - 20:00

nic ine ako hnusne riesenia ma nenapadaju.. ako by ste to vyriesili vy?

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý