Galera sou novo em PHP, mas tenho algum conhecimento válido… hehe
Estou com uma dúvida, sempre fiz sistemas baseados em formulários com GET ou POST (ás vezes um dois dois com AJAX), gostaria de saber se tem alguma outra forma de fazer isso mais seguro. Ouvi falar de REST API mas não entendo muito, estou estudando para ficar mais profissional no PHP, já trabalho com ele, conheço OO, MVC, PDO, mas estou correndo atrás de melhorias… Aproveitando esta pergunta, alguém tem um FRAMEWORK para recomendar, não sou muito fã, mas percebi que nas empresas isso é muito válido, então é outra coisa que estou correndo atrás também.
Obrigado!
Lucas, meu xará,
GET e POST são dois verbos HTTP. Existe uma série de outros, cada um com uma funcionalidade definida (isso teoricamente, você pode utilizar da forma como desejar, nada te impede). Uma API RESTful, nada mais é do que aquela que utiliza os verbos http para caracterizar o intuito das requisições, como eles foram concebidos, seguindo o padrão. Quando uma API é RESTful, você já sabe o que esperar como consequência de utilizar os verbos HTTP, porque você sabe para que serve cada verbo de acordo com o padrão.
Por exemplo: imagine que você utiliza o POST para criar recursos, DELETE para apagar ou desassociar, PUT para atualizar, e etc na sua API. Como essas são as intenções para as quais esses verbos foram criados, sua API é RESTful. Claro, não é tão simples assim, existe também questões como ser stateless, as URLs como endereços para recursos específicos e navegáveis, mas é basicamente isso.
Em poucas palavras, RESTful é isso, só uma convenção. Nada te obriga a segui-la, mas é interessante adotar o padrão e não precisar reinventar a roda, alem de ficar claro para qualquer desenvolvedor como tua API funciona quando você diz que ela é RESTful.
Você pode ler mais sobre os verbos HTTP aqui neste artigo do DevMedia: Serviços RESTful
A questão da segurança, não tem absolutamente nada a ver com ser RESTful ou não, mas sim de criptografia dos dados. A forma mais simples de assegurar a transferência confiável é utilizar SSL, porque as ferramentas de criptografia já estão todas prontas, basta utilizar (e claro, comprar um certificado de SSL em uma autoridade certificadora para utilizar em produção). Utilizar SSL com o protocolo HTTP caracteriza o famoso HTTPS, a transferência HTTP de forma criptografada.
Sobre frameworks, sei muito pouco sobre PHP. Cheguei a estudar e gostei bastante do Laravel, mas isso já faz uns 2 anos e pode ter mudado. Na época também vi que um extremamente utilizado era o Zend Framework (deve ser ainda), e também o Code Igniter.
O pessoal que utiliza vai saber responder isso bem melhor do que eu!
Cara valeu, só to com essas dúvidas porque meu primo esta trabalhando em uma empresa fora do país ai quando falo com ele me sinto meio burro porque ele fala e eu só fico “ahã sei…ahã” kkk… Não da cara, eu vejo alguma coisa aqui que ele já viu faz décadas. Mas valeu, se tiver algumas dicas para mim de programação como o que estudar, sou todo ouvido!
O problema é que não existe uma trilha perfeita de aprendizado para seguir, de forma totalmente linear. Não só nesse assunto, mas no mundo da computação inteiro. A grande maioria dos conceitos dependem uns dos outros. O segredo é não desistir, vai estudando e pesquisando quando você não entender algo específico, que uma hora tudo clica na tua cabeça e passa a fazer sentido.
Você vai, por exemplo:
- Estudar um pouco de PHP
- Estudar um pouco de HTTP
- Voltar pro PHP e ver que o que você estudou sobre HTTP se aplica ali e faz sentido, aprendendo mais PHP
- Voltar pra HTTP e aprender mais um pouco
- Repita
Não significa que você vai parar totalmente de pensar em PHP e trocar teu mindset para HTTP. O estudo é sempre feito de forma paralela, não apenas de 2 conceitos como PHP e HTTP, mas uma porrada de outros, como lógica de programação, orientação a objetos de verdade, otimização de recursos, segurança e criptografia, etc. Sempre há o que aprender, sempre há como melhorar.
Dá uma olhada aqui que talvez ajude: O que fazer primeiro?!