練習用に PHP で単純な RESTful API を作成しています。できるだけテスト可能なコードを書こうとしています。多くのチュートリアルを読み、いくつかのビデオを見た後でも、これをどのように設計するかについてまだ途方に暮れています.
基本的に、Router クラスをセットアップしました。これは、URL パスをコントローラー メソッドにマッピングする役割を果たします。
ルートを追加した後、ルーターの状態を簡単にテストできます。
しかし、respond() で適切な class->function(params) が呼び出されているかどうかをテストするにはどうすればよいですか?
私はPHPUnitを使用しており、モックについて読んでいます。このコンテキストでそれらを使用する方法がわかりません。
現在、respond() は指定されたパスとリクエスト メソッドを解析し、マップされたメソッドを呼び出します。
これが私の現在のデザインです:
private $routes;
public function __construct() {
$routes = array();
}
/**
* Gets all current routes
*/
public function getRoutes();
/**
* Sets all routes
*/
public function setRoutes($routes);
/**
* Routes GET request
*/
public function get();
/**
* Routes POST request
*/
public function post();
/**
* Routes PUT request
*/
public function put();
/**
* Routes DELETE request
*/
public function delete();
/**
* Sets up default paths for a given resource
*/
public function resource();
/**
* Respond to request
* @return mixed JSON of resource data
*/
public function respond($req_method, $request);
/**
* Returns mapped call info from request method and path
* @return mixed An array of the call and params
*/
private function parse($req_method, $request);