2016-03-22 41 views
2

我已經使用翻新來與php服務器通信我的應用程序。但我想直接調用PHP OO函數。如何使用Retrofit直接調用函數php android

這是我的PHP類:

class Car extends Obj { 

    public function __construct($name, $pathImg) { 
     parent::__construct($name, $pathImg); 
    } 

    function get() { 
     $engine = new Engine(55, 2016, '5.0'); 
     $brand = new Brand('MY BRAND', null); 
     $car = new Car('MY CAR', null, $brand, $engine); 

     header('Content-Type: application/json; charset=utf-8'); 
     echo json_encode(array('car' => $car)); 
    } 
} 

我改造的API應用程序:

@FormUrlEncoded 
    @POST("package/ctrl/Car/") 
    Call<Car> get(@Field("id") int id); 

是否有可能直接調用與改造的功能?或者使用其他API來做到這一點?

回答

1

請注意,我不是一個PHP傢伙。我認爲如果你能以某種方式從URL調用這種方法(谷歌稱它可以完成),這可能是可能的。然而,這是一個糟糕的做法 - 你會給任何用戶訪問權限來調用你的PHP函數。

無論如何,使用Retrofit註釋,您可以修改URL路徑,添加參數,插入正文等,但不能調用PHP函數。接口函數的名稱根本沒有意義。以正確的方式進行並提供像「package/ctrl/Car/{id}」這樣的端點,或像在普通的RESTful API中一樣創建POST請求。