2016-01-30 19 views
0

我不知道我怎麼能調用類App內的指數函數,一個例子:如何在文件加載時調用類中的索引函數?

用戶把這個URL在瀏覽器:www.application/controllers/application.php

文件application.php包含此:

<?php 

    Class App{ 

     public function index() 
     { 
      // do stuff.. 
     } 
    ... 

我希望當這個文件在瀏覽器中打開時,索引函數必須自動執行......我該如何做到這一點?

+0

你應該回去一步並重新閱讀MVC的工作原理。你在這裏混淆了控制器和操作。在控制器中請求動作「索引」,該類是控制器,並在其中調用函數「indexAction」。 – arkascha

+0

但我現在可以調用索引函數? –

+0

閱讀關於PHP的反思。這應該讓你開始:http://php.net/manual/en/book.reflection.php –

回答

0

您可以調用App實例的索引。

$app = new App(); 
$app->index(); 

但是,感覺這裏有些東西缺失。通常情況下,您將有一臺路由器根據用戶請求的路由處理實例化正確的控制器。

您可以使用上面的代碼手動實例化應用程序控制器和調用索引,但我認爲還是有一個缺失的部分。

+0

好吧。在這一點上,問題是:我可以自定義一個開源路由器嗎? –

+0

@SevengamesXoom是的,很多。但是你可能首先要看看整個框架。例如Laravel。 –

+0

我想使用純粹的PHP .. –

0

你必須實例App類的一個對象,並調用index方法直接:

<?php 

    Class App{ 

     public function index() 
     { 
      // do stuff.. 
     } 
    } 
    ... 

    $app = new App(); 
    $app->index(); 
0

撥打電話到指數內__construct()方法

<?php 

    Class App{ 

    function __construct(){ 
     $this->index(); 
    } 

    public function index() 
    { 
     // do stuff.. 
    } 

    new App(); 

然後實例應用();

相關問題