<?php
var_dump(php_uname('s'));
$base_dir = sys_get_temp_dir() . DIRECTORY_SEPARATOR;
file_put_contents($base_dir . 'Baz.php', "<?php namespace Foo\Bar; class BAZ {}");
file_put_contents($base_dir . 'Buz.php', "<?php namespace Foo\Bar; class Buz {}");
require_once 'https://raw.github.com/php-fig/fig-standards/master/accepted/PSR-4-autoloader-examples.md';
// spl_autoload_register(function ($class) {
// // project-specific namespace prefix
// $prefix = 'Foo\\Bar\\';
// // base directory for the namespace prefix
// global $base_dir; # = __DIR__ . '/src/';
// // does the class use the namespace prefix?
// $len = strlen($prefix);
// if (strncmp($prefix, $class, $len) !== 0) {
// // no, move to the next registered autoloader
// return;
// }
// // get the relative class name
// $relative_class = substr($class, $len);
// // replace the namespace prefix with the base directory, replace namespace
// // separators with directory separators in the relative class name, append
// // with .php
// $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
// // if the file exists, require it
// if (file_exists($file)) {
// require $file;
// }
// });
$c1 = new \Foo\Bar\Baz();
$c2 = new \Foo\Bar\BAZ();
var_dump($c1 == $c2);
$c3 = new \Foo\Bar\BUZ();
$c4 = new \Foo\Bar\Buz();
var_dump($c3 == $c4);