开发者

Used logic in view, how to get it out

For a project I used some logic in my view, this is not the way to go so I want to get it out.

The problem is that it can't be done from a class method of my model because Zend will make 10000 of queries from 10000 of instances to the database and it becomes very slow.

So I have to do it on a way that it loads all data at once, then processes it and returns the data back to the view. In my view it works the wa开发者_运维百科y I do it, the only problem is that it is IN the viewfiles.

What is the way to go? Just make a class in the model that inputs the values and returns required data?

Thanks


Here is the way i would go to display data from a MVC perspective

Controller

function someAction(){
    $someTable = new Model_DbTable_SomeTable();
    $allData = $someTable->fetchAll();

    $arrayFormattedData = DataProcessor::process($allData);

    $this->view->data = $arrayFormattedData;
}

You have to do your logic processing in a model (in the example above its done in the static class DataProcessor throught the process method (Not neccessarly the way to go, but it could be a good start)

View

echo $this->dataParser($this->data); // using a view helper to parse data to be displayed

or

echo $this->partialLoop('partialLoop.phtml', $this->data); // using the partial loop view helper built in in ZF

Finally, you should try to make your models as flexible as possible to make them reusable which is the key in oop development.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