Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.520 pregleda

Najnovija ↓

Kako napravit MVC pattern 30.03.2012. u 19:19 · pre 177 meseci #1
Pozdrav!

krenuo sam da pravim mvc pattern al ne znam dal je ovo ispravno sto radim.

Napravio sam foldere

controllers
--about.php
models
views
--about.php
libraries
--Bootstrap.php
--Loader.php
--Controller.php
index.php

ovo mi je index.php
Code:

<?php

error_reporting(E_ALL);

$base_path = dirname(realpath(__FILE__));
$base_path = str_replace('\\', '/', $base_path);

define('BASE_PATH', $base_path . '/');

require BASE_PATH . 'libraries/Controller.php';
require BASE_PATH . 'libraries/Bootstrap.php';

$application = new Bootstrap();



Bootstrap.php
Code:

<?php

class Bootstrap {

    function __construct() {

        $url = isset($_GET['url']) ? $_GET['url'] : null;
        $url = rtrim($url, '/');
        $url = explode('/', $url);

        if (empty($url[0])) {
            require BASE_PATH . 'controllers/index.php';
            $controller = new Index();
            $controller->index();
            return false;
        }

        $file = BASE_PATH . 'controllers/' . $url[0] . '.php';

        if (file_exists($file)) {
            require $file;
        } else {
            exit('Stranica ne postoji');
        }

        $controller = new $url[0]();

        if (isset($url[2])) {
            if (method_exists($controller, $url[1])) {
                $controller->{$url[1]}($url[2]);
            } else {
                exit('Stranica ne postoji');
            }
        } else {

            if (isset($url[1])) {
                if (method_exists($controller, $url[1])) {
                    $controller->{$url[1]}();
                } else {
                    exit('Stranica ne postoji');
                }
            } else {
                $controller->index();
            }
        }
    }
}


Loader.php
Code:

<?php

class Loader {

      public function view($file_name, $data = null) {
            if (is_array($data)) {
                extract($data);
            }
            require BASE_PATH . 'views/' . $file_name . '.php';
      }

      public function model($file_name) {
            require BASE_PATH . 'models/' . $file_name . '.php';
      }
}



Controller.php
Code:

<?php

class Controller {

         public $load;

         function __construct() {
               $this->load = new Loader();
         }
}




i sad kad ocu npr napravit stranicu u about.php
Code:


<?php

class About extends Controller {

        function __construct() {
               parent::__construct();
        }

         public function index() {
               $data = array('title' => 'About');
               $this->load->view('about', $data);
         }

}




views/about.php
Code:

<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<h1>About</h1>
</body>
</html>




Dali je ovo dobro vako?

Dali neko zna kakav dobar tutorijal za mvc?


Hvala
Potpis
www.artwebdizajn.com
Re: Kako napravit MVC pattern 31.03.2012. u 13:31 · pre 177 meseci
izmenjeno 1 put, poslednji put alfa-pro 31.03.2012. u 14:42
  1. alfa-pro31.03.2012. u 14:42zapis iz teksta poruke
#3
Kakav MVC okvir? Nerazumem pitanje, budi malo precizniji? Ja vec duze vreme iskljucivo forsiram mvc i hmvc ali za okvir nisam cuo nikada bas me zivo zanima sta je?..

Preporucujem ti ovaj tutorijal za kreiranje sopstvenog mini framework-a, iz 12 delova, kojeg je napisao Fabien Potencier, autor Symfony framework-a. Jako je dobar tutorial i moze ti pomoci dosta.

http://fabien.potencier.org/ar...the-symfony2-components-part-1

I sto se tice kontrolera, pogledaj kako su oni uradili celu klasu i kako se koristi.

http://framework.zend.com/manual/en/zend.controller.html

Ovo tvoje mi lici na Codeigniter FW.
Potpis
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
Re: Kako napravit MVC pattern 31.03.2012. u 13:48 · pre 177 meseci #4
@alfapro: sebe nazivaš profesionalcem a nisi čuo za okvir? ccccc

@blacksword: prijateljski savet - mani se izrade svog MVC sistema, sigurno ga nećeš napraviti dovoljno dobrim kao što su ga napravili mnogo iskusniji, pogledaj dokumentaciju za CodeIgniter, Kohana, Yii. Tu ćeš saznati sve što ti treba.
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Kako napravit MVC pattern 31.03.2012. u 14:41 · pre 177 meseci #5
Ti si neki pametan a i corav, gde sam ja sebe nazvao profesionalcem?

Nisam cuo i sta je tu problem?

Lepo kaze moj kolega da ste vi sa ES samo TEORETICHARI....

@blacksword: Ako hoces da naucis i sebe da usavrsavas onda ga radi, mani se ovih copy,paste teoretichara.... Rutina je bitna
Potpis
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
Re: Kako napravit MVC pattern 31.03.2012. u 15:15 · pre 177 meseci #6
Opušteno, zezam te, zato sam i dodao ono 'cccccc'.
Nešto nalik na ovo: http://www.elitesecurity.org/t32362-lt-input-type-checkbox-name

A sad ozbiljno, gradnja svog frejmorka/MVCa/CMSa je lep zadatak ali:
1. oduzeće mu mnogo vremena,
2. sigurno će doći u situaciju da mora da menja nešto iz osnova jer nije u startu pretpostavio da će naići na neki problem, opet vreme,
3. sigurnost i stabilnost neće biti na nivou kao što je kod ovih gotovih proizvoda čiji kod je pregledalo mnogo više ljudi

Dakle, u edukativne svrhe - da, ili ako pravi nešto za sebe, ali zaboleće ga glava ako bi da se vežba na tuđem sajtu.
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Kako napravit MVC pattern 04.04.2012. u 10:40 · pre 177 meseci #8
Ne obaziri se na zlonamerne komentare i php-web programere koji ne znaju HTML i da iscitaju podatke iz baze.
Ili koji klikcu po Joomli i Wordpressu.

Dobro je ono sto si napravio i dobro si nazvao jer FW ne mora obavezno biti MVC.
Bitno je da ti je Model, View i Controller odvojen.
View ti sluzi za ispisivanje podataka, Model za obradu a Controller za tok programa.

Miroslav ti je naveo dobre i dovoljne razloge zasto da ne pravis svoj FW.

Ali u edukativne svrhe ako budes pravio svoj FW zasnovan na MVC arhitekturi pomocice ti da shvatis sustinu
i kasnije ces sigurno biti bolji programer nego neko ko je web programiranje poceo da uci od pola, koji je odmah poceo da uci tudji FW
bez analize zasto neke stvari rade kako rade.
Tako ces npr. zbeci da ti jednostavan sajt koji ima par tekstova i slika pojede 128Mb memorije jer ces znati sta se u pozadini desava
jer si napravio sajt sa logikom a ne mehanicki uklapao kodove.
Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme