Vous êtes sur la page 1sur 28

https://fullstackphpdeveloper.

com

{
"name": "UpInside/fsphp",
"description": "Full Stack PHP Developer",
FULL STACK
"minimum-stability": "stable",
"authors": [
{
"name": "Robson V. Leite",

"email": "cursos@upinside.com.br",
"homepage": "https://upinside.com.br",
"role": "Developer"
}
],
"config": {

O universo PHP
"vendor-lib": "vendor"
},
"autoload": {
"psr-4": {
"Source\\": "source/"
}
}
}

Imergindo em uma linha de evolução da linguagem de


Robson V. Leite
programação mais utilizada no mundo. CEO UpInside Treinamentos
cursos@upinside.com.br
www.upinside.com.br

<?= "page X"; ?>


1994/1995 O PHP é criado por Rasmus para ser usado no
Hypertext PHP 1 e 2 desenvolvimento de sua página pessoal, era
apenas um conjunto de scripts que foi chamado
Preprocessor
de Personal Home Page Tools.

1997/1998 Andi e Zeev entram no time para reescrever a


É uma linguagem interpretada livre que atua do lado PHP 3 base do PHP como uma linguagem completa de
do servidor, tem seu melhor uso no desenvolvimento programação e vários desenvolvedores passam a
de aplicações web dinâmicas. colaborar com o desenvolvimento do PHP.

Figura entre as primeiras linguagens passíveis de 2000/2003 A versão 3 é totalmente abandonada e o PHP 4 é
inserção em documentos HTML e é uma linguagem PHP 4 desenvolvido com recursos de OO. O que atraiu
extremamente modularizada. O que a torna ideal milhares de desenvolvedores para a linguagem.
para servidores web.

O PHP é utilizado em aplicações como Facebook,


2004/2014 Ocorre a acensão do PHP com a versão 2 do zend
PHP 5 engine, agora totalmente orientado a objetos,
Drupal, Joomla, WordPress, Magento, Oscommerce,
banco de dados com PDO, jSON nativo,
Laravel, Synfony, Zend Framework e muitos outros…
namespaces, interfaces, traits e diversos outros
recursos que solidificaram o PHP.
<?= Rasmus Lerdorf
Autor da primeira versão do PHP e co-autor das
versões seguintes. ;?>
2015/20XX Com performance surpreendente e fortificação
PHP 7 em recursos de OO, o PHP é visto como uma
linguagem madura presente em mais de 83.5%
<?= Andi Gutmans and Zeev Suraski dos sites na internet sendo a mais utilizada
Fundadores da Zend Technologies e principais linguagem de programação do mundo.
responsáveis pelo desenvolvimento do PHP. ;?>
Mercado e desenvolvimento com PHP!

A grande maioria dessas informações trás recursos


Milhares de informações estão disponíveis para todos
obsoletos e más práticas, gerando ainda mais confusão
que querem aprender PHP.
para antigos e novos programadores.

Diversos padrões de projetos e infinitas formas de Não existe compatibilidade e comunicação, cada sistema
desenvolver com PHP. É como programar sem restrições. segue um padrão e usa recursos diferentes.

Um mercado gigante formado pelo ecossistema, ter um Empresas, startups, micro serviços, APIs, marketplaces
projeto em PHP significa pertencer a evolução de maior começam a enfrentar problemas para se adaptar e
potencial entre as linguagens. garantir o ciclo de vida da aplicação.

Com novas tendências de mercado sendo atendidas por


Escala, rotatividade ou formação de equipe com alta
poderosos recursos do PHP, surgem novas e incríveis
curva de aprendizagem.
possibilidades de implementação.

Milhares de componentes, bibliotecas, APIs, sistemas Cresce a necessidade de ter um desenvolvimento


comunicáveis começam a surgir. interoperável no o PHP.
INTERO É a capacidade de um sistema de se comunicar

PERABI
de forma transparente ou o mais próximo
disso com outro (sistema, componente, API)…

LIDADE …por meio de open standard ou ontologies.

São padrões abertos, livres e disponíveis para acesso e


$openStandard = implementação que independem de royalties, outras taxas
Interop. técnica ou discriminação de uso.

São ontologias com modelos de dados que representam um


$ontologies =
conjunto de conceitos possuindo o domínio da aplicação e
Interop. semântica
os relacionamentos entre ela.
/Design Patterns
PADRÕES ABERTOS De criação Singleton Factory Prototype and more...

