Yuriy Belenko 5400a7e445 [Slim] Add PHP CodeSniffer config template (#1764)
* [Slim] Add PHP_CodeSniffer config template

* [Slim] Update doc

* [Slim] Add local configs to gitignore

PHPUnit and PHP_CodeSniffer provides the same developing pattern when
user overrides global config with local one. In local config he can
set environment variables. Official doc recommends to not commit local
config files.

* [Slim] Remove phpcsStandard CLI option

Now user have full freedom to override config file. This option is not
used and not necessary anymore.

* [Slim] Refresh samples
2018-12-29 15:58:15 +09:00

4.0 KiB

php-base - PHP Slim Server library for OpenAPI Petstore *_/ ' " =end -- \r\n \n \r

Slim Framework Documentation

Requirements

  • Web server with URL rewriting
  • PHP 7.0 or newer

This package contains .htaccess for Apache configuration. If you use another server(Nginx, HHVM, IIS, lighttpd) check out Web Servers doc.

Installation via Composer

Navigate into your project's root directory and execute the bash command shown below. This command downloads the Slim Framework and its third-party dependencies into your project's vendor/ directory.

$ composer install

Start devserver

Run the following command in terminal to start localhost web server, assuming ./php-slim-server/ is public-accessible directory with index.php file:

$ php -S localhost:8888 -t php-slim-server

Warning

This web server was designed to aid application development. It may also be useful for testing purposes or for application demonstrations that are run in controlled environments. It is not intended to be a full-featured web server. It should not be used on a public network.

Tests

PHPUnit

This package uses PHPUnit 6 or 7(depends from your PHP version) for unit testing. Test folder contains templates which you can fill with real test assertions. How to write tests read at PHPUnit Manual - Chapter 2. Writing Tests for PHPUnit.

Run

Command Target
$ composer test All tests
$ composer test-apis Apis tests
$ composer test-models Models tests

Config

Package contains fully functional config ./phpunit.xml.dist file. Create ./phpunit.xml in root folder to override it.

Quote from 3. The Command-Line Test Runner — PHPUnit 7.4 Manual:

If phpunit.xml or phpunit.xml.dist (in that order) exist in the current working directory and --configuration is not used, the configuration will be automatically read from that file.

PHP CodeSniffer

PHP CodeSniffer Documentation. This tool helps to follow coding style and avoid common PHP coding mistakes.

Run

$ composer phpcs

Config

Package contains fully functional config ./phpcs.xml.dist file. It checks source code against PSR-1 and PSR-2 coding standards. Create ./phpcs.xml in root folder to override it. More info at Using a Default Configuration File

PHPLint

PHPLint Documentation. Checks PHP syntax only.

Run

$ composer phplint

Show errors

Change line in ./index.php:

--- $router = new SlimRouter();
+++ $router = new SlimRouter(['settings' => ['displayErrorDetails' => true]]);

API Endpoints

All URIs are relative to *http://petstore.swagger.io / ' " =end -- \r\n \n \r/v2 */ ' " =end -- \r\n \n \r

Important! Do not modify abstract API controllers directly! Instead extend them by implementation classes like:

// src/Api/PetApi.php

namespace OpenAPIServer\Api;

use OpenAPIServer\Api\AbstractPetApi;

class PetApi extends AbstractPetApi
{

    public function addPet($request, $response, $args)
    {
        // your implementation of addPet method here
    }
}

Place all your implementation classes in ./src folder accordingly. For instance, when abstract class located at ./lib/Api/AbstractPetApi.php you need to create implementation class at ./src/Api/PetApi.php.

Class Method HTTP request Description
AbstractFakeApi testCodeInjectEndRnNR PUT /fake To test code injection *_/ ' " =end -- \r\n \n \r

Models

  • OpenAPIServer\Model\ModelReturn

Authentication