Рубрики
Uncategorized

RPC-сервис Laravel Prose

Автор оригинала: David Wong.

Адрес с открытым исходным кодом: https://github.com/flc1125/la…

Этот проект поддерживает использование проектов Laravel и не-Laravel. php .3 Грамматика версии

Примечание: По умолчанию вы уже кое-что знаете о прозе. Содержание основано на представлении проекта Laravel.

устанавливать

  • Расширение C, зависящее от среды hprose См.: Официальный веб-сайт Hprose, расширение Hprose Pecl

    Сервер может установить, клиент не может установить

  • Пакет Расширения для Установки

Для настройки

Поставщики услуг и Фасады

Laravel.5 Добавлено автоматическое обнаружение пакетов. Старая версия, пожалуйста, установите ее вручную

  • останься config/app.php Присоединяйтесь к поставщику услуг в соответствии с документом

  • останься config/app.php Добавить фасад в разделе Документы

Файл инициализации

php artisan hprose:generator

После выполнения создаются следующие файлы:

  • Поставщик услуг маршрутизации: app/Providers/HproseRouteServiceProvider.php
  • Файлы маршрутизации: routes/hprose.php Этот файл маршрутизации не является маршрутизацией Laravel, далее именуемой Маршрутизация в прозе )

    Корневой каталог контроллера маршрутизации Prose по умолчанию имеет значение: app/Http/Контроллеры/Prose В каталог вы можете зайти самостоятельно. app/Providers/HproseRouteServiceProvider.php корректировка

останься config/app.php Добавьте поставщика услуг маршрутизации прыжков по умолчанию в файл

'providers' => [

    ...

    app\Providers\HproseRouteServiceProvider::class,
]

Конфигурация публикации

php artisan vendor:publish --provider="Flc\Laravel\Hprose\HproseServiceProvider"

После выполнения создается путь к файлу конфигурации: /config/hprose.php

Воспользуйся

Инструкции по настройке

Путь к файлу конфигурации: /config/hprose.php

 [
        'default'     => 'http',
        'connections' => [
            'http' => [
                'protocol' => 'http',
            ],
        ],
    ],

    'client' => [
        'default'     => 'http',
        'connections' => array(
            'http' => array(
                'protocol' => 'http',
                'uri'=>'http://192.168.2.67:9001/api/server', //Here is the connection address of the server.
                'async'    => false,
            ),
        ),
    ]
];

Текущая версия, в дополнение к адресу удаленного сервера в конфигурации клиента, по умолчанию используются другие конфигурации.

Другие-это последующая поддержка. swoole-httptcpwebsocket Подождите, установите раньше запланированного

Сервер

Добавьте одну маршрутизацию Laravel Для запуска служб Http, таких как:

[email protected]');

Соответствующий контроллер:

start();
    }
}

Доступ: http://localhost/hprose-server

Конфигурация маршрутизации Hprose

[email protected]');
HproseRoute::add('tests_one', '[email protected]')->option(['...']);

[email protected] Определение метода

Клиент

 tests ('tests'); and // other connections
        $result = HproseClient::connection()->tests->one('tests');

        print_r($result);
    }
}

Использование Не в проекте Laravel

Сервер

group(['prefix' => 'tests', 'namespace' => 'App\Controllers'], function ($router) {
    $router->add('one', '[email protected]');
    $router->add('two', '[email protected]')->option(['...']);

    $router->group(['prefix' => 'group'], function ($router) {
        $router->add('one', '[email protected]_one');

        ...

    });
});

$app = [
    'config' => [
        'hprose.server.default' => 'http',
        'hprose.server.connections' => [
            'http' => [
                'protocol' => 'http',
            ],
        ],
    ],
];

$server = new \Flc\Laravel\Hprose\Server($app);
$server->setRouter($router)->start();

Клиент

 [
        'hprose.client.default' => 'http',
        'hprose.client.connections' => [
            'http' => [
                'protocol' => 'http',
                'uri'      => 'http://localhost/server.php',
                'async'    => false
            ]
        ]
    ]
];

$client = new \Flc\Laravel\Hprose\Client($app);

print_r($client->tests->one('222').PHP_EOL);

пожертвование

Если вы считаете, что это расширение полезно для вас, пожалуйста, сделайте пожертвование в знак поддержки. Спасибо.~~

WeChat Alipay

Лицензия

МТИ