Skip to content

ifroariquemes/PHP-TestBed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhpTestBed v0.2.0

A técnica do teste de mesa ajuda programadores de qualquer nível a compreender melhor a lógica empregada ao verificar o fluxo e mudanças de estados de varíavel no decorrer da execução de um programa.

Esta biblioteca pretende realizar leitura de scripts PHP a fim de executar o teste de mesa informando ao usuário cada passo que será tomado pelo processador de script, do início até a conclusão da execução do script.

Ainda estamos em desenvolvimento inicial, por isso a quantidade de recursos da linguagem que são suportados são poucos.

Instalação

É necessário Composer para o gerenciamento das dependências.

$ git clone https://github.com/ifroariquemes/PHP-TestBed
$ cd PHP-TestBed
$ composer install

Exemplo de uso

Script de teste:

<?php

for($i = 1; $i <= 2; $i++) {
    echo $i + 1;
}

Saída:

Script iniciado
Linha 3: --- Entrou no laço FOR ---
Linha 3: A variável $i recebe o valor 1
Linha 3: A condição da estrutura retorna o valor true resultante da operação ($i <= 2) onde $i = 1
Linha 4: Imprime na tela o valor 2 resultante da operação ($i + 1) onde $i = 1
Linha 3: A variável $i tem seu valor incrementado para 2
Linha 3: A condição da estrutura retorna o valor true resultante da operação ($i <= 2) onde $i = 2
Linha 4: Imprime na tela o valor 3 resultante da operação ($i + 1) onde $i = 2
Linha 3: A variável $i tem seu valor incrementado para 3
Linha 3: A condição da estrutura retorna o valor false resultante da operação ($i <= 2) onde $i = 3
Linha 5: --- Saiu do laço FOR ---
Script finalizado

Comandos suportados

Comando Incluso na versão
Estruturas condicionais
If-Else v0.1.0
Switch-Case-Default v0.2.0
Laços de repetição
For v0.1.0
Foreach v0.2.0
While v0.1.0
Do-While v0.1.0
Operações aritméticas
Soma (`+`) v0.1.0
Subtração (`-`) v0.1.0
Multiplicação (`*`) v0.1.0
Divisão (`/`) v0.1.0
Resto da divisão (`%`) v0.1.0
Deslocamento binário (`<<` e `>>`) v0.1.0
Incrementação (`++`) v0.1.0 (posterior)
v0.2.0(anterior)
Decrementação (`--`) v0.2.0
Operações lógicas
Booleano E (`&&`) v0.1.0
Booleano OU (`||`) v0.1.0
Bitwise E (`&`) v0.1.0
Bitwise OU (`|`) v0.1.0
Bitwise OU EXCLUSIVO (`^`) v0.1.0
Operações relacionais
Igual (`==`) v0.1.0
Idêntico (`===`) v0.1.0
Diferente (`!=`) v0.1.0
Não idêntico (`!==`) v0.1.0
Maior (`>`) v0.1.0
Maior ou igual (`>=`) v0.1.0
Menor (`<`) v0.1.0
Menor ou igual (`<=`) v0.1.0
Nave espacial (`<=>`) v0.1.0
Outros
Echo v0.1.0
Atribuição (`=`) v0.1.0
Concatenação (`.`) v0.1.0
Global v0.2.0
Parada (`break`) v0.2.0
Constantes v0.2.0 (`const`)
em breve (`define`)
Vetores e Matrizes (`array()` e `[]`) v0.2.0
Try-Catch-Finally v0.2.0
Throw v0.2.0

Contribua!

Ajude-nos a fazer esse software dar certo. Veja em milestones que funções essa biblioteca ainda precisa implementar. Ou então revise o que já existe para continuar melhorando a qualidade e desempenho.

Licença Creative Commons

Este trabalho está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional