2013-12-11 2 views
0

Я полностью потерян с json и cakephp. я извлечение данных из базы данныхКак использовать json с cakephp

$this->loadModel('Config'); 
     $config = $this->Config->find('first',array(
       'fields' => array(
          'sitename', 
          'sitestatus', 
          'siteadminemail', 
          'sitehomepage', // homepage 
          'poststatus', 
          'postrssstatus', 
          'mailusesmtp', 
          'mailsmtpuser', 
          'mailsmtppw', 
          'mailsmtpport', 
          'mailsmtphosts', 
          'mailsmtpauth', 
          'mailcharset', 
          'mailencoding', 
          'sociaddthis', 
          'socifacebook', 
          'socifacebookuser', 
          'socitwitter', 
          'socitwitteruser', 
          'socilinkedin', 
          'socilinkedinuser', 
          'socigoogle', 
          'socigoogleuser' 
          ), 
       'conditions'=> array(
        'id'=>1 
       ) 
     )); 

Я хотел бы сериализации это в форму JSon. Моя цель - получить одно из этих значений где-нибудь в моем приложении cakephp. Например, в макете, контроллере, модели или представлении или компоненте.

Я видел некоторую информацию о json. Например, я красный, я должен добавить это в мой roote.php

Router::parseExtensions('rss','json'); 

Я добавил json. Затем на моем AppController я добавляю «RequestHandler» как compnents.

public $components = array(
     'Acl', 
     'Auth' => array(
      // For the ACL 
      'authorize' => array(
       'Actions' => array('actionPath' => 'controllers') 
      ), 
      'authError' => 'Pensiez-vous réellement que vous étiez autorisés à voir cela ?', 
      // Mets des condition au niveau de la validation d'authentificate 
      // Contient l'ensemble des methode d'authentification 
      'authenticate' => array(
       // Mehtode Form est utilisée 
       'Form' => array(
        // Defini les paramêtre scope. Ici défini que le compte doit est actif 
        'scope'=> array('User.active' =>1) 
       ) 
      ) 
     ), 
     'Session', 
     'Ctrl', 
     'RequestHandler' // Ajouté pour jSon 

    ); 

Но теперь я понятия не имею, как сериализовать $ configs и как использовать один из сериализованных json-данных.

У некоторых из вас есть пример, totu, help?

Многие благодарят всех вас

+0

Вы проверили эту ссылку: http://book.cakephp.org/2.0/ru/views/json-and-xml-views.html? – Prabhuram

+0

Да, но я не мог заставить свои задачи работать. Я новичок в этом вопросе – pierrot10

+0

Да, но я не мог заставить свои задачи работать. Я новичок в этой теме. Я думаю, что моя потребность немного другая. Мне не нужно использовать представление. Я хотел бы хранить данные из БД в формате json для использования в макетах, представлениях, компонентах, контроллерах и т. Д. Данные - это настройки веб-сайта, такие как Sitename, Sitestatus, Sitehomepage, Smtpstatus и т. Д. – pierrot10

ответ

0

объекта Serialize работать с ним в ваше мнение не имеет никакого смысла. Поскольку вы добавили json-router, кажется, что вы хотите отправить ответ клиенту как объект json и не работать с ним в файле вида. В этом случае это легко. В действиях вашего контроллера просто сделайте

public function getConfigAsJson() { 
    $config = $this->Config->find('first', ...etc...); 
    return new CakeResponse(array('body' => $config, 'type' => 'json')); 
} 

Для этого не требуется никакого файла просмотра. Отлично подходит, если у вас есть служба REST или вы хотите использовать вызовы ajax от вашего клиента к серверу.

Смежные вопросы