julien-boudry / Condorcet

Command line application and PHP library, providing an election engine with a high-level interface. Native support 20+ voting methods, easy to extend. Support simple elections with ease or billions of votes in low resource environment. Intensively tested and highly polyvalent.
https://www.condorcet.io
MIT License
119 stars 11 forks source link

Syntax Error L.1123 -> Condorcet.php #9

Closed letournj closed 10 years ago

letournj commented 10 years ago

Parse error: syntax error, unexpected '[' in C:\xampp\htdocs\condorcet\lib\Condorcet\Condorcet.php on line 1123

return $this->getResult($algo)[1] ;

julien-boudry commented 10 years ago

Hi,

Please confirm that:

Else, can you give me more contextuals elements ?

letournj commented 10 years ago

J'essaie de l'intégrer dur un cakephp, condorcet v0.14. Php 5.3 sur mon serveur local

Envoyé à partir de mon smartphone Sony Xperia™

---- Boudry Julien a écrit ----

Hi,

Please confirm that:

You using Condorcet 0.14, or specify the versionYour PHP version is 5.5 or older

Else, can you give me more contextuals elements ?

— Reply to this email directly or view it on GitHub.

julien-boudry commented 10 years ago

Condorcet supporte PHP 5.5 et plus, ce qui pourrait-être une explication même si cette erreur de syntax est à priori surprenante.

J'avoue ne jamais avoir poussé les tests d'intégration aux Frameworks, mais la façon dont sont géré les espaces de nom et Composer fait que ça devrait aller. Du moins l'erreur rapportée ne semble pas indiquer de problème de ce coté là.

Tiens moi au courant :)

julien-boudry commented 10 years ago

C'est très probablement la version PHP, en effet.

Il n'y a pas de Trait dans la 0.14, ce sera pour la 0.15 qui comportera de très importants changements internes* (mais peu d'impacts sur l'API existante). Par contre oui, je ne me suis pas privé pour utiliser des fonctions et comportements de PHP 5.4 et 5.5 ; même si je ne les ai pas recensé.

'*' : Les vote et Candidat seront des objets, que l'on pourra faire participer à plusieurs élections simultanées ; et qui auront leur propre historique (possibilité de modification de vote, de nom etc....). Voir la branche Testing, mais ce n'est absolument pas documenté à cette heure.

letournj commented 10 years ago

D'accord. Je vais tester ça et je te tiendrai au courant. Merci beaucoup

Envoyé à partir de mon smartphone Sony Xperia™

---- Boudry Julien a écrit ----

C'est très probablement la version PHP, en effet.

Il n'y a pas de Trait dans la 0.14, ce sera pour la 0.15 qui comportera de très importants changements interne* (mais peu d'impacts sur l'API existante). Par contre oui, je ne me suis pas privé pour utiliser des fonctions et comportement de PHP 5.4 et 5.5 ; même si je ne les ai pas recensé.

: Les vote et Candidat seront des objets, que l'on pourra faire participer à plusieurs élections simultanées ; et qui auront leur propre historique (possibilité de modification de vote, de nom etc....). Voir la branche Testing, mais ce n'est absolument pas documenté à cette heure.

— Reply to this email directly or view it on GitHub.

julien-boudry commented 10 years ago

Trouvé dans la doc PHP :


<?php
function getArray() {
    return array(1, 2, 3);
}

// Depuis PHP 5.4
$secondElement = getArray()[1];

// Avant PHP 5.4
$tmp = getArray();
$secondElement = $tmp[1];

// ou
list(, $secondElement) = getArray();
?>
letournj commented 10 years ago

Je vais essayer merci beaucoup

Envoyé à partir de mon smartphone Sony Xperia™

---- Boudry Julien a écrit ----

Trouvé dans la doc PHP :

<?php function getArray() { return array(1, 2, 3); } // Depuis PHP 5.4 $secondElement = getArray()[1]; // Avant PHP 5.4 $tmp = getArray(); $secondElement = $tmp[1]; // ou list(, $secondElement) = getArray(); ?>

— Reply to this email directly or view it on GitHub.

julien-boudry commented 10 years ago

Poir la suite, je t'invite à créer un de nouvelles issues que te taguerai en "question" pour discussion. Voir l'intégration de mon projet et des testeurs m'intéresse !

Tu peux voir mon propre service : http://www.condorcet-vote.org pour un example d'intégration vraiment très poussée de la solution. Le code du service exploitant vraiment très en profondeur les possibilités de la librairie, non pas juste pour calculer les votes mais aussi pour les gérer et exploiter le cache sur les résultats.

Eventuellement, je pourrai te partager une class intéressantes pour wrapper ça, que j'ai conçu pour l'occasion.