Download the PHP package uspdev/webservice without Composer

On this page you can find all versions of the php package uspdev/webservice. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package webservice

Webservice

Biblioteca que permite criar um webservice básico com controle de usuário e controle por IPs.

Não foi pensado para grandes quantidades de usuários pois o gerenciamento é simplificado.

A biblioteca contém as estruturas básicas para começar um webservice, incluindo as rotas, interface de administração.

Dependências

Para o cache funcionar você precisa ter instalado o memcached.

Instalação e configuração

Instale via composer

composer require uspdev/webservice

Configure a pasta onde ficará o arquivo de banco de dados. Sim, ele usa sqlite.

putenv('USPDEV_WEBSERVICE_LOCAL=' . __DIR__ . '/../local');

Como o objetivo é criar webservices para serem consumidas por outros sistemas ele não se comporta bem com pessoas e navegadores. Se for o caso, pode torná-lo mais amigável com a variável abaixo. Com isso, ele irá solicitar credenciais sempre que as fornecidas não forem aceitas. O padrão é desabilitado.

putenv('USPDEV_WEBSERVICE_USER_FRIENDLY=1');

Em ambiente de testes você pode não querer usar cache. Para isso desative o cache. Ele está ativado por padrão.

putenv('USPDEV_CACHE_DISABLE=1');

Em geral uma api é limitada a um escopo local então faz sentido querer limitar por endereços IP. Em tese podem ser usados ipv6 mas foi testado com ipv4. para limitar a endereços específicos use a variável abaixo. Para saber como configurar o arquivo contendo os ips liberados consulte https://github.com/uspdev/ip-control

putenv('USPDEV_IP_CONTROL=whitelist');

Controle de acesso

O controle de acesso é por meio de usuario/senha usando http basic. Por isso é importante usar um HTTPS.

Os usuários podem ser:

Alguns exemplos de como gerenciar os usuários. Por enquanto não há uma interface mais amigável para isso.

Skeleton

Na pasta skeleton/ tem uma estrutura de pastas que pode ser usada como exemplo. Se quiser copie o seu conteúdo para a raiz do seu projeto.

A pasta public/ contém um index.php e um .htaccess para utilizar com o apache.

A pasta local/ é onde ficarão os arquivos gerados pelo webservice e deve estar no .gitignore da aplicação. Por enquanto é apenas o arquivo de senhas de acesso mas pode ser colocado o arquivo com os ips liberados.

A pasta src/ é onde você colocará suas classes.

Se você criar uma classe \Minha\ClasseDeDados para prover os dados ao webservice, você deve configurar a variável $controllers da seguinte forma:

$controllers['classededados'] = '\Minha\ClasseDeDados';

Com isso os métodos públicos dessa classe ficarão disponíveis para consumo mais ou menos assim:

http://servidor/dir_base/classededados/<metodos>/<parametros>

Os métodos devem ser estáticos e devem retornar um array ou uma string que serão formatados como json.

Você pode solicitar os seguintes formatos de saída:

Se não for passado parâmetro o json de saída será sem formatação adequado para outros sistemas ou para parsers de json.

Veja que $controllers é um array então você pode definir quantas fontes de dados quiser.

Testes

Você pode rodar uns testes via shell em teste/teste.sh

Ele irá subir um servidor embutido do PHP e fará algumas consultas.


All versions of webservice with dependencies

PHP Build Version
Package Version
Requires ext-sqlite3 Version *
mikecao/flight Version ^1.3
uspdev/ip-control Version ^1
uspdev/cache Version *
gabordemooij/redbean Version ^5.4
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package uspdev/webservice contains the following files

Loading the files please wait ....