Estruturais Adapter Facade Decorator and more...

Comportamentais Memento Observer Strategy and more...

/Standard Recomendation

As recomendações Livros Cursos Tutoriais and more...

Qual recomendação devo seguir para:

O PHP evoluiu com Escrever meu código? (Namespaces?, Classes?, Variáveis??)


muitos padrões de
Estruturar meu sistema? (Comportamento?, Dependências?)
projeto…
Desenvolver micro serviços? (Padrão de projeto?, Abstração?)
…mas sem um padrão de
desenvolvimento e uma Garantir o ciclo de vida? (Implementação?, Manutenção?)
recomendação oficial
Usar, criar, compartilhar? (Componentes?, Bibliotecas?, APIs?)
de codificação.
/FRAMEWORKS /CMS`s

ONTOLO Uma abstração que une rotinas,


componentes e códigos comuns entre
Um painel de controle completo,
diversos plugins e temas prontos, é

GIAS
diversas aplicações provendo uma aplicação que pode ser instalada,
funcionalidades genéricas do projeto. personalizada e entregue.

Com o PHP sem recomendações oficiais Extremamente versátil e robusto, segue o O WordPress é apontado como o maior
de desenvolvimento, as ontologias padrão MVC e é considerado o framework CMS de toda a internet usado por mais de
ganharam força no mercado: PHP mais usado no mundo. 31.1% dos sites hospedados.

Manutenção garantida no domínio


da ontologia.
Uma coleção de pacotes PHP 100% Não tão popular quanto o WP pela sua
Aprendizado focado em regra e
orientado a objetos apoiado pelo Google curva de gestão, mas mais personalizável,
não em tecnologia.
e MS e patrocinado pela Zend. roda 3.1% dos sites hospedados.

É interoperável em componentes
no domínio da ontologia

Domínio total da aplicação Criado para trabalhar com metodologias Uma combinação de APIs e módulos. É o
dentro de um micro ambiente PHP ágeis, focado em regras de negócio para mais avançado entre eles por dar maior
aplicações mais robustas. controle sobre a aplicação. (2.1%)
Lançamento do PHP 7 Acensão dos Frameworks
Falta de recomendações 2015 Laravel considerado o Framework
Confusão no PHP mais utilizado do mundo.

Publicação Oficial PHP-FIG Diversas ontologias lançadas no


PHP Standard Recommendation 2016 mercado sem interoperabilidade
entre eles…
PHP do jeito certo

Popularização das PSRs Confusão nos Frameworks


Acensão do PHP 2017 Frameworks de Mercado

Interop. Técnica
2018
PHP
The Right Way

php-fig.org phptherightway.com

Os padrões recomendados do PHP começaram a surgir em Um dos grandes problemas do PHP é a quantidade de
2009 com a criação do PHP Framework Interop Group informações obsoletas, inseguras e com más práticas
(PHP-FIG) e ganhou força em 2016 com a publicação oficial disponíveis na web dadas pela popularidade do PHP.
das recomendações.
Não existe uma maneira canônica de usar PHP, mas hoje
Formado por fundadores dos principais frameworks PHP, temos uma referência rápida e fácil de ler, introduzindo
o objetivo é fornecer uma base técnica comum para a desenvolvedores às melhores práticas, padrões de código e
implementação de conceitos e ótimas práticas de links para tutoriais competentes.
programação afim de garantir a interoperabilidade técnica
entre projetos, componentes, bibliotecas e APIs PHP. Esse é o PHP do Jeito Certo.

PHP Standard Recommendations (PSRs) são Criado por Josh Lockhart e publicado também em 2016, é
especificações de desenvolvimento com PHP uma iniciativa popular na comunidade PHP que incentiva
boas práticas e dissemina informações confiáveis e de
publicadas pelo PHP Framework Interop Group.
qualidade para desenvolvedores PHP.
Com a chegada dos padrões da comunidade e os novos recursos do PHP temos a liberdade de
criar aplicações profissionais e personalizadas utilizando componentes poderosos, temos
acesso a um ambiente produtivo e colaborativo, e ainda garantimos a interoperabilidade
do projeto sem a necessidade do uso de frameworks ou CMS's.

<?= COMPOSER:
Comunicação global Garante a rotatividade
de desenvolvedores.
O gerenciador de dependências do
de serviços entre
aplicações. PHP permite usar e gerenciar os
componentes da comunidade. ;?>

<?= PACKAGIST:
Possibilita escalar a
É o repositório oficial do
implementação e manutenção Interop.
do sistema. Composer onde você pode acessar
Técnica milhares de componentes. ;?>

Um ecossistema repleto de <?= GIT:


projetos e empresas a Nos permite ter controle total
serem atendidas. sobre nossa aplicação de forma
auditada para trabalhar sozinho
Um mercado com milhares de
ou em equipe. ;?>
componentes disponíveis.
APIS

PSRs
Opauth
Minify

Whoops COMPONENTES PSRs PSRs FRAMEWORKS

Monolog
PHPMailer
PSRs
Sites Softwares

COMPATIBILIDADE Implementação
Sistemas
Manutenção
2009 2011 2014 FULL STACK

Curso em DVD Site Plataforma EAD Work Series Full Stack


Dinâmico com PHP Curso PRO PHP PHP Orientado a Objetos PHP Developer

Quarta geração de cursos PHP da UpInside, a formação Full Stack com core em PHP é desenvolvida em três pilares
fundamentais que trazem conhecimento sem código legado ou adaptação de linguagem! Aplica fundamentos
aderentes ao PHP Standard Recommendation desde a primeira linha de código em estudo:

/EXPAND /SYNTHESISE /DEVELOPMENT


O primeiro pilar é onde você O segundo pilar de conhecimento O terceiro pilar é onde você
APRENDE o PHP do básico, mas já é onde você vai CONSTRUIR vai DESENVOLVER na prática e
utilizando recursos modernos aplicações sintetizando tudo montar esse quebra cabeças
filtrando aquilo que você que aprendeu em bibliotecas e programando uma série de
realmente precisa aprender para componentes para reutilizar projetos práticos e reais.
aplicar rotinas, resolver sempre que necessário em
problemas e criar soluções. qualquer projeto.
https://fullstackphpdeveloper.com

{
"name": "UpInside/fsphp",
"description": "Full Stack PHP Developer",
FULL STACK
"minimum-stability": "stable",
"authors": [
{
"name": "Robson V. Leite",

"email": "cursos@upinside.com.br",
"homepage": "https://upinside.com.br",
"role": "Developer"
}
],
"config": {

Full Stack Developer


"vendor-lib": "vendor"
},
"autoload": {
"psr-4": {
"Source\\": "source/"
}
}
}

A pilha de tecnologias de um profissional preparado


Robson V. Leite
para o mercado e desenvolvimento moderno. CEO UpInside Treinamentos
cursos@upinside.com.br
www.upinside.com.br

<?= "page X"; ?>


/FRONT-END:
FULL-STACK

Design
UX Design
Responsável por trabalhar com a

DEVELOPER
Web Design
parte da aplicação que interage
diretamente com a experiência do
usuário.

É o profissional apto a trabalhar tanto no HTML


HTML, CSS, Design Responsivo, e
Back-End quanto no Front-End de uma JS são as linguagens comuns na
aplicação, compreendendo de forma 'stack' de desenvolvimento do
razoável toda a 'stack' necessária para CSS

Front End
front-end, que deve interpretar
desenvolver um projeto web desde o

Full Stack PHP Developer


o design e preparar a interface.
planejamento até a execução.

RWD
Core Stack: Um profissional full-stack
não é um especialista em toda a pilha de /BACK-END:
tecnologias, mas as domina o suficiente
para desenvolver ou liderar equipes de Responsável pela implementação JS (jQuery)
desenvolvimento. O core Stack é a da regra de negócio, PHP e SQL
especialidade deste profissional. são as principais ferramentas
para programar funcionalidades,
FS Web Developer: É o profissional Full- componentes e desenvolver a
PHP

Back End
Stack com CORE stack em sistemas web. aplicação.

O Back-End programa a interface,


FS PHP Developer: É o profissional Full-
implementa e testa a aplicação SQL
Stack com CORE stack em PHP.
para entregar ao usuário final.
UMA PILHA
FRONT-END

<
 {
 @media(
 $(function(){



HTML ou linguagem de CSS ou folha de estilo em Design responsivo é uma O jQuery é a biblioteca
marcação de hipertexto é cascata e um mecanismo técnica de marcação e JavaScript multi-
o formato padrão para para adicionar todos os estilo que garante a web plataforma mais utilizada
criação de páginas e estilos (cores, fontes, única (one web) ao do mundo.
aplicações web. efeitos, etc.) a permitir que se crie
documentos web. sites que se ajustem a Projetada para
Em conjunto com qualquer dispositivo simplificar e agilizar o
o CSS e JS formam as Assim como o HTML é uma independentemente do desenvolvimento e
pedras principais para a das linguagens tamanho da tela.
 garantir a
World Wide Web
 insubstituíveis.
 ); compatibilidade de
/> } códigos JS entre
navegadores.

});
UMA PILHA
BACK-END

<?= "PHP é o pré- { Composer é o <commit> Poderoso sistema SELECT * FROM SQL ou
processador de hipertexto gerenciador de de controle de versões. linguagem de consulta
mais utilizado do mundo. componentes a nível de estruturada é a linguagem
aplicação do PHP criado GIT permite rastrear e de pesquisa padrão de um
Figura entre as primeiras para o PHP. auditar mudanças no banco de dados
linguagens de programação projeto sempre visando a relacional.
passíveis de inserção Fornece um formato padrão velocidade individual ou
HTML capaz de gerar e autômato para gerenciar em equipe, e a Utilizada pelo PHP para
conteúdo 100% e controlar todas as integridade de dados com cadastrar (Create), ler
dinâmico." ;?> dependências de um suporte a fluxo de (Read), atualizar
projeto e/ou bibliotecas trabalho distribuído. (Update) e deletar
PHP. } <git> (Delete) dados de forma
otimizada em um banco de
dados ;
DESENVOLVIMENTO
POR STACK
DESIGN E UX:
Prepara o padrão visual do website e projeta o design
com base na experiência do usuário.

FRONT-END: BACK-END:
https://fullstackphpdeveloper.com

Realiza a marcação do Programa as


HTML e do CSS, prepara funcionalidades do
os efeitos e eventos website de acordo com
do website. a regra de negócios.
DESENVOLVIMENTO
POR COMPONENTE
DESIGN E UX:
Prepara o padrão visual do website e projeta o design
com base na experiência do usuário.

Notificação por e-mail.

FRONT-END
Uma interface de login. FULL-STACK
BACK-END

Manutenção gera reflow\Ociosidade Implementar um componente.

Fluxo: Front-End prepara a interface Fluxo: O Full-Stack programa a


e manda ao Back-End que programa, interface, implementa, testa e coloca
testa e coloca em produção em produção.
OPORTUNIDADES
DE MERCADO
FULL STACK

/CLT/Contrato /MicroServiços
Como CLT trabalhando para uma empresa específica Existem diversas camadas de serviços em qualquer
ou no modelo de contrato prestando serviços para negócio que precisam de boas ferramentas, você
uma ou mais empresas como Back, Front ou Full. pode desenvolvê-las.

/Freelancer/Agência /SaaS
Desenvolvendo projetos sob encomenda em contato Ferramenta entregue no modelo de assinaturas de
direto com o cliente final elaborando todas as software como serviço, que resolvem problemas
etapas para entregar uma solução. específicos para pessoas ou empresas.

/Startups /Marketplaces
Idealizar e desenvolver um novo modelo de Um mercado gigante de aplicações criadas com base
negócios que seja escalável e repetível com em soluções para aplicações maiores onde você
investimento próprio ou investimento-anjo. desenvolve para outras plataformas.
https://fullstackphpdeveloper.com

{
"name": "UpInside/fsphp",
"description": "Full Stack PHP Developer",
FULL STACK
"minimum-stability": "stable",
"authors": [
{
"name": "Robson V. Leite",

"email": "cursos@upinside.com.br",
"homepage": "https://upinside.com.br",
"role": "Developer"
}
],
"config": {

Um arquivo em PHP
"vendor-lib": "vendor"
},
"autoload": {
"psr-4": {
"Source\\": "source/"
}
}
}

Os fundamentos, boas práticas e arquitetura de um


Robson V. Leite
programa criado em um arquivo PHP. CEO UpInside Treinamentos
cursos@upinside.com.br
www.upinside.com.br

<?= "page X"; ?>


Um arquivo PHP:
Como sabemos o PHP é um pré-processador de hipertexto, um arquivo com a
extensão PHP tem uma estrutura dinâmica incrível, capaz de interpretar e
processar HTML, CSS, JavaScript, além é claro do próprio PHP.

https://fullstackphpdeveloper.com
Muito se fala que não Quando separar?
devemos misturar códigos
PHP com HTML, é um mito!
<!DOCTYPE html> * Arquivos JS e CSS devem
<html lang="pt-br">
<head> HTML é hipertexto marcado e ser separados sempre, essa
<meta charset="UTF-8"> PHP um pré-processador de é uma ÓTIMA regra de boas
<meta name="viewport" content="…">
hipertexto que foi criado práticas.
<title>Para isso funcionar a extensão deste arquivo deve exatamente com esse
ser .php</title>
objetivo. * Regras e lógicas de
<style>
negócio devem ser separadas
/* Seu CSS funciona aqui! */ Trabalhar com ambos faz
</style> de visões e interfaces
</head> total sentido e é incrível
visuais.
<body> a produtividade obtida
<?php
//Seu PHP funciona aqui, e em qualquer lugar deste assim.
arquivo! * Arquivos e trechos que
?> Mas claro, você precisa precisam ser reutilizados
<script>
// Seu JavaScript funciona aqui! seguir as boas práticas de também precisam ser
</script> codificação. separados.
</body>
</html>
O que você não deve fazer:
O PHP é permissivo ao extremo, com isso você pode construir qualquer coisa boa
na mesma medida que ruim. Vejamos algumas práticas a serem evitadas:

echo "<header>
 function showName($name) {
 $q = $pdo->query("SELECT * FROM users");



//header Content…
 return "<p>{$name}</p>";
 foreach($q->fetchAll() as $r) {

</header>"; }
 //Results looping for SQL Query

echo showName("Robson V. Leite"); }
require "header.php";
require "functions.php";
 foreach($user->listAll() as $r){

echo showName("Robson V. Leite"); //Results looping for UserModel

}

REPETIÇÃO: DECLARAÇÃO COM SAÍDA: MATERIALIZAÇÃO:

Qualquer projeto web terá Declarar uma funcionalidade ou Na correria de um projeto é


inevitavelmente repetição de configuração em um arquivo com comum ligar o piloto automático
estruturas a serem saída impede de reutilizar essa e aplicar uma programação
apresentadas. Mas repetir a funcionalidade em outras funcional ignorando a regra
estrutura não significa repetir camadas da aplicação. para aplicar funcionalidades.
o código.
Declare todas as configurações Prefira criar modelos e padrões
Substitua repetição por reuso e funcionalidade em arquivos reutilizáveis para ter um ponto
em códigos que serão utilizados separados, sem saída e que de acesso único para
mais de uma vez na aplicação. possam ser requeridos. implementação e manutenção.
Um arquivo PHP:
Don't Repeat Yourself: Ao ser aplicado torna partes do sistema
independentes. Cada parte pode mudar de forma previsível e uniforme,
mantendo-se, portanto, sincronizadas com toda a aplicação.

https://fullstackphpdeveloper.com
Esse é um arquivo index.php * O CSS vem do arquivo
comum em aplicações web, externo style.css
<?php contendo apenas a regra de possibilitando formatar o
require __DIR__."/config.php"; construção visual e se visual em um ponto único na
require __DIR__."/vendor/autoload.php";
?> comunicando com tudo que aplicação.
<!DOCTYPE html> precisa para processar e
<html lang="pt-br">
<head> entregar a aplicação para o
//head data usuário. * Ele requer o header.php,
<link rel="stylesheet" href="style.css"/> abre um bloco lógico para
</head>
processar o conteúdo e
<body>
<?php * Ele começa requerendo as requer o footer.php.
require "header.php"; configurações globais do
/* Uma lógica aplicada afim de decidir o conteúdo projeto config.php e faz
* a ser carregado. Podendo interagir com a lógica uso do autoload.php de * Por fim, ele requer o
* e regra de negócios para criar as visões */
classes do Composer para scripts.js em um arquivo
require "footer.php"; ter todos os recursos externo como o CSS, onde
?>
disponibilizados. todos os eventos estarão
<script src="scripts.js"></script>
</body>
disponibilizados.
</html>
Outros arquivos PHP:
Em um projeto web com PHP, diversos arquivos serão criados com diferentes
finalidades. Todos eles fazem parte da sua aplicação web. Como por exemplo:

Classe.php Trait.php Interface.php

/**
 /**

/**

* Um arquivo de classe PHP, 
 * Os traits em PHP servem para 

* A interface é um contrato de 

* cada classe deve ter seu
 * definir comportamentos e

* implementação da classe.

* próprio arquivo.
 * recursos comuns em classes.

*/
*/ */

Classes, traits e interfaces possuem a mesma estrutura base.

functions.php config.php Includes.php

/**
 /**
 /**



* Um arquivo de funções que pode 
 * Configurações gerais como 
 * Trechos de código que serão 

* ser incluído em qualquer outro
 * ini_sets e constantes que podem
 * reutilizados no projeto, como

* que precise usar essas funções.
 * ser incluídas globalmente.
 * headers, sidebars e footers.

*/ */ */
https://fullstackphpdeveloper.com

{
"name": "UpInside/fsphp",
"description": "Full Stack PHP Developer",
FULL STACK
"minimum-stability": "stable",
"authors": [
{
"name": "Robson V. Leite",

"email": "cursos@upinside.com.br",
"homepage": "https://upinside.com.br",
"role": "Developer"
}
],
"config": {

Seu guia de estudos


"vendor-lib": "vendor"
},
"autoload": {
"psr-4": {
"Source\\": "source/"
}
}
}

Como aprender os fundamentos na prática e acelerar


Robson V. Leite
seu aprendizado no Full Stack PHP Developer CEO UpInside Treinamentos
cursos@upinside.com.br
www.upinside.com.br

<?= "page X"; ?>


Formação Full Stack PHP Developer
O 'stack full' disponível para você estudar, aprender e se certificar em
todas as áreas de forma individual e completa.

** * * * *
DevTools HTML E CSS JS com jQuery Fs PHP Dev Git/Composer

<?= “Ferramentas, <?= “HTML5, CSS e <?= “JS, eventos, <?= “PHP, SQL com <?= “Controle de
servidor, domínio CSS3, Design efeitos e AJAX PDO, padrões da versões e de
e hospedagem” ;?> Responsivo.” ;?> com jQuery.” ;?> comunidade” ;?> dependências” ;?>

FULL STACK
Como estudar no curso
Uma forma comum que tem acelerado o processo de nossos alunos garantindo
o melhor aproveitamento no curso e o melhor resultado no aprendizado.

/EstruturaDoCurso /MÓDULO: É como são organizados os /AULA: Assim como os módulos as aulas
conteúdos do curso levando em também não devem ser puladas pois são
/Módulo 1 consideração o seu processo de projetadas em um passo a passo de
* Aula 1 evolução. evolução, em sua grande maioria 100%
* Aula 2 práticas.
* Aula 3 Um módulo nunca terá pendências de
* Aula 4 conteúdo antes dele, mas pode ter É onde você aprende o fundamento
depois, por esse motivo você nunca enquanto executa o exercício.
deve pular módulos.

/ComoEstudar

1 2 3
Contexto: Apenas assista todas as Exercício: Volte a primeira aula do Documentação: Faça uma terceira vez
aulas do módulo prestando atenção no módulo e venha fazendo junto, sem usar tanto a aula para testar na
conteúdo para entender o contexto e pausando a aula se e quando preciso prática o que aprendeu.
os resultados desejados. para desenvolver o exercício.
Suporte e certificados:
Saiba como usar o suporte um a um para tirar suas dúvidas ao mesmo tempo que colabora
com a turma FSPHP e veja mais sobre os certificados e a conquista da formação.

Use Source\Model\Course /Certificados

/AbraUmTicket Os certificados da UpInside são válidos em


território nacional para qualquer empresa ou
Abaixo de cada aula você encontra o canal de instituição, e tem reconhecimento em mais de 17
suporte um a um. Basta enviar sua dúvida sobre o países da America Latina pelos prêmios LAQI.
conteúdo da aula e aguardar a resposta em até 48
horas úteis. (geralmente feita no mesmo dia) Seu certificado pode ser emitido assim que o
requisito de estudo for concluído. Por esse motivo
IMPORTANTE: Antes de abrir um ticket verifique se o é importante assistir todas as aulas pelo menos uma
mesmo é sobre a aula, use uma boa escrita e dê vez, tendo todas as tarefas marcadas como
detalhes sobre o problema. concluídas.

Ao concluir todos cursos da formação e emitir seus


/PorQueRecusamos certificados você recebe a conquista Full Stack
Developer da UpInside.
Consideramos os tickets como conteúdo adicional de
estudo do curso, ao seguir essas recomendações você
também colabora com o restante da turma. $course = new Course();
/EstruturaDeExemplos:

/Curso /Exercícios FSPHP /Projetos FSPHP


/Módulo /01-ola-mundo-vamos-comecar /source
/Material /01-06-iniciando-um-projeto /vendor
Aula /source /assets
/assets index.php
index.php