私はphpクラス、RegistrationController、
<?php
class RegistrationController extends ParentController {
function __construct() {
parent::__construct();
echo 'We are inside RegistrationController';
}
public function register() {
$name = $_GET['name'];
echo "<li> We will register soon, $name </li>";
}
}
?>
このような URL を介して登録メソッドにアクセスしています [参考までに、.htaccess で RewriteEngine を使用しています]
http://localhost:8888/Service/RegistrationController/register?name=Owl
質問
これで、すべて正常に動作します。計算を要求するときに、クエリにこれらの?name=Owl
変数が設定されていることを確認するだけです。
Web サービスはWeb ブラウザーからアクセスできません。これは、モバイル アプリケーション用に作成したい単純なサービスです。アプリケーションは、詳細 (var) 以外は変更せずに、この URL をそのまま呼び出します。
では、クラスの関数内で $_GET や $_POST してもいいのでしょうか? スケーラブルまたは保守可能ですか?
追加情報
私はさまざまなコントローラーのメソッドを非常に一般的な方法で呼び出しているため、Bottstrap では、この関数を呼び出すだけで、コントローラーのメソッドを数行で呼び出すことができます。
private function handleMethodCallOn($controller, $url) {
//check if the URL has specified any method to call
if(isset($url[1])) {//URL has been exploded earlier to get content
if(method_exists($controller, $url[1])) {
$controller->{$url[1]}();//HERE I am calling any function
} else {
$error = new error_404();
}
}
}