简体   繁体   中英

How do I pass information my a controller to a view in PHP (no framework)?

Using PHP, If I have a model (a class) where I various queries, whatever I need, and in my controller, I use myModel = new CustomerModel(); and later in the controller, say I call myMyodel in the controller (I know looks like codeigniter but I am not using a framework) to:

$data['query'] = myModel.OrderByLastName();

how do I pass that $data['query'] to a view, a separate .php page?

I don't wan to echo anything from my controller.

Also, was hoping this design, the way I explained it makes sense. Or am I wasting time with the model class?

Typically, you'd instantiate a view object:

$view = new View();

Pass it the info it needs():

$view->set($name1, $value1);
$view->set($name2, $value2);
...

Then invoke the view's renderer:

$view->render();

The way Django works is the controller basically renders a template using a templating system. It passes the data in Contexts, like this:

data['query'] = myModel.OrderByLastName();

context = {'data': data['query']}

page = loader.get_template('folder/template.phtml')

return render_to_page(page, context)

roughly.

Obviously, you're writing your own system so you've got some room on exactly how you implement it. I don't know if that's exactly what you want, but it might give you a workable idea.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM