/ / PHPを参照渡しまたは値渡しするための命名規則はありますか? -PHP、命名規則

参照渡しや値渡しでPHPパスを行う命名規則はありますか? - PHP、命名規則

私は次のような関数を書くことができます:

public function removeRubbishTag(&$aString)

また、私はこのような機能を持つことができます:

public function removeRubbishTag($aString)

しかし、パラメータを注意深く見ると、他人を混同しやすい。 PHPコミュニティには、変数がpassByReferenceか値かを簡単に伝えるための命名規則がありますか?ありがとうございました。

回答:

回答№1は1

残念ながら、これらの領域の一貫性はPHPの強力なスーツではありません。しかし、一般的にあなたの質問に対する答えは「いいえ、標準的な慣習はありません」です。

サイドノート:

参照渡しは参照渡しとまったく同じではないという事実により、事態はさらに複雑になります。

$a = array(1,2,3);
function mutate($b){array_push($b, 1); $b = 2; echo $b;}
mutate($a);
var_dump($a); // notice that array is not altered here.

出力:

2
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}

これながら:

$a = array(1,2,3);
function mutate(&$b){array_push($b, 1);}
mutate($a);
var_dump($a); // notice that array is altered here.

出力:

2
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(1)
}

この:

$a = array(1,2,3);
//reassigning a reference changes the original value!
function mutate(&$b){array_push($b, 1); $b = 2; echo $b;}
mutate($a);
var_dump($a);

出力:

2
int(2)

そして

$a = new stdClass();
$a->a = "a";
// but... modifying an object will always result in the modification:
function mutate($b){$b->a = "B!"; $b = 2; echo $b;}
mutate($a);
var_dump($a);

出力:

2
object(stdClass)#1 (1) {
["a"]=>
string(2) "B!"
}

回答№2の場合は0

PHPの関数に送信される変数の命名標準を見たことはありません。PHPのコーディング標準については、PEARコーディング標準を参照できます。 http://pear.php.net/manual/en/standards.php

ただし、これに関する変数の命名規則については言及されていません。


回答№3の場合は0

命名規則はありません。特にb / cは、オブジェクトと同様に、refによるパスが暗黙的である場合があります。