6

Would what mentioned in the title be possible? Python module style that is. See this example for what I exactly mean.

index.php

<?php
use Hello\World;
World::greet();

Hello/World.php

<?php
namespace Hello\World;
function greet() { echo 'Hello, World!'; }

Would this be possible?

izym
  • 143
  • 5

1 Answers1

5

Yes, have a look at the example of spl_autoload_register

namespace Foobar;

class Foo {
    static public function test($name) {
        print '[['. $name .']]';
    }
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0

new InexistentClass;

The above example will output something similar to:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...

Here is a link to a Autoloader builder, that

is a command line application to automate the process of generating an autoload include file.

Gordon
  • 312,688
  • 75
  • 539
  • 559
  • So it seems it's only possible to do with classes. I'll just have to live with that :) – izym Mar 26 '10 at 12:31