Trabalhando com Phalcon Framework e Docker

por Rogério Silva em 06/03/2020

Read in english

Olá pessoal, este é um simples tutorial de como rodar aplicações Phalcon usando Docker em ambiente de desenvolvimento.

Verifique se você possui os requisitos abaixo instalados no seu computador.

Passo 1: Criando a pasta do projeto

Abra o seu terminal e crie sua pasta para o projeto.

mkdir phalcon_sample && cd phalcon_sample

Passo 2: Configurando o Docker

O Dockerfile é necessário para que o Docker crie um contêiner com base em uma imagem PHP e faça a instalação do Phalcon. Crie um arquivo chamado docker-compose.yml com o código fonte abaixo.

version: '3'

services:
  app:
    container_name: app
    build: .
    working_dir: /var/www/html
    volumes:
      - ./:/var/www/html
    ports:
      - '8080:80'
    expose:
      - '8080'
    depends_on:
      - mysql
    links:
      - mysql

  mysql:
    container_name: mysql
    image: mysql:8
    environment:
      MYSQL_DATABASE: phalcon_app
      MYSQL_ROOT_PASSWORD: root
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql
    ports:
      - '3306:3306'

Crie um arquivo chamado Dockerfile com o código fonte abaixo.

FROM webdevops/php-nginx:7.4

ARG PSR_VERSION=0.7.0
ARG PHALCON_VERSION=4.0.2
ARG PHALCON_EXT_PATH=php7/64bits

RUN set -xe && \
    # Download PSR, see https://github.com/jbboehr/php-psr
    curl -LO https://github.com/jbboehr/php-psr/archive/v${PSR_VERSION}.tar.gz && \
    tar xzf ${PWD}/v${PSR_VERSION}.tar.gz && \
    # Download Phalcon
    curl -LO https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.tar.gz && \
    tar xzf ${PWD}/v${PHALCON_VERSION}.tar.gz && \
    docker-php-ext-install -j $(getconf _NPROCESSORS_ONLN) \
        ${PWD}/php-psr-${PSR_VERSION} \
        ${PWD}/cphalcon-${PHALCON_VERSION}/build/${PHALCON_EXT_PATH} \
    && \
    # Remove all temp files
    rm -r \
        ${PWD}/v${PSR_VERSION}.tar.gz \
        ${PWD}/php-psr-${PSR_VERSION} \
        ${PWD}/v${PHALCON_VERSION}.tar.gz \
        ${PWD}/cphalcon-${PHALCON_VERSION} \
    && \
    php -m

ENV WEB_DOCUMENT_ROOT=/var/www/html/application/public

Passo 3: Rodando o contêiner Docker

Execute o seguinte comando para rodar o contêiner Docker.

docker-compose up -d

Passo 4: Criando a aplicação Phalcon

Nós usaremos o Phalcon developer tools para criar um projeto padrão do Phalcon. Rode o comando abaixo para inicializar o composer.

docker-compose exec app composer init

Você pode inicializar o composer usando seus dados personalizados.

Inicialização do composer

Após a criação do composer.json, você precisa instalar o Phalcon developer tools e criar a aplicação.

docker-compose exec app composer require --dev phalcon/devtools
docker-compose exec app ./vendor/bin/phalcon project application simple

Passo 5: Acessando a aplicação

Se você concluiu os passos anteriores sem erros, você pode acessar o projeto pelo seu browser, o projeto está rodando em http://localhost:8080

Aplicação rodando

Espero que este pequeno tutorial tenha ajudado.

Acha que esse conteúdo possui erros ou poderia ser aperfeiçoado? Colabore!