Строка-заглушка JSON доставляется через php - PullRequest
1 голос
/ 18 января 2011

Я хотел бы сделать заглушку веб-службы, где я могу протестировать мой клиент. Я записал немного JSON, как это:

{
    "response": {
        "success": true,
        "meta" : "tags",
        "data": [
            {
                "first_name" : "John",
                "last_name" : "Doe",
                "age" : 30 
            },
            {
                "first_name" : "Jane",
                "last_name" : "Doe",
                "age" : 25 
            } 
        ] 
    }
}

У меня нет опыта работы с PHP. Как я могу сделать

webserver.com / get_names.php ? First_name = джон & last_name = МЭ и возраст = 30

скрипт, который возвращает вышеуказанный JSON.

Он не должен выполнять какую-либо оценку параметров, именно так он будет вызываться при реализации на сервере, я просто хотел бы, чтобы он правильно возвращал строку JSON, чтобы мой анализатор JSON мог проходить через нее, как это был фактический ответ сервера.

Надеюсь, кто-нибудь может мне помочь, заранее спасибо.

Ответы [ 3 ]

1 голос
/ 18 января 2011

Обычно его называют API, и его можно разрабатывать на многих уровнях.

Первый уровень - это стандартный оптимизированный php, где у вас будет код, следующий за общим кодированием php.

$Action = isset($_GET["action"]) ? $_GET["action"] : false;

switch($Action)
{
    case 'get_names':
        //fetch data and display.
    break;
}

Следующим и самым простым способом будет использование MVC Application Framework. Я бы порекомендовал Code Igniter для этого как дружественный для начинающих, а структура URI аналогична API-серверу API.

Послекопируя ваши файлы CI по вашему /api/ пути, вы бы бросили руководство и сконфигурировали свою базу данных, библиотеки, помощников и т. д., вы также использовали бы mod_rewrite для настройки URI-соглашения для получения таких URL, как /api/get/games/API_KEY

ваш класс выглядел бы так:

class Get extends Controller
{
    public function __construct()
    {
        parent::Controller();
    }

    public function games($Api = false,$limit = 10, $offset = 0)
    {
        if(!$Api)
        {
            show_error("API Key require to fetch games");
        }
        if(your_api_check($api) === true)
        {
             //Load the games
             $games = $this->models->games->get($limit,$offset);
             $this->output->send(json_encode($games));
        }
    }
}

Очевидно, более тщательная проверка с проверкой параметров, но вы поймете суть.

Следующий уровень будет очень сложнымдля себя, но если вы хотите продолжить идею, вы можете изучить Простой протокол доступа к объектам , но я не будушляпу на ваше усмотрение.

Ссылки:

1 голос
/ 18 января 2011

Сохраните строку JSON как есть и вызовите файл get_names.php. Не забудьте выбрать UTF-8 в вашем редакторе сохранить как диалог. Ничто не будет проанализировано как PHP, если в файле нет ни одной строки <?php.

Вы также можете поместить это поверх файла:

<?php
header('Content-Type: application/json');
?>
0 голосов
/ 18 января 2011

Вы можете сохранить это как get_names.php на вашем веб-сервере.

<?php

$my_associative_array = array(
    'response' => array(
        'success' => true,
        'meta' => 'tags',
        'data' => array(
            array(
                'first_name' => 'John',
                'last-name' => 'Doe',
                'age' => 30,
            ),
            array(
                'first_name' => 'Jane',
                'last_name' => 'Doe',
                'age' => 25
            ),
        ),
    ),
);

echo json_encode($my_associative_array);

Кроме того, вы можете просто создать файл .txt, который будет выглядеть точно так же, как ваш JSON.

Вы также можете просто указать его на моем сервере, где работает вышеуказанный скрипт: http://dorkitude.com/example_4725873.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...