Erreur CakePHP

Par Skraf, il y a 9 ans


Bonjour,

Je viens vers vous parce que j'obtiens cette erreur:

Unable to emit response; headers already sent
RuntimeException

Sur CakePhP 3. j'essaie de mettre en place un système de langue via Ajax.
Tout marche bien, sauf avec le component que j'utilise.
Dès que je mets un

echo $this->Lang->get("Test");

Et bien j'obtiens l'erreur ci-dessus. Je précise que le component est bien appelé.
Voici le code de mon LangComponent.php:

<?php namespace App\Controller\Component; use Cake\Controller\Component; class LangComponent extends Component { public function get($name) { if (isset($name)) { if (isset($_COOKIE['MonProjet_Lang'])){ if (file_exists(ROOT . DS . 'Langs' . DS . $_COOKIE['MonProjet_Lang'] . '.json')){ $json = file_get_contents(ROOT . DS . 'Langs' . DS . $_COOKIE['MonProjet_Lang'] . '.json'); $decode = json_decode($json, true); return $decode[$name]; } } } } } ?>

Merci de votre aide,
Cordialement

4 réponses

Skraf, il y a 9 ans

Bonjour,
Merci de ton aide,
Mais comment renvoyer une réponse à l'action ? ^^

Merci de l'aide,
Cordialement

Lartak, il y a 9 ans

Bonsoir.
Où fais tu le echo $this->Lang->get("Test"); ?
Étant donné que les Components doivent être utilisé dans les Controllers, le fait que tu fasse un echo sur ton composant m'étonne beaucoup.

Kareylo, il y a 9 ans

la méthode get ne prendrait pas en paramètre un ID ?

Skraf, il y a 9 ans

Bonjour,
Le

echo $this->Lang->get("Test");

Je le fais dans mon controller.
Cordialement