Nasıl kontrol üzerinden bir model yöntemler diyorsunuz?

0 Cevap php

Ben daha iyi anlamak için öğreticiler arıyor oldum, ama hayır şans yaşıyorum. Uzun explination affet, ama ben de kendimi açıklamak emin olun istiyorum.

Ben öğreticiler yapıyor ve ben olabildiğince iyi öğrenme edilmiş olsa ilk ben, MVC yapısına oldukça yeniyim.

Ben Zend Framework modeli bir canlı sitesi üzerinden hareket edilmiştir. Şimdiye kadar, ben views / scripts / index / example.phtml içinde tüm görüşlere sahip.

Yani dolayısıyla ben bir IndexController kullanıyorum ve her sayfa için her Eylem yönteminde kodu vardır: IE public function exampleAction()

Ben bir model ile etkileşim nasıl bilmiyordum çünkü, ben denetleyicisi altındaki (şişman bir kontrolör) tüm yöntemleri koymak.

Yani temelde, ben bir görünüm ve denetleyicisi ve hiçbir modelini kullanarak bir çalışma site vardı.

...

Şimdi Model dahil öğrenmek için çalışıyorum.

Yani bir görünüm yarattı:

view/scripts/calendar/index.phtml

Ben yeni bir Denetleyicisi oluşturuldu:

controller/CalendarControllers.php

ve yeni bir model olarak:

model/Calendar.php

Sorun (Ben hala OOP yeniyim) doğru modeli ile iletişim değilim düşünüyorum.

Sen benim denetleyicisi ve modeli üzerinden bakmak ve bir sorun görürseniz bana söyleyebilir.

I) runCalendarScript (bir dizi dönmek gerek değilim, ama ben çalışıyorum gibi nesnenin içine bir dizi dönebilirsiniz emin değilim? Gerçekten kontrolörün runCalendarScript () "çalıştırmak" için nasıl anlamıyorum?

Herhangi bir yardım için teşekkür ederiz! Ben kısalık uğruna yöntemlerin bağırsaklar en sıyırma ediyorum:

denetleyicisi:

<?php

class CalendarController extends Zend_Controller_Action
{

    public function indexAction()
    {
        $finishedFeedArray = new Application_Model_Calendar(); 

  $this->view->googleArray = $finishedFeedArray;
    }
}

Model:

   <?php

    class Application_Model_Calendar
    {

 public function _runCalendarScript(){
     $gcal = $this->_validateCalendarConnection();
     $uncleanedFeedArray = $this->_getCalendarFeed($gcal);
     $finishedFeedArray = $this->_cleanFeed($uncleanedFeedArray); 

     return $finishedFeedArray;

 }


    //Validate Google Calendar connection
    public function _validateCalendarConnection()
    {
     ...
        return $gcal;
    }


    //extracts googles calendar object into the $feed object
    public function _getCalendarFeed($gcal)
    {
     ...
     return $feed;
    }

    //cleans the feed to just text, etc
    protected function _cleanFeed($uncleanedFeedArray)
    {
 $contentText = $this->_cleanupText($event);
        $eventData = $this->_filterEventDetails($contentText);

 return $cleanedArray;
     }

     //Cleans up all formatting of text from Calendar feed
     public function _cleanupText($event)
     {
 ...
 return $contentText;
      }



       //filterEventDetails 
       protected function _filterEventDetails($contentText)  
        {
             ...
             return $data;
 }
    }

Düzenleme: kodu benim biçimlendirme çok çirkin görünümlü tutar neden üzgün bilmiyorum ...

0 Cevap