Struktura objektově orientovaného projektu a rozdělení model-view-controller – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Struktura objektově orientovaného projektu a rozdělení model-view-controller – PHP – Fórum – Programujte.comStruktura objektově orientovaného projektu a rozdělení model-view-controller – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
scrazzy0
Duch
22. 6. 2012   #1
-
0
-

Zdravím všechny,
aktuálně se snažím zjistit jakým způsobem nejlépe strukturovat objektově psaný PHP projekt. Neměl jsem štěstí abych na netu narazil na toto téma, proto jsem si jako původem javista definoval následující strukturu a zajímala by mne konstruktivní kritika a poznámky k funkčnosti ve složitějších projektech. Budu také rád za informace a odkazy na články týkající se tohoto tématu.

Rozdělení obsahu souborů na logiku, prezentace a modely:

xxx.php - (view) - tyto soubory obsahují pouze funkci require_once('xxx.cont.php') která do nich přidává jejich controller, kromě require obsahují již jen HTML kód, echa a printy proměnných. Myšlenka je maximálně oddělit HTML kód od logiky v kódu PHP.

xxx.cont.php- (controller)- tzv. controller klasické php stránky, zde je zapsána veškerá logika, výpočty, všechny includy, připojení k databázi atd. bez jakéhokoliv HTML kódu. taktéž obsahuje require_once funkce __autoload($class) která nahrává potřebné třídy.

xxx.class.php- (model)- soubor obsahuje pouze definici třídy objektu

*.inc.php - soubory obsahují php kód který se někde opakovaně vkládá, např. funkci __autoload($class) nebo nastavení pro různé databáze atd.

Dělení souborů v adresářích (již není tak podstatné):

/ (root webu) - obsahuje *.php stránky, které jsou určeny přímo uživateli
/class - obsahuje třídy objektů (*.class.php)
/controller - obsahuje controllery stránek z rootu webu (*.cont.php)
/inc - obsahuje include soubory s kódem který nemá jiné zařazení (*.inc.php)

V rootu je rovněž umístěn .htaccess soubor který zakazuje přístup k souborům .class.php, .inc.php a .cont.php.

Myslíte, že má taková struktura šanci obstát například v projektu intranetových stránek, či jiném složitém projektu? Kde vidíte slabiny či naopak výhody této struktury?

zdrojové kódy: https://dl.dropbox.com/u/44949615/oop.zip

Nahlásit jako SPAM
IP: 81.200.56.–
Reklama
Reklama
null_while
~ Moderátor
+6
Věrný člen
22. 6. 2012   #2
-
0
-

#1 scrazzy
Je zbytečné vsázet na vlastní strukturu souborů, pochopil si správně možná model MVC, ale na trhu je již několik ověřených, efektivních frameworků, které jsou jednoduché na pochopení a ohromě ušetří čas i práci. 

Osobně můžu doporučit Nette - viz http://nette.org/cs/

Nahlásit jako SPAM
IP: 84.16.103.–
Webnia.cz - tvorba webových stránek
Damian60
Duch
23. 6. 2012   #3
-
0
-

Pro představu jak má správně vypadat framework založený na mvc:

http://www.phpro.org/…ler-MVC.html

jinak je zbytečné znovu vynalézat kolo. Spíše se na nějaký zaměř a nauč se ho používat. 

Nahlásit jako SPAM
IP: 88.83.169.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Podobná vlákna

E-R model — založil alena

3D model — založil Aleš

Dicontainer a controller — založil panika

Logický model do CSV — založil 000ondra000

Phongov osvetlovací model — založil Gamecam

 

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