Ionut Stoica

Programator PHP / Frontend developer / Pasionat de Electronica Auto
27Jun

Crearea unui CMS simplu OOP & MVC & Nice URL`s – Part 2

Structura aplicatiei

In final structura aplicatiei va arata cam asa:
www
- Config
-- .htaccess
-- database.ini
-- application.ini
-- module-name.ini
- Controllers
-- module-name
--- indexController.php
--- otherController.php
--- altreileaController.php
- Models
-- tabel1Model.php
-- tabel2Model.php
- Helpers
- Lib
-- Controller.php
-- ErrorHandler.php
-- Model
--- Row.php
--- Collection.php
-- View.php
- index.php
- .htaccess

Config:
Contine fisiere .ini protejate prin .htaccess in care sunt tinute setari diverse (baza de date, setarile modulelor etc).

Controllers:
Contine directoare cu numele modulelor. In interiorul acestora vom avea pentru fiecare tip de control (pentru moment doar index) cate un fisier cu nume generic controlController.php (in cazul de fata indexController.php).
Acest fisier contine o singura clasa numita Index_Controller ce exinde clasa parinte Controller (definita in Controller.php din directorul “Lib”).

Models:
Acest director va contine cate un model pentru fiecare tabel din baza de date cu care se lucreaza. Acestea pot extinde fie clasa de Rand (Row) fie cea de Colectie (Collection). In principiu trebuie sa contina cel putin o variabila “protected” numita generic Table.
Pe baza acestei variabile, clasa parine va stii cu ce tabel din baza de date sa lucreze.

Helpers:
Dupa cum ii spune si numele, acest director cuprinde clase generice ce nu au legatura cu MVC-ul (spre exemplu clase ce tin de formatarea HTML, Validarile input-urilor, generarea de form-uri, grafice, etc). Aceste fisiere le vom incarca in autoloader inainte de orice altceva. De obicei sunt clase cu functii statice, ce nu au nevoie de initializare.

Lib:
Directorul Lib contine librariile principale (Model, View, Controller) si clasa pentru error handling (fiind OOP vom folosi exception pentru a manevra erorile).

index.php
Ca orice aplicatie, trebuie sa avem un punct de start, acesta este fisierul index.php ce va contine cateva linii de cod (5-20linii).

 

 

Multumesc pentru atentie…
Va urma…

Comments(0)

Leave a comment

Your email address will not be published.Field is required

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 Previous  All works Next