예제 #1
0
 public function module_ValidPathAndSubModule_RegisterSubModuleAndInherit()
 {
     // arrange
     $module = new Module(self::VALID_MODULE_NAME);
     $subModule = new Module(self::VALID_SUB_MODULE_NAME);
     $factory = new Factory(self::VALID_FACTORY_NAME, $this->VALID_FACTORY_DEPENDENCIES, $this->VALID_FACTORY_FACTORY);
     $subModule->factory(self::VALID_FACTORY_NAME, $this->VALID_FACTORY_DEPENDENCIES, $this->VALID_FACTORY_FACTORY);
     $subModule->get(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER);
     $subModule->post(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER);
     $subModule->put(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER);
     $subModule->delete(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER);
     $expectedEndpoint = new Endpoint(self::VALID_ENDPOINT_PATH, $this->VALID_ENDPOINT_DEPENDENCIES, $this->VALID_ENDPOINT_HANDLER);
     // act
     $module->module(self::VALID_SUB_MODULE_PATH, $subModule);
     // assert
     Assert::areSame($module->modules, [self::VALID_SUB_MODULE_PATH => $subModule]);
     Assert::areSame($module->factories, [self::VALID_FACTORY_NAME => $factory]);
     Assert::areSame($module->endpoints, ['GET' => [self::VALID_SUB_MODULE_PATH . self::VALID_ENDPOINT_PATH => $expectedEndpoint], 'POST' => [self::VALID_SUB_MODULE_PATH . self::VALID_ENDPOINT_PATH => $expectedEndpoint], 'PUT' => [self::VALID_SUB_MODULE_PATH . self::VALID_ENDPOINT_PATH => $expectedEndpoint], 'DELETE' => [self::VALID_SUB_MODULE_PATH . self::VALID_ENDPOINT_PATH => $expectedEndpoint]]);
 }
예제 #2
0
<?php

use Phale\Module;
use Phale\Request;
use Phale\Response;
use PhaleDemo\Database;
use PhaleDemo\User\IUserService;
use PhaleDemo\User\UserService;
$users = new Module('users');
$users->factory('userService', ['database'], function (Database $database) {
    return new UserService($database);
});
/**
 * @api {get} /user List
 * @apiName ListUsers
 * @apiGroup User
 */
$users->get('', ['userService'], function (Request $request, Response $response, IUserService $userService) {
    $response->json($userService->findAll());
});
$users->post('', ['userService'], function (Request $request, Response $response, IUserService $userService) {
});
require_once 'user.api.php';
$users->module('/:id', $user);