ねっとぱんだ-プログラミング勉強ブログ-

Webデザイン、プログラミングの勉強ブログ。

【php】外部ファイルの読み込みと名前空間

外部ファイルの読み込み

require
エラー時にfatal errorとなって処理が止まる
require_once
一度読み込まれている場合、再度読み込まれることはない。
include
エラー時にWarningが出力されて処理は実行される
include_once
一度読み込まれている場合、再度読み込まれることはない。
require 'User.class.php';

autoload

引用:http://qiita.com/nogson/items/db15d6e35433154fce8e
自動でロードしてくれる仕組み。
引数に読み込めなかったクラス名が渡される。

spl_autoload_register(function($class){
    require $class . '.class.php';
});

名前空間

  • 読み込んだファイルの関数名などがバッティングしないようにする。
  • バックスペースで区切って階層化する事ができる。
namespace Test\Lib

読み込むときに階層を指定して読み込む

require 'User.class.php';
$bob = new Test\Lib\User('bob');
$bob->sayHi();

階層名が長くなる場合、別の名前に置き換えることが出来る

use Test\Lib as Lib;
$bob = new Lib\User('bob');
||