「Php/composer/psr-4」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==psr-4とは== クラスをオートローディングするための仕様 ==composer.jsonに以下追加== "autoload": { "psr-4": { "myapp\\": "src/"...」) |
|||
(同じ利用者による、間の5版が非表示) | |||
行3: | 行3: | ||
==composer.jsonに以下追加== | ==composer.jsonに以下追加== | ||
− | + | { | |
− | + | "autoload": { | |
− | + | "psr-4": { | |
− | + | "myapp\\": "src/" | |
− | + | } | |
+ | } | ||
+ | } | ||
+ | |||
+ | ==composer更新== | ||
+ | $ composer update | ||
==サンプル== | ==サンプル== | ||
− | src/ | + | 以下のようにrequire_once不要で読み込める |
+ | |||
+ | src/MainService.php | ||
namespace myapp; | namespace myapp; | ||
− | class | + | class MainService |
{ | { | ||
public function execLogic() | public function execLogic() | ||
{ | { | ||
− | $sub = new | + | $sub = new SubService(); |
$sub->execLogic(); | $sub->execLogic(); | ||
} | } | ||
} | } | ||
− | src/ | + | src/SubService.php |
namespace myapp; | namespace myapp; | ||
− | class | + | class SubService |
{ | { | ||
public function execLogic() | public function execLogic() | ||
{ | { | ||
} | } | ||
+ | } | ||
+ | |||
+ | ==外部クラス読み込み== | ||
+ | { | ||
+ | "autoload": { | ||
+ | "classmap": [ | ||
+ | "database", | ||
+ | "/var/www/html/Hoge" | ||
+ | ], | ||
+ | "psr-4": { | ||
+ | "App\\": "app/" | ||
+ | } | ||
+ | }, | ||
} | } |
2018年3月2日 (金) 17:52時点における最新版
psr-4とは
クラスをオートローディングするための仕様
composer.jsonに以下追加
{ "autoload": { "psr-4": { "myapp\\": "src/" } } }
composer更新
$ composer update
サンプル
以下のようにrequire_once不要で読み込める
src/MainService.php
namespace myapp; class MainService { public function execLogic() { $sub = new SubService(); $sub->execLogic(); } }
src/SubService.php
namespace myapp; class SubService { public function execLogic() { } }
外部クラス読み込み
{ "autoload": { "classmap": [ "database", "/var/www/html/Hoge" ], "psr-4": { "App\\": "app/" } }, }