Hello tout le monde aujourd'hui j'ai voulu tester le fameux plug in forum https://github.com/milesj/Forum/tags
J'ai bien galérer avec Composer et tout le tsoin tsoin c'était mas 1er fois ... Oo mais c'était cool !

Et la quand je pense avoir réussi a installer tous ce beau border j'ai un problem avec un dépendance de Utility

Decoda apparament si j'ai bien compris sert à gerer le BBCode , super utile pour les forums ! seulement voila j'ai une erreur car quand il lit la configuration il renvoie un tableau null --"

app\Plugin\Utility\Config\bootstrap.php

Configure::write('Decoda.config', array(
    'open' => '',
    'close' => ']',
    'locale' => 'en-us',
    'disabled' => false,
    'shorthandLinks' => false,
    'xhtmlOutput' => false,
    'escapeHtml' => true,
    'strictMode' => true,
    'maxNewlines' => 3,
    'lineBreaks' => true,
    'removeEmpty' => false,
    'paths' => array(),
    'whitelist' => array(),
    'blacklist' => array(),
    'helpers' => array('Time', 'Html', 'Text'),
    'filters' => array(),
    'hooks' => array(),
    'messages' => array()
));

Donc la traditionnel écriture dans le bootstrap qui est faite toute seule de base.
et voila ce qui mes rendu :

Error: Unsupported operand types    
File: C:\wamp\www\cakephp-cakephp-b47d357\app\Plugin\Utility\View\Helper\DecodaHelper.php   
Line: 40

Bon ça c'est normal car au moment de la lecture de la config le Configure::read() ne renvoie rien
\app\Plugin\Utility\View\Helper

public function __construct(View $view, $settings = array()) {
        parent::__construct($view, $settings);
    $settings = $settings + Configure::read('Decoda.config');
    #code...

Et forcément la fusion d'une valeur null et d'un tableau Php il sais pas faire puisqu'il dit que l'opérateur est apparemment incorrecte.
Cependant je pige pas pourquoi Configure::read('Decoda.config'); n'arrive pas à lire ça configuration qui contient pourtant bien des truck mes renvoie vide --"

Je touche au bout j'en appel aux saint Codeurs présent sur ce site Y_Y. J'avoue ça m'énerve --"

5 réponses


Archein89
Réponse acceptée

Salut,

Si tu regarde dans la duc du plugin Utility (http://milesj.me/code/cakephp/utility) tu vois qu'il utilise

CakePlugin::load('Utility', array('bootstrap' => true, 'routes' => true));

Il importe donc le bootstrap donc c'est "logique" que si tu n'appel pas ton plugin avec les bons arguments. ;)

Donc en copiant le contenu du bootstrap a la main tu as contourné le problème

Bien à toi,

Je crois que tu dois merge les tableaux:

$config = array_merge(
        Configure::read(Decoda.config),
        array(
            'open' => '',
            'close' => ']',
            'locale' => 'en-us',
            'disabled' => false,
            'shorthandLinks' => false,
            'xhtmlOutput' => false,
            'escapeHtml' => true,
            'strictMode' => true,
            'maxNewlines' => 3,
            'lineBreaks' => true,
            'removeEmpty' => false,
            'paths' => array(),
            'whitelist' => array(),
            'blacklist' => array(),
            'helpers' => array('Time', 'Html', 'Text'),
            'filters' => array(),
            'hooks' => array(),
            'messages' => array()
            )
        );
    Configure::write('Decoda.config',$config);
Polaris
Auteur

Nope aucun changement , ce qui est bizarre c'est que je suis pas censé toucher à ça devrait pas y avoir d'erreur normalement je vais tenter une nouvelle installe pour voir si c'est toujours pareil --"

Polaris
Auteur

Ah probleme résolut j'ai deplacer le contenue de

\app\Plugin\Utility\Config\bootstrap.php
a
app\Config\bootstrap.php

Mais j'ai pas vus une seule fois dans la doc que il fallait le faire ... Si quelqu'un peu m'expliquer la source du problème je serais preneur je sais pas pourquoi ça a résolu le soucis

Polaris
Auteur

Ah d'accord je connaissais pas ce principe d'importer les bootstraps donc chaque plugin qui utilise des dépendances procèdent de cette façon je suppose du coup ?

Merci pour ta réponse Marius je comprend mieux maintenant