Kako poceti sa kreiranjem frameworka?

Naslov sve govori.

Koji pattern koristiti?
Kako poceti?

Muci me to pitanje kako poceti, koji fajl prvi kreirat…

Index.php :smiley:

Ako mene pitaš, nemoj raditi framework. Nikad neće dostići neki današnji. Probaj naći, bila je jedna tema dobra.

[quote=“Gosaric”]Index.php :smiley:

Ako mene pitaš, nemoj raditi framework. Nikad neće dostići neki današnji. Probaj naći, bila je jedna tema dobra.[/quote]

Ne radim za javnost, radim za sebe, vježbam se… Sto ide u index.php. Koje klase se u indexu pozivaju? :o

Preporuka: skini si codeigniter il ikohanu ili cakephp ili tako neki popularniji framework i prouci ga…

Što bijaše na početku? Riječ:derese:

Za početak napravi framework koji ništa drugo ne radi nego ispisuje neki tekst kada se listaju stranice.
No napravi tako da dodavanjem svake nove klase/file se kreira odmah i ta nova stranica.
Napravi template engine tako da možeš sve linkove uređivati na jednom mjestu.

E kad to napraviš, vrati se, smisliti ću što dalje:)

[quote=“gorrc”]Što bijaše na početku? Riječ:derese:

Za početak napravi framework koji ništa drugo ne radi nego ispisuje neki tekst kada se listaju stranice.
No napravi tako da dodavanjem svake nove klase/file se kreira odmah i ta nova stranica.
Napravi template engine tako da možeš sve linkove uređivati na jednom mjestu.

E kad to napraviš, vrati se, smisliti ću što dalje:)[/quote]

Napravio sam ovo:
u index fajlu se samo poziva klasa Dispatcher, koja provjerava URL.
index.php?c=kontroler&m=metoda&a=argumenti
a to je preko .htaccess localhost/kontroler/metoda/argumenti

Kada je pozvan kontroler, u folderu controllers se pregledava postoji li fajl s imenom controllera, ako ima, klasa se instancira. Ali Dispatcher gleda samo klase koje su nastavljene na klasi Controller, tako da se nebi zabrkalo s modelima…
U controlleru, metoda index() je index.php stranica, a ostale metode su ostale podstranice… Template engine imam, on se otvara ovako:
[php]
$varijable = array(‘nesto’ => ‘neki tekst’);
$this->template->render(‘trazeni_templejt’, $varijable);

// $nesto = ‘neki tekst’[/php]

A kada se oce jedan controller povezat s drugim controllerom/modelom, u konstruktor se stavi:

Sustav autorizacija. Znaći login, no bez forma, to ti ne sada treba.
Samo klasa koja će spremati podatke o korisniku kroz sesiju i moći će se pozvati gdje treba.
Ovo mora biti Singleton, odnosno mora postojati samo jedna istanca.

Znaći da korisnik može pozvati.

UserManger::isUserLogin(); // provjera dali je korisnik logiran.
itd…

[quote=“gorrc”]Sustav autorizacija. Znaći login, no bez forma, to ti ne sada treba.
Samo klasa koja će spremati podatke o korisniku kroz sesiju i moći će se pozvati gdje treba.
Ovo mora biti Singleton, odnosno mora postojati samo jedna istanca.

Znaći da korisnik može pozvati.

UserManger::isUserLogin(); // provjera dali je korisnik logiran.
itd…[/quote]

Napravio sam i to… Ali ne kuzim “singleton pattern”… ja instanciram klase ovako:

[php]
// makeInstance
function mI($folder, $className)
{
if (file_exists($folder.’/’.$className.’.php’))
{
$class_name = strtolower($className);
$this->$class_name = new $className();
}
else
{
die(‘Class you are searching does not exists.’);
}
}
[/php]

Singleton da može biti samo jedna instanca od te klase.
Pogledaj PHP singleton.
Ovo bi trebao staviti u core filelove, to ne loadiraš na isti način kao controller.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja