phép nói rằng tôi có một mô hình được gọi là John với những params:Backbone.js và api REST với silex (PHP)
{
Language : {
code : 'gr',
title : 'Greek'
},
Name : 'john'
}
Vì vậy, bây giờ khi tôi kích hoạt John.save()
nó POST những máy chủ:
post params http://o7.no/ypvWNp
với những tiêu đề:
.210Các mã trong silex là thực sự đơn giản:
<?php
require_once __DIR__.'/silex.phar';
$app = new Silex\Application();
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
// definitions
$app['debug'] = true;
$app->post('/api/user', function (Request $request) {
var_dump($request->get('Name'));
$params = json_decode(file_get_contents('php://input'));
var_dump($params->Name);
});
$app->run();
nhưng trước tiên var_dump
trở lại vô var_dump thứ hai của quá trình làm việc kể từ khi tôi nhận được yêu cầu trực tiếp từ php://input
tài nguyên. Tôi tự hỏi làm thế nào tôi có thể nhận được các thông số bằng cách sử dụng đối tượng Yêu cầu từ Silex
Cảm ơn
Xin chào, cảm ơn rất nhiều! Đó là một giải pháp! Mặc dù tôi tin rằng Silex nên cẩn thận theo mặc định mà không cần thêm bộ lọc 'trước'. Về kiểu nội dung, '$ request-> headers-> get ('Content-Type')' trả về 'application/json; charset = UTF-8' vì vậy tôi muốn kiểm tra như sau: 'if ('application/json' === strstr ($ request-> headers-> get ('Content-Type'), ';', true)) 'hoặc để được chống đạn hơn như thế:' if (false! == strpos ($ request-> headers-> get ('Content-Type'), 'application/json')) ' – panosru
' 0 === strpos ('thậm chí, sẽ điều chỉnh câu trả lời của tôi. – igorw
Từ hướng dẫn sử dụng php:' Hàm này có thể trả về Boolean FALSE, nhưng cũng có thể trả về giá trị không Boolean đánh giá thành FALSE, chẳng hạn như 0 hoặc ".'' vì vậy tôi có xu hướng sử dụng sai thay vì 0 :) – panosru