Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Aplicação usada como exemplo para usar o SOA-Server

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 configs
Octocat-spinner-32 library
Octocat-spinner-32 logs
Octocat-spinner-32 public
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.md
Octocat-spinner-32 bootstrap.php
Octocat-spinner-32 composer.json
Octocat-spinner-32 phpunit.xml
Octocat-spinner-32 vendor.sh
README.md

Introdução

Essa é uma aplicação de modelo a ser usada como base para a criação de aplicativos baseados no Coderockr SOA-Server

Estrutura dos diretórios

  • bin: diretório de executáveis do projeto, como o doctrine
  • configs
    • clients.php: identificação dos clientes que podem acessar os dados via REST/RPC
    • configs.php: configurações de conexão com banco de dados entre outras
  • library: diretórios da aplicação
    • model: entidades a serem acessadas via REST
    • service: serviços a serem acessadas via RPC
    • test: testes unitários das entidades e serviços
  • logs: logs de erros gerados pelo SOA-Server
  • vendor: diretório de dependências externas
  • vendor.sh: shell script que faz a instalação das dependências externas
  • bootstrap.php: configurações necessárias para a aplicação, como inicialização do Doctrine
  • phpunit.xml: arquivo usado pelo PHPUnit

Instalação

  • Clonar o projeto
  • Executar o vendors.sh
  • Duplicar o arquivo configs/configs.php para configs/configs.development.php e fazer as alterações necessárias
  • Duplicar o arquivo configs/configs.php para configs/configs.testing.php e fazer as alterações necessárias
  • Dar permissão de escrita no diretório de logs, como o exemplo (assumindo que o usuário do Apache seja o www-data):
    chown -R www-data:www-data /vagrant/SOA-Client/logs
  • Criar os domínio virtuais do Apache para usar o SOA-Server, conforme o exemplo (alterando o ServerName, DocumentRoot e APPLICATION_PATH ):
<VirtualHost *:80>
        DocumentRoot "/vagrant/SOA-Server"
        ServerName soasample.dev
        SetEnv APPLICATION_ENV development
        SetEnv APPLICATION_PATH /vagrant/SOA-Client
        Header set Access-Control-Allow-Origin *

        <Directory "/vagrant/SOA-Server">
                Options Indexes Multiviews FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all

                <Limit GET HEAD POST PUT DELETE OPTIONS>
                        Order Allow,Deny
                        Allow from all
                </Limit>

                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteRule !\.(js|ico|gif|jpg|png|css|htm|html|txt|mp3)$ index.php
                RewriteRule .? - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        </Directory>
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot "/vagrant/SOA-Server"
        ServerName soasampletest.dev
        SetEnv APPLICATION_ENV testing
        SetEnv APPLICATION_PATH /vagrant/SOA-Client
        Header set Access-Control-Allow-Origin *

        <Directory "/vagrant/SOA-Server">
                Options Indexes Multiviews FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all

                <Limit GET HEAD POST PUT DELETE OPTIONS>
                        Order Allow,Deny
                        Allow from all
                </Limit>

                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteRule !\.(js|ico|gif|jpg|png|css|htm|html|txt|mp3)$ index.php
                RewriteRule .? - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
        </Directory>
</VirtualHost>
  • Configurar o /etc/hosts

    127.0.0.1 soasample.dev
    127.0.0.1 soasampletest.dev

Geração das tabelas

Para que o Doctrine gere as tabelas no banco de dados baseado nas entidades:

APPLICATION_ENV=development php ./bin/doctrine.php orm:schema-tool:create
APPLICATION_ENV=testing php ./bin/doctrine.php orm:schema-tool:create

Desta forma são criadas as tabelas na base de desenvolvimento e na de testes

Something went wrong with that request. Please try again.