apituto
1.0.0
api_teste.sql ). Ich verwende die vorhandenen Konfigurationen in app/config/ für Datenbankkonfigurationen und für die einfache Verwendung von Modell und ModelsManager .public/index.php (oder in der Anwendungsstartstrap ) und ersetzt die Standardform der Anwendung I Die Micro() -Anwendung, die eine schnelle Leistungsanwendung ermöglicht und auch die Verwendung von APIs ermöglicht. | Erhalten | Get ($ id) | Post | Setzen | Löschen | |
|---|---|---|---|---|---|
| DATEN | Gibt alle zurück | Gibt einen zurück | Neue Daten einfügen | Ändert vorhandene Daten | Entfernt vorhandene Daten |
Nach dem Erstellen des Projekts müssen wir die folgenden Schritte ausführen:
public/index.php vor use PhalconMvcMicro; und bezeichnete die Anwendung als Micro -Anwendung, $app = new Micro($di); ;app/config/config.php ändern.index.php sollten wir das folgende Entwicklungsskelett verwenden: $app = new Micro($di);
// Utiliza a API e através do método GET, RETORNA TODOS OS DADOS.
$app->get(
"/api/dados",
function () use ($app) {
}
);
/*
* Utiliza a API e através do método GET, RETORNA APENAS UM DADO.
* Nota: Ele receberá como GET um ID que terá um tratamento através do ':[0-9]+'
* permitindo assim que o mesmo seja somente do tipo INTEIRO.
*/
$app->get(
"/api/dados/{id:[0-9]+}",
function ($id) use ($app) {
}
);
// Utiliza a API e através do método POST, INSERE UM NOVO DADO.
$app->post(
"/api/dados",
function () use ($app) {
}
);
// Utiliza a API e através do método PUT, ALTERA UM DADO EXISTENTE respeitando o tratamento do ID.
$app->put(
"/api/dados/{id:[0-9]+}",
function ($id) use ($app) {
}
);
// Utiliza a API e através do método DELETE, REMOVE UM DADO EXISTENTE respeitando o tratamento do ID.
$app->delete(
"/api/dados/{id:[0-9]+}",
function () {
}
);
$app->handle();
modelsManager , der zusammen mit der Micro Application erstellt wurde, einfügen. Wir müssen die zu interpretierende PHQL verwenden. Nachdem die Daten zurückgegeben wurden, verwenden wir Array Array , um alle in der JSON gefundenen Daten zu speichern. // Utiliza a API e através do método GET, RETORNA TODOS OS DADOS.
$app->get(
"/api/dados",
function () use ($app) {
$phql = "SELECT * FROM dados";
$dados = $app->modelsManager->executeQuery($phql);
$data = [];
foreach($dados as $dado){
$data[] = [
'id' => $dado->id,
'nome' => $dado->nome,
'criado' => $dado->criado
];
}
echo json_encode($data);
}
);
$id -Variable erhalten, die an die API -URL übergeben wird. Die empfangene Variable unterliegt einer Behandlung mit {id:[0-9]+} , wobei wir den Namen bestimmen, gefolgt von der Art der Daten, die sie empfangen kann, in diesem Fall die Daten nur für Ganzzahldaten einschränken, damit wir unsere PHQL- Abfrage so filtern können, so dass sie nur ein bestimmtes Array zurückgibt. /*
* Utiliza a API e através do método GET, RETORNA APENAS UM DADO.
* Nota: Ele receberá como GET um ID que terá um tratamento através do ':[0-9]+'
* permitindo assim que o mesmo seja somente do tipo INTEIRO.
*/
$app->get(
"/api/dados/{id:[0-9]+}",
function ($id) use ($app) {
$phql = "SELECT * FROM dados WHERE id = ".$id;
$dados = $app->modelsManager->executeQuery($phql);
$data = [];
foreach($dados as $dado){
$data[] = [
'id' => $dado->id,
'nome' => $dado->nome,
'criado' => $dado->criado
];
}
echo json_encode($data);
}
);
RESPONSE() um den Anwendungsstatus zu senden und auch die gespeicherten Daten zurückzugeben. Dazu müssen wir ein neues Array erstellen, um unsere Einfügung vorzunehmen, wo es die Namensdaten empfängt und per Post erstellt wird .Response() beginnen, mit der wir Statuscodes senden können (z. B. 201, 404, 500, 401, 409 ).JSON -Inhalte senden, die unseren Status und die zurückgegebenen Daten aus unserem Modell übergeben.Array gefundenen Fehlermeldungen speichern und eine Antwort über JSON -Inhalte senden, indem wir unseren Status und alle gefundenen Fehler übergeben. // Utiliza a API e através do método POST, INSERE UM NOVO DADO.
$app->post(
"/api/dados",
function () use ($app) {
$insert = [
'nome' => $app->request->getPost('nome'),
'criado' => ( ($app->request->getPost('criado')) ? $app->request->getPost('criado') : date('Y-m-d H:i:s') )
];
$phql = "INSERT INTO dados (nome, criado) VALUES ('".$insert['nome']."', '".$insert['criado']."')";
echo $phql;
$status = $app->modelsManager->executeQuery($phql);
// cria response
$response = new Response();
if($status->success() === true){
$response->setStatusCode(201, "Criado");
$dados = Dados::findFirstBynome($insert['nome']);
$response->setJsonContent(
[
'status' => "ok",
'data' => $dados
]
);
} else {
$response->setStatusCode(409, "Conflito");
$erros = [];
foreach ($status->getMessages() as $msg){
$erros[] = $msg->getMessage();
}
$response->setJsonContent(
[
'status' => "Erro",
'messages' => $erros
]
);
}
return $response;
}
);
$id -Variable, die verwendet werden soll, um bestimmte Daten zu ändern und unsere Erfolgsnachricht zu senden, und wir senden die geänderten Daten nicht und nur die Statusmeldungen werden gesendet. // Utiliza a API e através do método PUT, ALTERA UM DADO EXISTENTE respeitando o tratamento do ID.
$app->put(
"/api/dados/{id:[0-9]+}",
function ($id) use ($app) {
$update = [
'id' => $id,
'nome' => $app->request->getPut('nome'),
'criado' => $app->request->getPut('criado')
];
$phql = "UPDATE dados.dados SET dados.nome = '".$update['nome']."', dados.criado = '".$update['criado']."' WHERE dados.id = ".$id;
$status = $app->modelsManager->executeQuery($phql);
// cria response
$response = new Response();
if($status->success() === true){
$response->setStatusCode(201, "Criado");
$dados = $dados = Dados::findFirst($update['id']);
$response->setJsonContent(
[
'status' => "ok",
'data' => $dados
]
);
} else {
$response->setStatusCode(409, "Conflito");
$erros = [];
foreach ($status->getMessages() as $msg){
$erros[] = $msg->getMessage();
}
$response->setJsonContent(
[
'status' => "Erro",
'messages' => $erros
]
);
}
return $response;
}
);
// Utiliza a API e através do método DELETE, REMOVE UM DADO EXISTENTE respeitando o tratamento do ID.
$app->delete(
"/api/dados/{id:[0-9]+}",
function () {
$phql = "DELETE FROM dados.dados WHERE dados.id = ".$id;
$status = $app->modelsManager->executeQuery($phql);
// cria response
$response = new Response();
if($status->success() === true){
$response->setJsonContent(
[
'status' => "ok"
]
);
} else {
$response->setStatusCode(409, "Conflito");
$erros = [];
foreach ($status->getMessages() as $msg){
$erros[] = $msg->getMessage();
}
$response->setJsonContent(
[
'status' => "Erro",
'messages' => $erros
]
);
}
return $response;
}
);
http://localhost/NOME_DO_PROJETO/api/NOME_DA_TABELA . .htaccess -Dateidaten zu ändern, die sich am Root des Projekts befinden, auf: RewriteRule ^$ NOME_DO_MICRO_APP/api/ [L]
RewriteRule (.*) NOME_DO_MICRO_APP/api/$1 [L]