回答編集履歴

2

具体例を追加

2016/06/09 13:26

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -5,6 +5,26 @@
5
5
  - [PHP Manual - クラスのオートローディング](http://php.net/manual/ja/language.oop5.autoload.php)
6
6
 
7
7
  - [Qiita - PHP で、spl_autoload_register を使って、require_once 地獄を脱出しよう](http://qiita.com/misogi@github/items/8d02f2eac9a91b4e6215)
8
+
9
+
10
+
11
+ ```php
12
+
13
+ // 例
14
+
15
+ spl_autoload_register(function ($classname) {
16
+
17
+ $path = __DIR__ . '/' . $classname . '.php';
18
+
19
+ if (file_exists($path)) {
20
+
21
+ require $path;
22
+
23
+ }
24
+
25
+ });
26
+
27
+ ```
8
28
 
9
29
 
10
30
 

1

補足

2016/06/09 13:26

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -12,10 +12,56 @@
12
12
 
13
13
 
14
14
 
15
+ - [PHP開発でComposerを使わないなんてありえない!基礎編](http://qiita.com/niisan-tokyo/items/8cccec88d45f38171c94#create-project)
16
+
15
17
  - [Qiita - PSR-4 autoloader (日本語訳)](http://qiita.com/inouet/items/0208237629496070bbd4)
16
18
 
17
19
  - [ngの日記 - Composer が PSR-4 に対応していた](http://ngyuki.hatenablog.com/entry/2014/01/09/203427)
18
20
 
19
21
 
20
22
 
21
- なおこの仕組みは,他者が提供しているライブラリを`composer install`でインストールした場合だけでなく,自分のプロジェクト内のファイルに対しても適用が可能です.`composer install`あるいは`composer update`のタイミングで,自分のプロジェクト内の各クラスに対するオートローダが定義されます.
23
+ この仕組みは,他者が提供しているライブラリを`composer install`でインストールした場合だけでなく,自分のプロジェクト内のファイルに対しても適用が可能です.`composer install`あるいは`composer update`のタイミングで,自分のプロジェクト内の各クラスに対するオートローダが定義されます.
24
+
25
+
26
+
27
+ なお大前提として,ディレクトリ構成からして変えたほうがいいかと思います.**HTTPでアクセスする必要のないファイルは公開ディレクトリの外に起きましょう.**例えば以下の例では`www`を公開ディレクトリとし,`http://example.com/archive.php`が`project/www/archive.php`に対応することを想定しています.
28
+
29
+
30
+
31
+ ```html
32
+
33
+ project
34
+
35
+ |--.git
36
+
37
+ |--composer.json
38
+
39
+ |--vendor
40
+
41
+ | `--autoload.php
42
+
43
+ |--class
44
+
45
+ | |--controller
46
+
47
+ | |--model
48
+
49
+ | `--view
50
+
51
+ `--www
52
+
53
+ |--css
54
+
55
+ |--img
56
+
57
+ |--js
58
+
59
+ |--archive.php
60
+
61
+ |--home.php
62
+
63
+ |--login.php
64
+
65
+ `--setting.php
66
+
67
+ ```