Si vous voulez parler d'enchaînement de méthodes comme en JavaScript (ou jQuery pour certains), pourquoi ne pas prendre une bibliothèque qui apporte cette expérience de développement en PHP ? Par exemple Extras - https://dsheiko.github.io/extras/ Celui-ci étend les types PHP avec des méthodes JavaScript et Underscore et fournit un chaînage :
Vous pouvez enchaîner un type particulier :
<?php
use \Dsheiko\Extras\Arrays;
// Chain of calls
$res = Arrays::chain([1, 2, 3])
->map(function($num){ return $num + 1; })
->filter(function($num){ return $num > 1; })
->reduce(function($carry, $num){ return $carry + $num; }, 0)
->value();
ou
<?php
use \Dsheiko\Extras\Strings;
$res = Strings::from( " 12345 " )
->replace("/1/", "5")
->replace("/2/", "5")
->trim()
->substr(1, 3)
->get();
echo $res; // "534"
Vous pouvez également opter pour la polymorphie :
<?php
use \Dsheiko\Extras\Any;
$res = Any::chain(new \ArrayObject([1,2,3]))
->toArray() // value is [1,2,3]
->map(function($num){ return [ "num" => $num ]; })
// value is [[ "num" => 1, ..]]
->reduce(function($carry, $arr){
$carry .= $arr["num"];
return $carry;
}, "") // value is "123"
->replace("/2/", "") // value is "13"
->then(function($value){
if (empty($value)) {
throw new \Exception("Empty value");
}
return $value;
})
->value();
echo $res; // "13"
1 votes
Je dirais que la plupart de ces questions, si ce n'est toutes, portent sur les aspects techniques du chaînage, alors que celle-ci porte plus spécifiquement sur la manière de le réaliser.
0 votes
@Kristoffer le PO aurait pu facilement trouver comment il est réalisé à partir de ces questions.
2 votes
@Kristoffer en outre, la recherche de enchaînement de méthodes php sur Google aurait donné au PO une tutoriel par Salathe comme tout premier résultat. Ça ne me dérange pas de répondre à des questions faciles, mais certaines personnes sont simplement trop paresseuses.
6 votes
Je vous le soumets pour que vous le lisiez, la méthode définitive de chaînage des arbres de décision