CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

16 April, 2022

PHP Pipe Operator Package

 Programing Coderfunda     April 16, 2022     Laravel, Packages     No comments   

 PHP Pipe Operator is a package by Sebastiaan Luca that provides a userland implementation of the pipe operator in PHP. A recent RFC proposed this feature for PHP 8.1 but is declined with a majority "no" vote.

This package aims to bridge the lack of native pipe operator by taking a value and performing one or more actions on it:

1$subdomain = Pipe::from('https://blog.sebastiaanluca.com')
2 ->parse_url()
3 ->end()
4 ->explode('.', PIPED_VALUE)
5 ->reset()
6 ->get();
7 
8// "blog"

Under the hood, the Pipe class will call the native PHP methods such as parse_url(), end(), etc., however, using method chaining helps the readability of code and is potentially less error-prone than a one-liner or procedural code like the following:

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

When you need more flexibility, this package also supports custom closures and the use of class methods:

1// Closure
2Pipe::from('string')
3 ->pipe(fn(string $value): string => 'prefixed-' . $value)
4 ->get();
5 
6// Class-based methods
7Pipe::from('HELLO')
8 ->pipe([$this, 'lowercase'])
9 ->get();

You can learn more about this package, get full installation instructions, and view the source code on GitHub. The author also wrote about this package on his blog: Enabling PHP method chaining with a makeshift pipe operator.

  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • Run operations once after deployment with Laravel You can use the One Time Operations package for Laravel to run code that should only run once after deployment. With this package, you… Read More
  • ORM Caching Package for Laravel LaraCache is an ORM-based package for Laravel to create, update and manage cache items based on model queries. Using this package, you can … Read More
  • Laravel Run One Time Operations After Deployment With PHPYou can utilize the One Time Activities bundle for Laravel to run code that ought to just pursue once arrangement. With this bundle, you can make acti… Read More
  • A Collection of ISO standards as PHP Enums The PrinsFrank/standards package is a collection of standards as PHP Enums, such as ISO3166, ISO4217, ISO639, and more. Specifically, … Read More
  • Laravel Convert HTML Strings to Translation Functions HTML String Affixer is a package for Laravel to make projects multilingual. This package finds text strings in HTML and replaces them with … Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Vue3 :style backgroundImage not working with require
    I'm trying to migrate a Vue 2 project to Vue 3. In Vue 2 I used v-bind style as follow: In Vue 3 this doesn't work... I tried a...
  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh
    I had follow these steps to install an configure firebase to my cordova project for cloud messaging. https://medium.com/@felipepucinelli/how...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Chargebee Starter Kit for Billing in Laravel - 5/20/2025
  • Streamline Pipeline Cleanup with Laravel's finally Method - 5/18/2025
  • Validate Controller Requests with the Laravel Data Package - 5/19/2025
  • Deployer - 5/18/2025
  • Transform JSON into Typed Collections with Laravel's AsCollection::of() - 5/18/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda