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

質問編集履歴

4

訂正

2016/09/29 14:54

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -106,6 +106,6 @@
106
106
 
107
107
  ご存じの方いれば、教えてくださいm(__)m
108
108
 
109
- #加筆・訂正
109
+ #加筆・訂正履歴
110
110
 
111
111
  - 2016/09/29 23:50 test.phpの追加と非修飾名、修飾名、完全修飾名の訂正

3

加筆・訂正の追記

2016/09/29 14:54

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -39,7 +39,7 @@
39
39
  <?php
40
40
  namespace test\suzuki;
41
41
  function getGreeting() {
42
- return 'こんばんは';
42
+ return 'こんにちは';
43
43
  }
44
44
  ```
45
45
 
@@ -104,4 +104,8 @@
104
104
  ということは、useを使う場合は先頭にバックスラッシュを付けることはないということでよろしいでしょうか?
105
105
 
106
106
 
107
- ご存じの方いれば、教えてくださいm(__)m
107
+ ご存じの方いれば、教えてくださいm(__)m
108
+
109
+ #加筆・訂正
110
+
111
+ - 2016/09/29 23:50 test.phpの追加と非修飾名、修飾名、完全修飾名の訂正

2

test\.phpの追加と非修飾名、修飾名、完全修飾名の訂正

2016/09/29 14:54

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -2,45 +2,84 @@
2
2
 
3
3
  PHPマニュアルの説明で不明な点があり、教えてください。
4
4
 
5
- まず、名前空間へアクセスする方法は、非修飾、修飾、完全修飾の3つがあり、それぞれ下記の認識でおります。
5
+ まず、名前空間へアクセスする方法は、非修飾形式、修飾形式、完全修飾形式の3つがあり、それぞれ下記の認識でおります。
6
6
 
7
- #非修飾
7
+ #非修飾形式
8
8
 
9
9
  ディレクトリ構造で言うとこの同ディレクトリ内からの指定。
10
- 下記のように`\`を含まない指定です。
11
10
 
11
+ `test.php`は下記のように記述しています。
12
+
13
+ ```php
14
+ <?php
15
+ namespace test;
16
+ function getGreeting() {
17
+ return 'おはよう';
18
+ }
12
19
  ```
20
+
21
+ 別のファイルの `index.php`からは下記のように関数へアクセスします。
22
+
23
+ ```php
13
24
  <?php
14
25
  namespace test;
15
26
  require_once 'test.php';
16
27
  echo getGreeting();
17
28
  ```
18
29
 
19
- #修飾
30
+ このように `\` を含まない指定が非修飾形式です。
20
31
 
32
+ ###修飾形式
33
+
21
34
  ディレクトリ構造で言うところのドキュメント相対パス。
22
- 下記のように途中に`\`を含む指定です。
23
35
 
36
+ `test.php`は下記のように記述しています。
37
+
38
+ ```php
39
+ <?php
40
+ namespace test\suzuki;
41
+ function getGreeting() {
42
+ return 'こんばんは';
43
+ }
24
44
  ```
45
+
46
+ 別のファイルの `index.php`からは下記のように関数へアクセスします。
47
+
48
+ ```php
25
49
  <?php
26
50
  namespace test;
27
51
  require_once 'test.php';
28
52
  echo suzuki\getGreeting();
29
53
  ```
30
54
 
55
+ このように途中に`\`を含む指定が修飾形式です。
31
56
 
32
- #完全修飾名
33
57
 
58
+ #完全修飾形式
59
+
34
60
  ディレクトリ構造で言うところのルート相対パス。
35
- 下記のように`\`を先頭に記述した指定です。
36
61
 
62
+ `test.php`は下記のように記述しています。
63
+
64
+ ```php
65
+ <?php
66
+ namespace test\tokyo\suzuki;
67
+ function getGreeting() {
68
+ return 'こんばんは';
69
+ }
37
70
  ```
71
+
72
+ 別のファイルの `index.php`からは下記のように関数へアクセスします。
73
+
74
+ ```
38
75
  <?php
39
76
  namespace test;
40
77
  require_once 'test.php';
41
- echo \tokyo\suzuki\getGreeting();
78
+ echo \test\tokyo\suzuki\getGreeting();
42
79
  ```
43
80
 
81
+ このように`\`を先頭に記述した指定が完全修飾形式です。
82
+
44
83
  #PHPマニュアルの説明
45
84
 
46
85
  [名前空間の使用法: エイリアス/インポート](http://php.net/manual/ja/language.namespaces.importing.php)の「例1 use 演算子によるインポート/エイリアス」の説明です。

1

タイポ

2016/09/29 14:51

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  #質問2
62
62
 
63
- 説明では「インポートする名前は・・・」とありますが、エイリアスの場合でも同様に完全修飾形式で指定なければならないということでよろしいでしょうか?
63
+ 説明では「インポートする名前は・・・」とありますが、エイリアスの場合でも同様に完全修飾形式で指定なければならないということでよろしいでしょうか?
64
64
 
65
65
  ということは、useを使う場合は先頭にバックスラッシュを付けることはないということでよろしいでしょうか?
66
66