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

質問編集履歴

1

文章の修正

2018/01/03 21:05

投稿

Zoohomi
Zoohomi

スコア26

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,49 @@
7
7
 
8
8
  各ページの頭でincludeしているのですが、その際に相対パスではなく、サーバールート相対パスを使用しており、
9
9
 
10
+ ---
10
- /home/
11
+ home
11
- common/
12
+ |-common
12
- functions.php  <-関数ファイル
13
+ | |-functions.php  <-関数ファイル
14
+ |
15
+ |-hoge
16
+ |-fuga.php <-呼び出し側ファイル
17
+
18
+ ---
19
+
20
+ のような構造の場合
21
+ fuga.phpからは
22
+ ```php
23
+ include_once('../common/functions.php');
24
+ ```
25
+ ではなく
26
+ ```php
27
+ include_once($_SERVER['DOCUMENT_ROOT'] . '/common/functions.php');
28
+ ```
29
+ と読み込みます。
30
+
31
+ 理由としては、
32
+ どちらもディレクトリ構造は変更されないように設計しているつもりですが・・、
33
+ どちらかというと呼び出し側は階層を増やすなどでもしかすると今後階層が変わるかもしれません。
34
+ ですが、commonの様なフォルダは既存の階層を大きく変更する可能性は当方の構築するシステムでは少ないのです。
35
+
36
+ よって、サーバールート相対パスを採用しております。
37
+
38
+ ですがこれには問題がありまして、
39
+ Dwではこの読み込み方をすると、入力補完がされないのです。
40
+
41
+ 相対パスでの読み込みでは、
42
+ ```php
43
+ // functions.phpの中身
44
+ class test {
45
+ public static function funcA() {
46
+ return 'test';
47
+ }
48
+ }
49
+ ```
50
+ の場合、「te」などでCtrl+スペースを押下すると、「test functions.php」のように、予測変換?的な表示が出てきて、「test::」でCtrl+スペースすると、「funcA test functions.php」のように表示されていました。
51
+
52
+ ですが、サーバールート相対パスでの読み込みにしていると、この機能が使用できずとても不便です。
53
+
54
+ なにか解決策がありましたら、ご教授ください。
55
+ 宜しくお願いいたします。