facebook twitter hatena line google mixi email

Php/namespace

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

名前空間はphp5.3よりサポート

  • User.php
namespace Model\Dao;
class User
{
    public function fetchAll()
    {
        print __METHOD__; // Model\Dao\User::fetchAll
    }
}
  • main.php
require_once __DIR__ . "/User.php";
use Model\Dao\User;
$user = new User();
$user->fetchAll();

とか

$user = new Model\Dao\User();
$user->fetchAll();

別の名前空間から呼び出す。

頭に\をつける

  • User.php
require_once __DIR__ . '/../Dao/User.php';
namespace Model\Logic;
class User {
    public function exec() {
        $dao = new \Model\Dao\User();
        $user = $dao->fetchAll();
    }
}
  • main.php
$user = new \Model\User();
$user->exec();

名前空間はエイリアスを使える

require_once __DIR__ . "/User.php";
use Model\Dao\User as DaoUser; // DaoUserが別名
$user = new DaoUser();
$user->fetchAll();