اپراتور پایپ PHP و خوانایی کد
خلاصهٔ کاملتر
نویسنده تو این مطلب سراغ اپراتور پایپ (|>) رفته؛ قابلیتی که با RFC نسخهٔ سوم به PHP اضافه شده و اجازه میده عملیاتها رو پشت سر هم و از چپ به راست زنجیر کنی. کاری که میکنه سادهست: نتیجهٔ عبارت سمت چپ رو مستقیم بهعنوان اولین پارامتر به callable سمت راست میده، بدون اینکه لازم باشه فراخوانیها رو تو هم فرو کنی یا متغیر موقت بسازی.
به گفتهٔ نویسنده، تفاوت اصلی تو نحوهٔ خوندن کده. حالت سنتی با فراخوانیهای تودرتو مجبورت میکنه کد رو از داخل به بیرون بخونی؛ اول باید تابع درونی رو پیدا کنی و بعد لایهلایه بیای بیرون. با پایپ از ورودی شروع میکنی و هر مرحله رو پشت سر هم دنبال میکنی، پس اضافهکردن، حذف یا جابهجاکردن مراحل هم بیدردسر میشه.
چند قانون ساده داره: هر callable باید دقیقاً یه پارامتر اجباری بگیره، داده از چپ به راست جریان پیدا میکنه و هر callable معتبر PHP — تابع، متد، کلوژر یا first-class callable — قابل استفادهست. سینتکس first-class callable در PHP 8.1 (همون ...) اینجا خیلی به کار میاد، چون بدون اجرای تابع یه ارجاع میسازه که مستقیم میشینه تو زنجیره.
محدودیت مهمش هم همینجاست: توابعی که چند آرگومان میگیرن باید تو یه کلوژر پیچیده بشن. برای همین RFC دیگهای به اسم Partial Function Application با هدف PHP 8.6 در دست کاره که علامت ? رو بهعنوان جایگذار معرفی میکنه تا مشخص کنی مقدار پایپشده کجا بشینه. جایگذارهای چندتایی، پشتیبانی از آرگومانهای نامدار و حالت واریادیک هم روی میز بحثه.
نویسنده تأکید میکنه این قابلیت دوم هنوز در حال بررسیه و برای هیچ نسخهٔ مشخصی قطعی نشده، ولی خودِ وجودش نشون میده تلاش برای بهترکردن توان برنامهنویسی PHP ادامه داره. سود اصلی پایپ هم به گفتهٔ او خوانایی بیشتر، نگهداری راحتتر و حذف متغیرهای موقته.
نکات کلیدی:
- اپراتور |> نتیجهٔ هر عبارت رو بهعنوان اولین آرگومان به callable بعدی پاس میده
- هر callable تو زنجیره باید فقط یه پارامتر اجباری داشته باشه
- خوانایی بهتر، جریان دادهٔ خطی و حذف متغیرهای موقت مزیتهای اصلیشه
- با سینتکس first-class callable در PHP 8.1 بهترین هماهنگی رو داره
- RFC مربوط به Partial Function Application با هدف PHP 8.6 میخواد محدودیت توابع چندآرگومانی رو برداره




