FULLSTACK

O DEV DE ONTEM

DE HOJE

E DE AMANHÃ TAMBÉM?

Alessandro Feitoza

  • FullStack Developer at Darkmira (França)

  • PHP com Rapadura Founder

  • Event Organiser

  • Teacher iwTraining

DESENVOLVIMENTO

o
que
foi?

Rasmus

Lerdorf

  • Dinamarquês

PHPT

Personal Home Page Tools

1993

use CGI qw(:standard);
print header;
print start_html('Form Exemplo'),
    h1('Formulário comum'),
    start_form,
    "Nome: ", textfield('nome'),
    p,
    "Idade: ", textfield('idade'),
    p,
    submit,
    end_form;
if(param()) {
    print "Oi ",em(param('nome')),
        "Você tem ",em(param('idade')),
        " anos";
}
print end_html;

PHPt

<html>
    <head><title>Form Exemplo</title></head>
    <body>
        <h1>Formulário Comum</h1>
        <form action="form.phtml" method="POST">
            Nome: <input type="text" name="nome">
            Idade: <input type="text" name="idade">
            <br><input type="submit">
        </form>
        <?php 
        if($name){
            echo "Oi {$nome}, você tem {$idade} anos";
        }
        ?>
    </body>
</html>

HTML deve ser HTML

php 2

lançada oficialmente em 1997

ninguém muda o mundo sozinho.

1998 (php 3)

Zeev Zuraski

+

Andi Gutmans

php 4

lançada em 2000

Introdução a Orientação a Objetos

php 5

lançada em 2004

a linguagem já está bem mais Orientada a Objetos.

php 5.3

lançada em 2009

php 5.4

lançada em 2012

php 6

 

Text

php7

lançada em 2015

o
que
é?

rápida

Até 9x mais rápida que a versão anterior.

totalmente nova

Toda a linguagem foi reescrita do zero

tipada

Podemos trabalhar mais fortemente com tipos.

Title Text

<?php

declare(strict_types=1);

function nomeDaFuncao(string $nome, int $idade): void
{
    echo "Oi {$nome}, você tem {$idade} anos.";
}

function testaSeAlunoTemMaioridade(Aluno $aluno): bool
{
    if ($aluno->getIdade() >= 18) {
        return true;
    }

    return false;
}

function soma(float $n1, float $n2): float
{
    return $n1 + $n2;
}

PHP se tornou a linguagem mais usada pra web*

na web nenhuma linguagem trabalha sozinha

82% da Web

novos recursos

novo ternário

<?php

if (isset($nome)) {
    echo $nome; 
} else {
    echo 'nome não informado';
}

echo (isset($nome))?$nome:'nome não informado';

echo $nome ?? 'nome não informado';

Criptografia

Quem sabe faz ao vivo!

php7 redefiniu o mercado pra php

O
que
não é?

Gambiarrento

inseguro

bala de prata

não Tá amarrado a um determinado banco de dados

não é invencivel

não é lento

não é feito pra desktop

não é programador honesto e pobre

não é feio

php é o que há!

e
O que
vai seR?

mais bonito

php 7.4 - typed properties

<?php

class Aluno
{
    private string $nome;
    private int $idade;
    private float $saldo;
    private bool status;
    private array $notas; 
}

em 2020...

annotations

<?php

use MVC\Route;
 
class UserController {
    @Route("/usuarios", methods=["GET"], name="usuarios")
    public function list(): Response
    {
        // specific implementation
    }
        
    @Route("/usuario/novo", methods=["POST"], name="add_usuario")
    public function add(Request $request): Response
    {
        // specific implementation
    }
}

ainda em rfc

MAIS PRÁTICO

ARROW FUNCTIONS

<?php

use MVC\Route;
 
class UserController {
    @Route("/usuarios", methods=["GET"], name="usuarios")
    public function list(): Response
    {
        // specific implementation
    }
        
    @Route("/usuario/novo", methods=["POST"], name="add_usuario")
    public function add(Request $request): Response
    {
        // specific implementation
    }
}

PHP 7.4

mais rápido

JIT (Just in Time)

php, assim como várias outras linguagens, continuarão existindo.

php é uma linguagem como qualquer outra. tem seus prós e seus contras.

é sua vez de aprender PHp

dúvidas

sugestão de leitura

http://br.phptherightway.com/

http://php.net

referências

  • https://www.php.net/manual/pt_BR/intro-whatis.php
  • https://wiki.php.net/rfc/annotations_v2

  • https://wiki.php.net/rfc/typed_properties_v2

  • https://phpcomrapadura.org/php-8-0-data-de-release-e-status-do-jit-no-php/

valeura!

www.alessandrofeitoza.eu

slides.com/alessandrofeitoza

phpcomrapadura.org

FullStack: O dev de ontem, de hoje e de amanhã também?

By Alessandro Feitoza

FullStack: O dev de ontem, de hoje e de amanhã também?

  • 78
Loading comments...

More from Alessandro Feitoza