I don't see any problem in mixing PHP with HTML. In fact, the MVC pattern forces you to do so (as opposed to most frameworks that state that the view should be HTML only). All I was asking is how to do it without creating a mess.
Now about your example: MVC fanatics state that the title shouldn't be outside the view, and to be honest this is the point that get me thinking about the entire practicality of using MVC. I'm not asking here as an MVC die-hard. On the contrary, I'm asking here becasue I'm losing faith in it, and wanted to see if it was doable (full view separation) in a practical manner. So far, I can't see any practical implementation that truely separates the view, and -at least in my mind- this casts doubt over the entire MVC pattern. The pattern requires full separation, which is not attainable in a practical manner. We can mix model into the view, title in the controller, and whatnot, but then we are not doing MVC. And at the end of the day, I care about getting my job done. Which brought me to the question: Why bother with MVC? On Mon, Jun 30, 2008 at 10:55 AM, Ammar Ibrahim <[EMAIL PROTECTED]> wrote: > > Let me give you an example, the title of the page is usually driven by > a business logic decision. Let's assume you are generating mobile and > normal version of your site, the title of the page would stay the > same, all you might do is supply a different CSS and maybe a different > HTML template. So setting the title of the page, IMHO is a controller > thingie. > > Now, what's wrong with using PHP & HTML together? If you separate > business logic from view? PHP *IS* a templating language. I don't see > the problem. > > On Mon, Jun 30, 2008 at 9:16 AM, Al-Faisal El-Dajani > <[EMAIL PROTECTED]> wrote: > > Anyone? > > > > To reiterate: Has anyone managed to implement MVC such that all view > related > > matters, and only view related matters are in the view? Without creating > a > > mess of php and html in the view? > > > > On Sun, Jun 29, 2008 at 9:09 AM, Al-Faisal El-Dajani > > <[EMAIL PROTECTED]> wrote: > >> > >> To use template variables you have to set them somewhere. Since the view > >> is a tpl file, you need to set them in the controller. Thus you broke > the > >> isolation between the view and the controller. > >> > >> True, You can use models from views, or set i18n strings in the > controller > >> or whatever. But my original question was if anybody managed to create a > >> *true* implementation of MVC. A true implementation of MVC means view > >> related stuff are only in the view, and since you need some form of > logic in > >> the view, you will need to intermix the tpl files with php code. Hence > my > >> original question of how to do this without creating a mess. > >> > >> The MVC design pattern/philosophy/guideline states that view related > stuff > >> are in the view, domain related stuff are in the model and > >> routing/dispatching and event handling are in the controller. If a > framework > >> does not follow this rule, then it is not an MVC implementation. You > might > >> have multiple different implementations of the singleton design pattern, > but > >> if any implementation allows you to have multiple instances, it is not > >> considered a different implementation, it's considered a) crap or b) not > a > >> singleton implementation. > >> > >> On Sun, Jun 29, 2008 at 1:10 AM, Ammar Ibrahim <[EMAIL PROTECTED] > > > >> wrote: > >>> > >>> > I base my judgement on this factor: Does the framework aggresively > >>> > force me > >>> > to separate into true MVC? > >>> > >>> This sentence is deeply flawed :). What is the definition of a "true > >>> MVC". MVC is a design pattern, and like any other design pattern, it > >>> has many implementations. > >>> > >>> > If not then it's a crap framework. If I can set > >>> > internationalization strings in the model, If I can set page titles > in > >>> > the > >>> > controller, or If I can call model functions from the view, the > >>> > framework is > >>> > crap. It should enforce clean MVC by preventing me from falling into > >>> > pitfalls where possible. > >>> > >>> I actually like using models from views, it's not necessarily a bad > >>> thing, and there are lots of arguments supporting that. MVC is not a > >>> religion, it's just a 'guideline' on how to write software. You are > >>> free to transform this guideline into a framework/software. But > >>> claiming that most frameworks are not true MVC is not very accurate. > >>> Every developer uses the framework that closely matches their needs, > >>> and style of programming. > >>> > >>> I think of MVC as a container that has 3 main sections, and lots of > >>> small drawers. I think of MVC frameworks as glue that puts everything > >>> together. The part that usually defines the framework is the > >>> controller. Hence, there are many frameworks that borrow the Model > >>> (e.g. a DB abstraction layer like PEAR). They might provide a generic > >>> interface for views; in a plugin API architecture, which allows you to > >>> use any view you like (e.g. Smarty, or plain old PHP). But the > >>> controller is almost always the unique identifier of an MVC. But then > >>> again, this is not always 100% correct, MVC is just a "philosophy" > >>> with a million interpretations. > >>> > >>> - Ammar > >>> > >>> > >> > >> > >> > >> -- > >> Al-Faisal El-Dajani > >> Phone: +962-7-79737050 > >> P.O Box: 140056 > >> 11814 Amman, Jordan > > > > > > -- > > Al-Faisal El-Dajani > > Phone: +962-7-79737050 > > P.O Box: 140056 > > 11814 Amman, Jordan > > > > > > > > > -- Al-Faisal El-Dajani Phone: +962-7-79737050 P.O Box: 140056 11814 Amman, Jordan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Jordan PHP Users Group" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/JoPHP http://Jolug.org/ -~----------~----~----~----~------~----~------~--~---
