Autor Zpráva
Manny7
Profil *
Ahoj,
rozhoduju se napsat menší redakční systém a přemýšlím nad jeho strukturou. Doposud jsem měl soubor, ve kterém jsem prováděl veškeré akce, tzn. editace dat s databázemi, posílání mailů, nastavování práv - vše podle toho, jaký jsem poslal typ akce. Ale přijde mi provádět vše takhle v jednom editačním souboru "blbé" a přemýšlím nad lepším řešením.

Napadá mě použít v systému (založit na něm) globální proměnné - celý systém by byl, co se týká důležitých dat, pospojován globálními proměnnými, ale např. pořád slyším o riziku používání glob. proměnných, např. v Cčku (v PHP to bdue asi obdoba)...

Zatím jsem ve fázi volby řešení problému, proto uvítám jakoukoli radu v této problematice.

Díky ;)
mckay
Profil
Manny7:
Adresářová struktura:

/root
- admin
- files (grafika, upload, bordel....)
- framework (database, mails, template_loader, access, settings ...)


Tímhle způsobem bych to napsal já. Všechno, co si měl dřív v jednom souboru bych rozdělil do jednotlivých poadresářů složky framework. Doufám, že to píšeš v OOP PHP, potom to bude správně.

Možná by při tom vývoji CMS nebylo na škodu přečíst si něco ohledně MVC.
aDAm
Profil
Pokud stavíš od základu zkus použít nějaký framework..Nette, Zend atd.
AM_
Profil
Manny7:
Ale přijde mi provádět vše takhle v jednom editačním souboru "blbé" a přemýšlím nad lepším řešením.
máš pravdu, je lepší to vyvíjet v přehledné adresářové struktuře; ale z jiného hlediska mnoho includovaných souborů totálně zabije výkon PHP aplikace. Dobře to řeší třeba Nette/Dibi, které mají jak vývojovou verzi rozdělenou do souborů včetně phpDoc, tak "minified" verzi sraženou do jednoho souboru včetně značné komprese kódu (to umí takto převést a zkomprimovat tuším nějaká utilita), kterou je dobré používat na produkčním serveru.

Napadá mě použít v systému (založit na něm) globální proměnné
Ideální by v dnešní době bylo napsat to objektově, kde nutnost použití globálních proměnných zcela odpadá (v poslední řadě je lze nahradit statickou třídou, třídy jsou viditelné odevšad).
Pokud ale objektově psát neumíš, samotné použití globálních proměnných hříchem není, jen se musíš řídit určitými pravidly:
- globální proměnné použít pouze v těch funkcích, které jsou striktně spjaty s daným projektem. Všechny funkce, které možná někdy použiješ i mimo projekt, by měly veškerá vstupní data dostávat jako parametry.
- vést si dobrou dokumentaci o globálních proměnných, jaká a k čemu je použitá, aby sis je někde nepřepsal/nezastínil.
- používat je opravdu jen tehdy, pokud to má dobrý důvod, ne jen z lenosti opisovat parametry
Manny7
Profil *
to all: děkuj vám moc za reakce. V tuto chvíli to nejspíš vypadá tak, že se vydám cestou frameworku... Zkusím Nette a později robustnější Zend.

Poslední dobou jsem se začal šťourat v OOP modelu a napsal pár aplikací (guestbook, anketa a takové prkotinky), ale přemýšlel jsem, jestli zvolit pro inovaci systému svůj vlastní framework, který bych si napsal objektově se souborovou strukturou, jakou popsal mckay (a jaká je třeba ve zmíněném Nette) nebo začít používat některé rozšířené frameworky (jako ty zmíněné)... Nyní to asi vyhrálo Nette uvidím jestli to nebyla chyba nenapsat si to raději podle sebe

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: