log > PHP The Right Way

  • Daemonって守護神って意味だったのか。悪魔(demon)かと思ってた。
  • PHP The Right Way, 昨日の続き。
    • PSR-4になってるのは知ってたけど、autoloadのこと(WAFとかで使ってるけど)よくわかってない。
      • 調べた結果、オレオレautoloadが大量に見つかり、めんどくさくなってcomposer使うことにした。
        • Composerが2011/04/03〜。spl_autoload_registerをつかったものが2012あたりに大量に書かれてるけど、何かあったのかな。
      • たぶん、こんな感じで読み込める。
        • 最初IBMのページでnamespaceをいろいろ試してたから、こうなってる。
        • 小規模かつ個人開発ならautoload使わずにrequireしてもいいと思う。
          • ケースバイケース
// composer.json
{
    "autoload": {
        "psr-4": {
            "Obrian\\": "src/obrian/",
            "Barbarian\\": "src/barbarian/"
        }
    }
}

// ディレクトリ以下の配置
.
├── composer.json
├── composer.lock
├── composer.phar
├── index.php
├── src
│   ├── barbarian
│   │   └── Conan.php
│   └── obrian
│       └── Conan.php
└── vendor
    ├── autoload.php
	(省略)

// index.php
<?php

require_once "vendor/autoload.php";

use \Barbarian\Conan;
use \Obrian\Conan as ObrianConan;

$conan = new Conan();
echo $conan->bodyBuild . PHP_EOL;

$obConan = new ObrianConan;
echo $obConan->bodyBuild . PHP_EOL;

// src/obrian/Conan.php
<?php

namespace obrian;

class Conan
{
    public $bodyBuild = "very skinny";
}

// src/barbarian/Conan.php
<?php

namespace barbarian;

class Conan
{
    public $bodyBuild = "extermely muscular";
}