-1

クラスを自動読み込みしようとしていますが、オートローダが正しく登録されていないようです。PHP - 登録時にオートローダが動作しないEDIT

Folder/File structure

**zest.php** a.thing.php

  • zest.php
    • <?php 
          $aThing = new a; 
          $aThing->test(); 
      
          function my_autoloader($class) { 
           include 'aest/' . $class . '.thing.php'; 
          } 
      
          spl_autoload_register('my_autoloader'); 
      ?> 
      

      **a.thing.php**

      <?php 
      class a { 
          public function test() { 
           echo 'test'; 
          } 
      } 
      

      私はそれと間違っているものを、まっすぐphp.netからこの例を引っ張りますか?

      オートローダー機能がまったく呼び出されません。

      それはanoymous機能である場合でもない:

      spl_autoload_register(function($class) { 
          echo 'calling '.$class; 
          include 'aest/'.$class . '.test.php'; 
      }); 
      
+0

正常に動作するはずです。何かエラーがありますか?それをデバッグしようとすると、あなたは適切な経路にいますか? – vaso123

+0

@lolka_bolka 'Class '' not found ...'はエラーです。 'var_dump(getcwd());'は、何もしません。つまり、レジスタが機能していないことを意味しますが、なぜそれを見つけることができません。無名関数も登録されていません... – kgongonowdoe

+0

あなたは 'include 'aest /'にタイプミスがあると思います。 $クラス。 '.thing.php'; 'それは' east 'を含む必要があります。 $クラス。 '.thing.php'; ' – MAZux

答えて

0

Ughh ... spl_autoload_register('AutoLoader')が自動的にロードする必要があるクラスをインスタンス化する試みがなされる前に呼び出されることがあります。

関連する問題