Top Banner
Por que PHP? Para estudar, para trabalhar, para viver… Duodraco (a.k.a Anderson Casimiro)
41

Por que PHP?

Jan 16, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Por que PHP?

Por que PHP?Para estudar, para trabalhar, para viver…

Duodraco (a.k.a Anderson Casimiro)

Page 2: Por que PHP?

Por que?

Fácil?

Robusta?

Não dói no bolso?

Plataforma?

Comunidade?

Page 3: Por que PHP?

Mas antes de começarmos…

Page 4: Por que PHP?

“Tecnologias de Desenvolvimento vão muito

além do Código, devendo ser avaliadas pelo Ecossistema que

as suporta”

Page 5: Por que PHP?

8 de Junho de 1995Nascia o Personal Home Page Tools(a.k.a PHP 1)

Pouco mais de um ano, o PHP tornou-se o PHP/FI (Forms Interpreter)

Page 6: Por que PHP?
Page 7: Por que PHP?

Rasmus (O Criador), juntou-se a Zeev e Andi em 1997 e no ano seguinte lançaram o PHP 3

Page 8: Por que PHP?

Em 2000 foi lançado o PHP4 e com ele todo um ecossistema, com QA, extensões, documentação...

Page 9: Por que PHP?

Obviamente, nem tudo eram flores...

Page 10: Por que PHP?

Mas isso é passado...

Page 11: Por que PHP?
Page 12: Por que PHP?

Abstract Syntax TreeSuporte completo a 64bitsGerenciamento de MemóriaThread Safety

PerformanceRemoção de problemas de APINovos OperadoresString UnicodeManipulação de ErrosClasses anônimasType HintingReturn Types

.1

Page 13: Por que PHP?

PHP é facil de aprender?

Page 14: Por que PHP?

<?php$var = [ "Salve", "Hacker", "House"];echo implode(" ", $var);

localhost

http://localhost

Salve Hacker House

Page 15: Por que PHP?

<?php

$variavel = new stdClass();

$array = [

"string" => 'string',

"int" => 123,

"float" => 1234.99,

"bool" => false

];

const IMPOSSIBLE = "impossível!";

if ($array['string'] === $variavel) {

echo IMPOSSIBLE, PHP_EOL;

}

Page 16: Por que PHP?

<?php

function soma($operador, $operando){

return $operador + $operando;

}

Page 17: Por que PHP?

<?php

$multiplicacao = function (int $multiplicando, int $multiplicador): int {

return $multiplicando * $multiplicador;

};

$fatorial = function (int $numero) use ($multiplicacao): int {

for($nExclamacao = 1;$numero > 0; $numero--){

$nExclamacao = $multiplicacao($numero,$nExclamacao);

}

return $nExclamacao;

};

echo $fatorial(7); //5040

Page 18: Por que PHP?

<?phpdeclare(strict_types = 1);namespace HackerHouse\Duodraco\Sistema\Data;

class Contato implements \JsonSerializable{ protected $id; protected $nome; public function __construct(int $id, string $nome) { $this->id = $id; $this->nome = $nome; } public function jsonSerialize() { return (object)["id" => $this->id, "nome" => $this->nome]; }

use LoggerTrait;}

Page 19: Por que PHP?

<?phpdeclare(strict_types = 1);namespace HackerHouse\Duodraco\Sistema\Data;

trait LoggerTrait{ public function log(string $message):bool { return syslog(LOG_CRIT, $message); }}

Page 20: Por que PHP?

Fazendo uma aplicação PHP

Page 21: Por que PHP?

$ mkdir ~/Workspace/hh & cd ~/Workspace/hh$ mkdir -p web application library/HH/Duodraco/Command$ touch web/index.php$ touch application/bootstrap.php$ touch library/HH/Duodraco/Command/Index.php$ vim composer.json…

Page 22: Por que PHP?
Page 23: Por que PHP?

{ "name": "duodraco/hh", "type": "project", "license": "MIT", "require": { "php": "^7.0", "respect/rest": "0.6.0" }, "autoload":{ "psr-4":{ "HH\\":"library/HH" } }}

composer.json

Page 24: Por que PHP?

<?phprequire __DIR__."/../application/bootstrap.php";

web/index.php

Page 25: Por que PHP?

<?phprequire_once __DIR__.'/../vendor/autoload.php';$router = new Respect\Rest\Router;$router->any('/',"HH\\Duodraco\\Command\\Index");

application/bootstrap.php

Page 26: Por que PHP?

<?phpdeclare(strict_types = 1);

namespace HH\Duodraco\Command;

use Respect\Rest\Routable;

class Index implements Routable{ public function get(): string { return "Olá Hacker House"; }}

library/HH/Duodraco/Command/Index.php

Page 27: Por que PHP?

$ mkdir ~/Workspace/hh & cd ~/Workspace/hh$ mkdir -p web application library/HH/Duodraco/Command$ touch web/index.php$ touch application/bootstrap.php$ touch library/HH/Duodraco/Command/Index.php$ vim composer.json…$ composer update -o --no-dev...$ php -S localhost:32768 -t webPHP 7.0.13 Development Server started at Sun Nov 27 22:35:33 2016Listening on http://localhost:32768Document root is /home/duodraco/Workspace/hh/webPress Ctrl-C to quit.[Mon Nov 14 22:35:39 2016] ::1:59506 [200]: /

Page 28: Por que PHP?

localhosthttp://localhost:32768

Olá Hacker House!

Page 29: Por que PHP?

Linguagem madura e poderosa

Paradigma Procedural

Paradigma Orientado a Objetos

Namespaces, Visibilidade, Traits

Paradigma Funcional

Lambdas, Closures, Currying

Generators (yield)

Type Hinting + Return types

Userland API

HTTP/2

Suporte completo a sistemas 64bits

Abstração para BD (PDO)

Streams

Unicode Escaping

Error Handling (Throwable)

Abstract Syntax Tree

Servidor Web embutido

Page 30: Por que PHP?

Servidor Web

Page 31: Por que PHP?
Page 32: Por que PHP?

Aplicações

Page 33: Por que PHP?

Empresas

Page 34: Por que PHP?

Comunidade

Page 35: Por que PHP?

Laravel Brasil

Page 36: Por que PHP?
Page 37: Por que PHP?

Page 38: Por que PHP?
Page 39: Por que PHP?
Page 40: Por que PHP?

Blood has the same color for everyone

Page 41: Por que PHP?

[email protected]/duodraco

#somostodosphp#comunidadefunciona

#manadapoderosa