17.07.2025

22

Development

22

Έρχεται ο Pipe Operator στην PHP 8.5

main-image

Το PHP Pipe Operator είναι ένα πακέτο του Sebastiaan Luca που παρέχει μια υλοποίηση του pipe operator στη γλώσσα PHP. Ένα πρόσφατο RFC πρότεινε αυτή τη λειτουργία για την έκδοση PHP 8.1, αλλά απορρίφθηκε με πλειοψηφία "όχι" στην ψηφοφορία.Αυτό το πακέτο στοχεύει να καλύψει το κενό της έλλειψης εγγενούς pipe operator, παίρνοντας μια τιμή και εκτελώντας μία ή περισσότερες ενέργειες πάνω της:

$subdomain = Pipe::from('https://blog.sebastiaanluca.com')
->parse_url()
->end()
->explode('.', PIPED_VALUE)
->reset()
->get();
// "blog"

Εσωτερικά, η κλάση Pipe καλεί τις εγγενείς μεθόδους της PHP όπως parse_url(), end(), κλπ., όμως η χρήση method chaining βοηθάει στην αναγνωσιμότητα του κώδικα και είναι πιθανόν λιγότερο επιρρεπής σε σφάλματα σε σχέση με μια one-liner ή διαδικαστικό κώδικα όπως ο παρακάτω:

$subdomain = 'https://blog.sebastiaanluca.com/';
$subdomain = parse_url($subdomain, PHP_URL_HOST);
$subdomain = explode('.', $subdomain);
$subdomain = reset($subdomain);

Όταν χρειάζεστε περισσότερη ευελιξία, αυτό το πακέτο υποστηρίζει επίσης custom closures και τη χρήση μεθόδων κλάσης:

// Closure
Pipe::from('string')
->pipe(fn(string $value): string => 'prefixed-' . $value)
->get();
// Class-based methods
Pipe::from('HELLO')
->pipe([$this, 'lowercase'])
->get();

Μπορείτε να μάθετε περισσότερα για αυτό το πακέτο, να βρείτε πλήρεις οδηγίες εγκατάστασης και να δείτε τον πηγαίο κώδικα στο GitHub. Ο δημιουργός έγραψε επίσης για αυτό το πακέτο στο blog του: Ενεργοποιώντας το method chaining στη PHP με έναν αυτοσχέδιο pipe operator.

Scroll to top