—-

Download the example code

—-

Step 1 – A basic setup

Lets get started. First create a directory structure.

/var/www/mvctest
|- controllers
|- static
|- views

Create a new virtual host ‘mvctest.localhost’, with ‘/var/www/mvctest’ as the DocumentRoot. Make sure AllowOverwrite is set to All, because where going to use a .htaccess file.

Next up is the controller class:
[SOURCE::mvctest/step1/controllers/HelloWorld.php::php]
When you browse to ‘http://mvctest.localhost/controllers/HelloWorld.php’, a controller object is created and index() is invoked, showing “Hello World”.

  5 Responses to “Without a framework: (M)VC”

  1. oops… I saw in the post “Perl like temporary variables in PHP”, you said personally you dislike MVC at all?
    confused

    ReplyReply
  2. Hi Jefflee,

    I think it is not really possible to dislike something you haven’t tried. I’ve tried MVC for a few projects and did not like it. Especially for websites it is doing more bad than good. Still my remark at the other post might be a bit to harsh. MVC might be a good strategy for other types of web-apps.

    Arnold
    PS. You’re reading my blog really closely. Kudos to you :)

    ReplyReply
  3. Hi Arnold,

    First of all, thank you very much for your post, altough I found very late. I think as you are, about ‘single file entry point’ and I searched about other ways to reach VC components only.

    I like your way. But I have some comments. Your .htaccess file is not working on my apache server. Therefore I used my .htacess as given below:

    RewriteEngine On
    RewriteRule ^$ /controllers/helloworld.php [QSA] [L]
    RewriteRule ^([^/\.]+)?$ controllers/$1.php [QSA]
    RewriteRule ^([^/\.]+)/([^/\.]+)?$ controllers/$1.php?action=$2 [QSA]
    RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$ controllers/$1.php?action=$2&var=$3 [QSA]

    If you are any advice about your .htaccess modification, I will be appreciated.

    And the another point for views. How can we use multiple template with your approach?

    Regards

    ReplyReply

 Leave a Reply

(required)

(required)

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

 

Questions? Just ask!

About the author

Hi, I'm Arnold Daniels. How nice that you like to know a bit more about little old me :).

I've spend a big part of my life behind a computer (and not playing games). I've learned a lot about databases, programming and system administration especially on. the LAMP stack (Linux, Apache, MySQL & PHP).

Have a look at what I'm working on now!
© 2012 Jasny · web development Suffusion theme by Sayontan Sinha