پاسخ ها
هنگامی که مسیر یاب یک درخواست http تحویل یک کنترلر می دهد و آن را فراخوانی میکند، از آن انتظار دارد تا پس از انجام پردازش های لازم یک شئ از کلاس package\base\response را در نهایت برگرداند .
یک پاسخ می تواند انواع مختلفی داشته باشد .
صفحات وب
اگر شما یک شئ از کلاس view را در اختیار داشته باشید و قصد دارید تا آن را به کاربر نشان دهید، از متد setView کلاس response استفاده کنید و فریمورک پس از تمام شدن اجرای کنترلر آن را به کاربر نشان خواهد داد .
مثال
<?php
namespace packages\packagename\controllers;
use \packages\base\{controller, response, view};
use \packages\packagename\views;
class Main extends controller {
public function index(): response {
$view = view::byName(views\index::class);
$response = new response(true);
$response->setView($view);
return $response;
}
}
پاسخ به درخواست های Ajax و API
اگر شما از سمت مرورگر درخواستی ارسال میکنید و نیاز دارید تا سرور اطلاعات لازم را به فرم JSON و یا XML برگرداند، شما باید از متد setData کلاس response استفاده کنید .
این تابع در پارامتر اول مقدار آیتم و در پارامتر دوم( که حتما میبایست از جنس رشته باشد) کلید آن مقدار را دریافت میکند .
فریم ورک زمانی که در URL Parameter مقدار ajax=1 و یا api=1 را دریافت کند، این مقادیر را به مرورگر ارسال میکند .
مثال
<?php
namespace packages\packagename\controllers;
use \packages\base\{controller, response, http};
use \packages\packagename\state;
class API extends controller {
public function getCities(): response {
$response = new response(true);
$city = new state\city();
$city->where("state", http::getData("state"));
$city->orderBy("title_fa", "ASC");
$response->setData($city->get(), "cities");
return $response;
}
}