Heim > php教程 > php手册 > [PHP] Implementierung des automatischen Ladens

[PHP] Implementierung des automatischen Ladens

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-08-08 08:49:51
Original
1160 Leute haben es durchsucht

基于psr的规范,使用命名空间和spl_autoload_register()来实现自动加载

文件结构:

|--Api
  |--Account.php
  |--User.php
|--Service
  |--Login.php
  |--User.php

|--Application.php

Application.php

<?<span style="color: #000000;">php
</span><span style="color: #0000ff;">use</span><span style="color: #000000;"> Api\User;
</span><span style="color: #0000ff;">use</span> Service\User <span style="color: #0000ff;">as</span><span style="color: #000000;"> User2;
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Application{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> main(){
        self</span>::<span style="color: #000000;">registe();
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> User();
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> User2();
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> registe(){
        spl_autoload_register(</span>"Application::loadClass"<span style="color: #000000;">);
    }
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> loadClass(<span style="color: #800080;">$class</span><span style="color: #000000;">){
        </span><span style="color: #800080;">$class</span>=<span style="color: #008080;">str_replace</span>('\\', '/', <span style="color: #800080;">$class</span><span style="color: #000000;">);
        </span><span style="color: #800080;">$class</span>="./".<span style="color: #800080;">$class</span>.".php"<span style="color: #000000;">;
        </span><span style="color: #0000ff;">require_once</span> <span style="color: #800080;">$class</span><span style="color: #000000;">;        
    }
}
Application</span>::main();
Nach dem Login kopieren

Api\User.php

<?<span style="color: #000000;">php
namespace Api;

</span><span style="color: #0000ff;">use</span><span style="color: #000000;"> Service\Login;
</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> User{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "User类<br/>"<span style="color: #000000;">;
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Login();
        </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Account();
    }
}</span>
Nach dem Login kopieren

Api\Account.php

<?<span style="color: #000000;">php
namespace Api;

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Account{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "Account类<br/>"<span style="color: #000000;">;
    }
}</span>
Nach dem Login kopieren

Service\Login.php

<?<span style="color: #000000;">php
namespace Service;

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> Login{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "Login类<br/>"<span style="color: #000000;">;
    }
}</span>
Nach dem Login kopieren

Service\User.php

<?<span style="color: #000000;">php
namespace Service;

</span><span style="color: #0000ff;">class</span><span style="color: #000000;"> User{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> __construct(){
        </span><span style="color: #0000ff;">echo</span> "Service下的User类<br/>"<span style="color: #000000;">;
    }
}</span>
Nach dem Login kopieren

结果:

 

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage