2017-02-14 49 views
0

我重構給予我的所有代碼和我在the're有許多重複的變量與其他方法腓Laravel通行證值等方法

使用的代碼看到這是本

$tag_id = json_decode($_POST['tag_id']); 
    $tag_name = json_decode($_POST['tag_name']); 
    $pname = json_decode($_POST['pname']); 
    $icode = json_decode($_POST['icode']); 
    $bname = json_decode($_POST['bname']); 
    $client = json_decode($_POST['client']); 
    $package = json_decode($_POST['package']); 
    $reference = json_decode($_POST['reference']); 
    $prodcat = json_decode($_POST['prodcat']); 
    $physical_array = json_decode($_POST['physical_array']); 
    $chemical_array = json_decode($_POST['chemical_array']); 
    $physpec_array = json_decode($_POST['physpec_array']); 
    $micro_array = json_decode($_POST['micro_array']); 
    $microspec_array = json_decode($_POST['microspec_array']); 
    $prod_type = json_decode($_POST['prod_type']); 
    $create_physical_id_array = json_decode($_POST['create_physical_id_array']); 
    $create_chemical_id_array = json_decode($_POST['create_chemical_id_array']); 
    $create_micro_id_array = json_decode($_POST['create_micro_id_array']); 

我的問題是我怎麼才能使用把它放在一個方法中,我只是將它稱爲其他方法,而不是重複該代碼。

謝謝

回答

1

您不能從其他方法調用它。因爲爲該方法定義的變量是局部的。相反,您可以將變量定義爲該類的成員變量,並根據訪問說明符從任何方法甚至外部類訪問。

protected $a=2; 
public function method1() 
{ 
    echo $this->a; 
} 
public function method2() 
{ 
    echo $this->a; 
} 
1

把它放在一個陣列

$post_array = []; 

foreach($_POST as $key => $value) 
{ 
    $post_array[$key] = json_decode($value); 
} 
return $post_array; 

,然後調用它像這樣

$post_array['create_micro_id_array']; 
0

由於看來你非常瞭解你要使用的變量名的......我會建議PHP Variable variables 要做到這一點,你可以遍歷您$_POST和處理價值,同時使用的關鍵作爲變量名稱。

foreach($_POST as $key => $value) 
{ 
    $$key = json_decode($value); 
} 

在這一天結束,這4條線路會產生這一切...但是我不那麼肯定的是如何友好它可能會出現給別人看代碼。試一試。

0

您可以嘗試extract函數。

extract($_POST);