prhost / new-opencart

Discussões sobre mudanças e melhorias na plataforma Opencart
6 stars 0 forks source link

ORM models #6

Open prhost opened 8 years ago

prhost commented 8 years ago

Atualmente estou usando o Eloquent ORM do Laravel para manipulação de models, é um componente do Laravel que pode ser usado em outras plataformas. Ele é bem simples de usar, semelhante ao Datamapper do Codeigniter. Se alguem não esta familiarizado com esta tecnologia confira nos links https://laravel.com/docs/5.1/eloquent e https://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional a idéia aqui é aos poucos migrar as models nativas do opencart porque na minha opinião, acho ruim escrever sql puro e não obter muito reaproveitamento com isso. Comente o que acham, deem sugestões e opiniões.

screen shot 2016-01-27 at 2 34 10 pm

FelipoAntonoff commented 8 years ago

Seria bom no caso, analisar os ORMs, focando principalmente na segurança, facilidade de uso e desempenho. Eu costumo usar o Idiorm, pena que parece não ser mais atualizado. Segue a documentação http://idiorm.readthedocs.org/en/latest/ .

Sobre SQL, eu geralmente prefiro, ainda estou aprendendo a usar ORM sem manter consultas SQL puras, adoro elas, mas com certeza se tiver um bom padrão da para usar um ORM sem consultas SQL ou deixar elas para casos mais complexos. Para módulos por exemplo, um ORM atenderia 100% sem precisar usar SQL puro, claro que também é bom ORM que suporte consultas puras e com segurança. Também com essa mudança, podemos refazer consultas que não tem bom desempenho, reparei que costumam as vezes usar mais de 1 consulta, quando podia ser feito em 1 apenas.

victorhramos commented 8 years ago

Eloquent "melhor" ORM da atualidade

prhost commented 8 years ago

Sim o desempenho sempre é um dos mais importantes, é por isso que precisamos usar um ORM popular e bem atualizado, meu voto vai para o eloquent, pois ja uso ele a um tempo nos projetos OC e é rapido e facil de trabalhar, e tambem mantive o nativo para não perder tempo modificando todas as models. Ele tambem suporta sql puro (: