teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/04/18 00:55

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,2 +1,24 @@
1
1
  何が正しいとかはありません。
2
- 要件や仕様、設計次第です。
2
+ 要件や仕様、設計次第です。
3
+
4
+ -----
5
+ もうちょっと具体的に上記意図を説明すると、
6
+ 関数はechoは当然としてreturnも必須ではないので、「returnすらない」ということだってありえます。
7
+ オブジェクト指向をきちんと学んでいくと分かりますが、クラスを作ってもそこにはメソッドがないとか(継承などで対応)、ザラにあります。
8
+
9
+ 特にPHPで疎かりなりがちなのが「型」の概念です。
10
+ 他の多くの言語では、引数も返却値も変数ですらも型指定が必須です。
11
+ お手軽にツールが作れるVBAですらそうなっています。
12
+
13
+ PHPにも「[引数の型指定](https://www.php.net/manual/ja/functions.arguments.php#functions.arguments.type-declaration)」「[返却値の型指定](https://www.php.net/manual/ja/functions.returning-values.php#functions.returning-values.type-declaration)」ができるようになっています。
14
+
15
+ ※書いてて気づきましたが、「指定」というより「宣言」としたほうが正しいですね。
16
+
17
+ より厳格な設計・実装をするためには受け取る情報、返す情報の型もきちんと決めることが望ましいです。
18
+ それと同じく、**returnするかしないか、必要か否か 全体の設計から考え、適切に情報を取り扱う必要がある**という意図で、最初の回答をしました。
19
+
20
+ 「情報を他でも扱う可能性がある」ならreturnすることもありますし、扱い方によってはreturnではなく外からプロパティを参照することもある。
21
+
22
+ echoも何かを達成するための手段の1つにしかすぎません。
23
+
24
+ なので「場合による」という答えになります。