Raylar "respond_to"

2 Cevap php

Son zamanlarda Rayları dışında çalışıyorlar ve ben respond_to aşk geldi.

Bu istekleri farklı yanıt, PHP? Böyle bir şey yapmak mümkün. Yani javascript devre dışı olsa bile alternatif bir yol uygulamak kolaydır.

2 Cevap

Krule anlaşılacağı gibi dosya soneki'ne sevk edebilir, ama ben Raylar HTTP Accept başlığı (Content negotiation Wikipedia'da bakınız) değerini inceleyerek seçmek için hangi içerik türü belirler inanıyorum. Yalancı-kodda

$data = fetch_some_data();
switch (get_preferred_response_type($_SERVER['HTTP_ACCEPT'])) {
    case 'text/html':
       render_html($data); break;
    case 'application/xml':
       render_xml($data);
    case 'application/json':
       render_json($data);
    // etc...
}

get_preferred_response_type() function Accept başlık ayrıştırmak ve müşterinin tercih MIME türünü geri dönmek zorunda kalacak. Here başlamanıza yardımcı olmalıdır böyle bir fonksiyonun bir örneğidir; aksi takdirde content negotiation library sizin için tüm kirli işlerini yapar PHP için vardır.

Bu yardımcı olur umarım!

Ben Rails respond_to benzer bir şey yaptım son kez ben php değişkenleri GET işlemek amacıyla Apache. Htaccess RewriteRule kullanılır. Böyle bir şey:

RewriteEngine on
RewriteRule (\d*\.?\d*?).(html|json|xml|txt) /file.php?format=$1

I hope it helps at least a bit. Good luck.