namespace modelos\Casa;
use common\Model;
class Casa extends Model
{
public function getId($id)
{
// Carga una casa por ID
return ['id' => 1, 'puertas' => 1, 'focos' => 5];
}
public function getAll()
{
// Carga DB y devuelve todas las casas
return [
['id' => 1, 'puertas' => 1, 'focos' => 5],
['id' => 2, 'puertas' => 1, 'focos' => 3],
['id' => 3, 'puertas' => 2, 'focos' => 8]
];
}
public function delete($id)
{
// Elimina un registro en la DB
return parent::delete($id);
}
public function save()
{
// Valida que todo sea correcto y devuelve un booleano
return parent::save();
}
}
我的控制器类似于:
namespace controladores\Casas;
use modelos\Casa;
use common\Controller;
header('Content-Type: application/json');
class Casas extends Controller
{
public function actionPost($id)
{
$casa = Casa::findId($id);
$casa->loadParams($_POST);
echo json_encode(['success' => $casa->save()]);
}
public function actionGet($id = null)
{
if (isset($id)) {
echo json_encode(Casa::getId($id));
} else {
echo json_encode(Casa::getAll());
}
}
/* Aquí el demás código */
}
第三个 部分你可以使用 JavaScript 和 HTML 处理它,其中 Js 将通过 AJAX 发送请求以获取结果并以友好的方式显示给用户。
REST(Representational State Transfer)是一种运行在 HTTP 之上的架构。
RESTful是指实现 REST 架构的 Web 服务。
在一个相当基本的示例(创建 RESTful 应用程序)中,我们有一个项目,我们在 PHP 和 MVC 架构中为房屋实现 CRUD,响应的结果将以 JSON 格式返回,但不是强制处理只有那种类型
Content-type
,它才能返回 HTML、文本等...我的模型将类似于:
我的控制器类似于:
第三个 部分你可以使用 JavaScript 和 HTML 处理它,其中 Js 将通过 AJAX 发送请求以获取结果并以友好的方式显示给用户。
可以向下面列出的具有相应 HTTP 状态的资源发出请求,控制器将负责响应每个请求。
附加信息:
REST(Representational State Transfer或Representational State Transfer)是一种软件架构风格,它不仅包括响应json,还可以响应xml等另一种数据交换格式。
但除了仅以 HTML 以外的交换格式进行响应之外,REST 还涉及其他概念,例如:
REST 比我刚才提到的要多得多,所以如果你多读一点关于 REST 到底是什么的知识,而不是孤立地认为 REST 仅用于响应 JSON 请求,那将是一件好事。
RESTful 通常用于指代运行 REST 架构的 Web 服务。
附加信息:
REST 是一种“架构风格”,它基本上利用了现有的 Web 技术和协议。
RESTful 通常用于指代这种架构的运行中的 Web 服务。