Bir CakePHP çerçevesinde kullanılacak, böylece varolan bir PHP kütüphanesi dosya dönüştürmek için nasıl?

0 Cevap php

PHP olmayan Kek biçiminde, şu anda bir cazibe gibi çalışır olağan PHP kodlama bu kütüphanesi var. Bir Kek çerçevesinde kullanmak gerekir. Kitaplık dosyası aşağıdaki gibidir: (örnek ekstre)

<?php

// REST API functions

function sendAction($itemurl, $itemimageurl, $sessionid, $userid, $rating=""){

    global $someapiwebsiteURL, $apiKey, $tenantId;
    $somewebsiteAPI = $someapiwebsiteURL.$action."?apikey=".$apiKey.
                                                                 .....
                ................
    }


    //Codes extract


?>

Bunu yapmanın birkaç yolu geldim. Şu anda karıştı, nasıl benim Kek çerçeve içine bu kitaplık dosyası yerleştirmek için gidiyorum?

  1. App :: import ()
  2. Datasource

Yukarıdaki kütüphane dosyasındaki fonksiyonları (ben görünümü ile çıkış verileri işlemek için benim Kontrolörleri birinde kullanılan olurdu gerekiyordu).

(Örnek ayıklanır): Şu anda olmayan Kek çerçeve yapısı içinde çalışan, görünümü sayfa gibi olduğunu

<?php
// my view page

$viewResponse = sendAction($itemdescription ,$itemurl , $itemimageurl,$sessionid,$userid);

//sample code only
?>

Hem dosyalar iyi çalışıyor. CakePHP çerçevesinde koyarak mantığı burada sorundur. Herkes şiddetle fazla bir veri kaynağı üzerinde çalışma olmadan bunu yapmanın "" yol önerebilir? Biz tam olarak nasıl bunu yapısı, App / modelleri / DataSource'ları / bir veri kaynağı kullanmak zorunda kalırsanız? Gibi, örneğin, veri kaynağı dosyasındaki, biz kütüphane işlevleri içerir mi? ya da burada bulunan bazı genel kalanı veri kaynağı dosyası: CakePHP ReST datasource. Ben veri kaynağı üzerinde yemek kitabı bölüm ile gitti ve biz bizim database.php de veri kaynağı tanımlamak zorunda anlıyorum, ama birisi (ya da yerine getirmeye veri kaynağı veya uygulamayı :: ithal kullanarak tarzlarını hakkında kesin ise) yöntemi ile paylaşın lütfen ettik Daha fazla bilgi?

UPDATE:

Merhaba Lionel!, Doldurma için teşekkürler. Şey, aslında kullanıcıların görünümü eylem tıklayın: function görünümü () {} Benim foods_controller içinde. Benim foods_controller benim görünüm işlevini eklemeniz burada bazı komut dosyaları ekte veriyorum bu yüzden belki de daha kolay yardımcı olmak için yardımcı olabilir. Teşekkürler ..

function view($id = null) {
        if (!$id) {
            $this->Session->setFlash(__('Invalid food', true));
            $this->redirect(array('action' => 'index'));
        }
        $this->set('food', $this->Food->read(null, $id));       
    }
  • Görünümü eylem send_action fonksiyonunu, (bir kullanıcı gıdalar denetleyicisi görünüm sayfası her tıkladığında) tetikler. Yani her zaman, bir kullanıcı görünümü eylemi tıkladığında, onun (dinamik değişkenler): Kullanıcı kimliği, oturumkimliği, o sayfanın itemid, url, itemdescription; (Timerange değer "HEPSİ" statik bir dize değeri), ve herhangi bir (vb), şimdiye kadar sadece bu değerler kullanılabilir varsa: Gönder Eylem işlevi "parametreler" olarak kullanılacaktır. Ne yazdı kodları neler yapabileceğini yakındır. Haklısın. Biz gıdalar denetleyicisi görünümü içindeki Gönder Eylem function () içermelidir dışında?

  • Biz dinamik Eğer ikinci kodunuzu (sizin product_controller gelen kodu, örneğin) değiştirmek, yukarıdaki nokta belirtilen değişkenleri olabilir doldurarak bakmak böylece aynı zamanda dinamik değişkenleri almaya çalışırsa? (Eğer son güncellemede sordu: parametreleri almak için nasıl ..)

  • Sadece açıklığa kavuşturmak için.

    1. Bir kullanıcı sayfasını görür. Gönderme eylemi verileri toplar ve API gönderin. Biz zaten kütüphanede (ACME.php) olarak işlevini çağırarak yaptığım gibi. Mümkünse (* sadece güncelleme için bekleyen, teşekkürler.
    2. Gıdalar denetleyici işlevi görünümünde () in: Ek bir arama da var. Bu (2) ikinci çağrı:

$recommendResponse = getRecommendations("otherusersviewed", $itemId, $userId);

İkinci arama verileri alır (2) ikinci işlevi orada oluşur hangi ACME.php kitaplık dosyasını çağıran, işte burada: (bu çalışma düzeni içinde, ama sadece yaptığı gibi ortak bir statik fonksiyonu haline değiştirilmesi gerekiyor . (1) ilk fonksiyonu, bu çok kodunu değiştirmek için lütfen yardım eder misiniz?:

function getRecommendations($recommendationType, $itemId, $userId){

    // sample code similar to the first one.
}

İşte ona hepsi bu. Bu, normal PHP formatında oldukça basit görünüyor, ve kolayca çalışır, ancak bir MVC framweork üzerine almak bazıları için biraz zor, benim için çok. Lionel yardım için teşekkürler. :-)

P.S. Lionel Merhaba, ben değişikliklerden sonra kütüphanede eksik bir şey fark? Biz bu var aslında Bakın:

$somewebsiteAPI = $someapiwebsiteURL.$action."?apikey=".$apiKey.

$SomeWebsiteAPI ve $SomeApiWebsiteURL için değişkenler farklıdır, bak. Ben bir şey mi kaçırdım? daha verimli bu yüzden veya değiştirdiğiniz? I-$SomeWebsiteAPI adlandırılan değişken $link adlandırılan değişken olmak için modifiye edilir görüyoruz? ve değişken $SomeApiWebsiteURL $url, ben haklıyım, adlandırılmış değişkene değiştirilir? .. Teşekkürler.

Teşekkürler, saygılarımla. John Maxim

0 Cevap