• Czas czytania ~1 min
  • 24.08.2022

operator potoku PHP to pakiet autorstwa Sebastiaan Luca, który zapewnia implementację operatora potoku w PHP w przestrzeni użytkownika. niedawny RFC zaproponował tę funkcję dla PHP 8.1, ale został odrzucony większością głosów „nie”.

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

Pod maską Pipe< Klasa /code> wywoła natywne metody PHP, takie jak parse_url(), end() itp., jednak użycie łączenia metod pomaga w czytelności kodu i jest potencjalnie mniej podatne na błędy niż kod jednowierszowy lub proceduralny, taki jak ten:

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

Kiedy potrzebujesz więcej elastyczność, ten pakiet obsługuje również niestandardowe zamknięcia i użycie metod klas:

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

Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy na GitHubie. Autor napisał o tym pakiecie również na swoim blogu: Włączanie łączenia metod PHP z prowizorycznym operatorem potoku.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297