簡體   English   中英

在PHP鏈中使用Variable作為方法來允許條件方法鏈

[英]use Variable as methods in PHP chain to allow conditional method chaining

有條件建立鏈條的方法嗎? 例:

$chain = $restaurant->allFoods()->$filter->get();

然后$filter是動態的或有條件地設置

if ($user == "vegetarian")
{
    $filter = "->onlyVegetables()";
}

因此,如果滿足條件,則鏈條將變為:

$chain = $restaurant->allFoods()->onlyVegetables()->get();

其他

$chain = $restaurant->allFoods()->get();

這可能嗎? 這個叫什么? 謝謝

是的,通過方法__get / __ call的重載,取決於是否需要將參數傳遞給過濾器。

<?php
function __get($user) {
  if($user == 'vegetarian') {
    return $this->onlyVegetables();
  }
  return $this;
}

http://php.net/manual/en/language.oop5.overloading.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM