NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.

Diskuze: Databázový systém -> změna na OOP (nakopnutí)

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

Aktivity
Avatar
Jan Poláček
Tvůrce
Avatar
Jan Poláček:22.8.2013 18:13

Zdravím pánové, neumím se tolik vyjadřovat, ale snad to bude pochopitelné :)
Již třetím rokem "programuji" databázový systém pro sociální služby (databáze uživatelů, kalendář, žadatelé,... a pro 4 různé služby), samozřejmě strukturovaně bez OOP (možná ani strukturovaně moc ne :D) a čím dál hůře se mi přidávají nové funkce, vše je velmi těžkopádné a orientace ve více než 200 PHP souborech, které mají názvy dle mé nálady, začíná být i nad mé síly. (Samozřejmě používám zastaralé MySQL_Query a ne PDO)

Nyní přemýšlím jakým krokem dále jít, co by pro mě bylo nejjednodušší a nejvíce efektivní. Určitě bych chtěl změnu.

Přemýšlel jsem, že bych postupně vše přepisoval do OOP, ale mám obavy, že bych se do toho zamotal a byla by to stejně "matlanice" jako doteď.

Jako druhý způsob mě napadl zatím používat nynější řešení a v klídku od znovu naprogramovat vše ve stylu OOP, kde podle seriálů zde na devbooku je vidět, že to je lepší přístup.

Problém začíná v tom, že jsem ještě v OOP pořádně nic neudělal a nevím, jakým způsobem začít, je pravdou, že jsem přečetl seriál na jednoduchý redakční systém a všeobecné OOP v PHP, ale spíš nevím celkovou strukturu a jak to pojmout.

Nepotřebuji ani nějak pomoct se samotným programováním, jako spíše jak začít.
Používat routování?
Použít MVC nebo jen složka ve které budou všechny třídy?

Takže bych vlastně potřeboval "nakopnout" do začátku.

Doufám, že jsem to napsal nějak tak, aby se to dalo pochopit a předem děkuju za odezvu, byť minimální a stručnou.

Otázka by také mohla znít, jak začínáte s projektem vy?

Odpovědět
22.8.2013 18:13
Instrukce na adrese 0x77104f29 odkazovala na adresu paměti 0x00000014. S pamětí nelze provést operaci: written.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jan Poláček
Kit:22.8.2013 18:21

Zkus si krok za krokem udělat ten redakční systém, ale už ve fázi návrhu si ho postupně upravuj ve stylu své databáze.

Vždyť ta tvoje databáze je vlastně také takový redakční systém. Jen je trochu odlišný.

Nahoru Odpovědět
22.8.2013 18:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Jan Poláček
matesax:22.8.2013 18:27

Nejhorší je nápad prvně udělat paskvil a pak ho opravovat. Začínám a končím objektově. Tedy již od začátku vymýšlím a přemýšlím v objektech...

 
Nahoru Odpovědět
22.8.2013 18:27
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:22.8.2013 18:29

Nejhorší je pracovat s relační databází objektově. To je na zabití.

Nahoru Odpovědět
22.8.2013 18:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Kit
matesax:22.8.2013 18:47

Proto nevolím relační databáze... :O

 
Nahoru Odpovědět
22.8.2013 18:47
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:22.8.2013 18:50

Kterou databázi tedy používáš? DB4, GDBM, Redis, CouchDB, MongoDB nebo Cassandru?

Pro systémy evidence jsou relační databáze velice vhodné.

Nahoru Odpovědět
22.8.2013 18:50
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
matesax:22.8.2013 18:58

Tak nejvíce jsem využil asi DB4, ale měl jsem možnost za firemní penize pracovat s Wakandou. Rád však pracuji s ORDBMS...

 
Nahoru Odpovědět
22.8.2013 18:58
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:22.8.2013 19:35

DB4 se na web hodí, pokud nepotřebuješ fulltext. Pokud od ní chceš víc než jen KVS, je obvykle lepší zvolit jinou DB.

Wakanda vypadá zajímavě, ale neznám ji.

Nahoru Odpovědět
22.8.2013 19:35
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Drahomír Hanák:22.8.2013 20:53

Já používám Redis na cache :D Teda vlastně trochu víc než cache. Ukládám tam data, které se pak synchronizují s hlavní databází. Na to samé používám u klienta IndexedDB. Je to dost pohodlné, rychlé a nakonec mám všechno v jedné databázi odkud si ta data zase beru.

 
Nahoru Odpovědět
22.8.2013 20:53
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Drahomír Hanák
Kit:22.8.2013 20:55

Redis je dobrá volba. Dokonce se dá používat jako správce kolekcí.

Nahoru Odpovědět
22.8.2013 20:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
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 10 zpráv z 10.