Bonjour à tous,
je teste l'intégration en continu avec Travis CI pour le plugin media mais je suis confronté à une erreur que je n'arrive pas à comprendre...
En testant sous PHP 5.4 et 5.5, j'ai une erreur assez bizarre qui apparait. En effet, j'ai ceci :
Parse error: syntax error, unexpected '.', expecting ']' in /home/travis/build/Romano83/CakePHP3-Media/tests/Fixture/MediasFixture.php on line 126
Or, si je regarde à cette ligne, j'ai ceci :
'file' => 'img' . DS . 'upload' . DS . '2015' . DS . '08' . DS . 'testHelper.png',
J'avoue que je ne comprends pas pourquoi le point de concatenation est reconnu comme une erreur sous PHP5.4 et PHP5.5 alors que ça passe avec PHP5.6.
De mémoire, j'ai déjà utilisé le point sous des versions antérieurs à 5.6...
Une idée ?
Romain
Salut, d'apres ce thread , tu ne peux pas declarer le contenus de tes variables en dehors du constructor ou d'autres methodes. Quand je copie toute ta classe dans PHPStorm, il me met tout le bloc apres $records =
en rouge.
La concatenation de Strings est realise a la compilation donc tu dois initialiser tes records dans la fonction init().http://book.cakephp.org/3.0/en/development/testing.html#dynamic-data-and-fixtures
Tout ceci est d'apres la doc et pas teste. Si ca fonctionne, je n'ai aucune idee de pourquoi ca fonctionne avec PHP5.6 et pas en dessous, j'imagine que ce systeme a ete modifie en PHP5.6.
merci prbaron pour ta réponse.
Je teste ça ce soir après le boulot.
D'après ce que tu dis, je ne peux pas déclarer mes variables en dehors du constructor. Dans ce cas là, la variable $fields
ne devrait pas passer elle non plus ?
De plus, ce qui est bizarre par rapport au lien vers la doc de CakePHP (j'avoue que je n'avais pas lu cette partie sur les fixtures), c'est que j'ai généré les fixtures avec la console de Cake. Théoriquement, elle devrait générer les fixtures comme dans la doc non ?
Merci à vous pour vos réponses !
Au moins, j'ai (encore) appris quelque chose aujourd'hui ;)