MySQL error: Table storage engine for ‘catalog_product_relation’ doesn’t have this option

Está com esse problema para executar um script SQL no MySQL? O que está ocorrendo é que de definição da tabela não é compatível com sua instalação do MySQL.

Esse problema ocorre principalmente ao realizar mysqldump na versão 5.5.x de um banco de dados do Magento, e ao importar em 5.7.x, não ter a opção para criação da tabela.

O seguinte erro ocorre ao executar o script SQL:

ERROR 1031 (HY000) at line 3002: Table storage engine for ‘catalog_product_relation’ doesn’t have this option

O problema

Isso provavelmente se deve à opção de tabela que você tem em seu CREATE TABLE DDL:

ROW_FORMAT = FIXED

Para verificar onde está o problema no scritp, pode executar no terminal o seguinte comando:

cat magento.sql | grep '=FIXED'

Somente as linhas que contém a palavra FIXED irão retornar. Para corrigir o problema, podemos realizar uma substituição através de REGEX, como nos exemplos abaixo.

Solução 1

Essa solução pode funcionar em SO linux, mas no Mac OSX apresentam erros.

sed -i 's/ROW_FORMAT=FIXED//g' magento.sql

Solução 2

Para funcionar no terminal do Mac OSX, utilize o comando abaixo:

LC_ALL=C sed -i '' 's/ROW_FORMAT=FIXED//g' magento.sql

Depois, é só realizar a importação do dump sem problemas!

SQL Join: Como e quando usar INNER JOIN, LEFT JOIN ou RIGHT JOIN

Uma artigo rápido para ajudar a entender como funciona cada tipo dessas pesquisas. Sempre que estamos começando com banco de dados, a dúvida de qual momento e como usar os JOIN no SQL surgem. OK, pra quem já está a tempos no desenvolvimento, a dúvida sempre fica.

O uso dos JOIN é essencial para conectar os dados entre as tabelas no banco de dados. Para nosso exemplo, por ser um portal focado em PHP, vamos considerar o exemplo em cima do melhor amigo que é o MySQL.

A modelagem

Para nosso exemplo, vamos considerar uma modelagem simples, imaginando um sistema de blogs onde existem artigos e categorias. O que vamos querer retornar nas consultas é os artigos que tem categorias, os arquivos com ou sem categoria, quais categorias tem artigos e ainda artigos sem categoria.

Sempre considerando que cada artigo pode ter apenas uma categoria associada.Exemplo de ER

 

Quando usar o INNER JOIN

Vamos listar todos os artigos e suas respectivas categorias. Caso um artigo não tenha categoria relacionada, não será exibido no resultado dessa pesquisa. Para isso, a query abaixo será executada.

SELECT artigos.id, artigos.titulo, categorias.titulo FROM artigos INNER JOIN categorias ON artigos.categoria_id = categorias.id

Quando usar o LEFT JOIN

Agora, vamos listar todos os artigos, mesmo que não tenham uma categoria associada na coluna.

SELECT artigos.id, artigos.titulo, categorias.titulo FROM artigos LEFT JOIN categorias ON artigos.categoria_id = categorias.id

Nesse caso, a coluna “categorias.titulo” irá retornar o valor NULL, mostrando os artigos que não tem uma categoria definida.

Quando usar o RIGHT JOIN

No caso do RIGHT JOIN, irá retornar primeiro verificar todas as categorias que tem artigos. Com isso, você irá perceber uma mudança no resultado, pois eles virão ordenados pelas categorias, caso não tenha definido nenhuma ordenação especial.

SELECT artigos.id, artigos.titulo, categorias.titulo FROM artigos RIGHT JOIN categorias ON artigos.categoria_id = categorias.id

Obrigado e até a próxima, qualquer dúvida deixe um comentário!

Composer: Usando pacotes no PHP

Caso o Composer ainda seja novo para você, esse post vai mostrar o que é, como instalar e usar para começar seus estudos.

Ele é uma ferramenta para gerenciamento de dependências para o PHP que vem ganhando muito espaço entre o desenvolvedores e tornando indispensável.

Com poucos comandos é possível definir todos as bibliotecas necessárias para o seu projeto. Ele ficará responsável por baixar e gerenciar todos os pacotes e configurar seu arquivo de autoloader.

Composer: Pacotes em PHP

O conceito

O conceito é que ele permite que você declare as bibliotecas de seu projeto, e que assim ele irá assumir o gerenciamento (instalação/atualização)-los para você.

Com isso, a instalação e atualização de novas bibliotecas ficará muitoooo mais fácil. Com alguns comandos no terminal, no caso de Linux e OS x, você manterá o projeto atualizado com as dependências.

Para quem já tem experiência com Linux, irá lembrar muito os comandos de “apt-get” dos sistemas Debian/Ubuntu.

Instalando o Composer

Para iniciar, você precisa realizar o download do arquivo phar. Para quem não conhece o phar, ele é um empacotamento de aplicações, de forma que você não precisa ser preocupar com estrutura. Você pode simplesmente baixar e sair usando em qualquer sistema.

Podemos baixar de duas formas distintas: cURL ou próprio PHP.

Download do Composer via cURL

Execute o seguinte comando em seu terminal:

curl -sS https://getcomposer.org/installer | php

Download do Composer via PHP

Execute o seguinte comando em seu terminal:

php -r “readfile(‘https://getcomposer.org/installer’);” | php

Existem outras maneiras de fazer a instalação. Caso prefira, poderá consultar a documentação para verificar a instalação.

Para sair usando, é necessário entender como ele funciona. Deve ter notado diversos frameworks no mercado que ao realizar o download, já vem com o arquivo “composer.json”. Lembre-se, é possível usar em qualquer projeto, pois ele irá auxiliar no controle das dependências do projeto.

Definindo o uso global

Recomendo que você consulte a documentação para verificar como é o funcionamento global. No caso do OS x, necessário mover o composer.phar para o /usr/local/bin/composer.

mv composer.phar /usr/local/bin/composer

Após esse comando é só sair executando pelo terminar. É possível que em determinados projetos tenha problema de permissão, para isso, execute o comando usando o sudo.

Iniciando um projeto PHP com Composer

Depois da instalação feita, é hora de criamos o primeiro projeto. Para iniciar, vamos ao arquivo de configuração.

Lembre-se de criar uma pasta dentro de seu webserver, e nela criar o arquivo de configuração. Poderá usar o modelo abaixo:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "[email protected]"
 }
 ],
 "require": {
 "php": ">=5.4.0"
 }
}

Acho que o próprio esqueleto é auto explicativo, mas segue abaixo detalhes do que você precisa preencher:

  • name: Nome do projeto (recomendável, mas não obrigatório);
  • description: Detalhamento do projeto (não obrigatório);
  • authors: Dê os créditos para quem contribuir com o projeto;
  • require: Informe quais são as necessidade do projeto. Nesse caso, obrigamos que seja necessário usar a versão 5.6 ou superior. Se a instalação falhar irá retornar um erro na hora da configuração do projeto;

Adicionando pacotes

Bem, a parte mais divertida é gerenciar os pacotes. Para saber o que adicionar ao seu pacote, poderá usar o Packagist, onde qualquer desenvolvedor pode inserir suas bibliotecas.

Para esse exemplo, vamos usar a biblioteca proem, para criação de rápido MVC. Veja abaixo nosso composer.json:

{
 "name": "Dicas de PHP",
 "description": "Primeiro projeto via Composer",
 "authors": [
 {
 "name": "Fausto Schneider",
 "email": "[email protected]"
 }
 ],
 "require": {
 "php": ">=5.4.0",
 "proem/proem" : "0.7.1"
 }
}

Executando o Composer

Agora, com nosso arquivo de configuração definido, é só executar o comando de instalação:

composer install

Ao verificar sua pasta novamente, notará que existem novos arquivos e pastas. Será criada uma pastar “vendor” e criado o arquivo “composer.lock” que é gerador após a instalação realizada com sucesso.

O último passo é criar um arquivo “index.php” e inserir o seu “autoload”. Veja nosso arquivo exemplo abaixo.

<?php

require 'vendor/autoload.php';

Se curtiu esse breve tutorial, deixe um comentário. Podemos fazer novo tutorial abordando mais detalhes.

Curso de PHP: Aprendendo mais sobre PHP em casa

Está procurando sobre Curso de PHP? Então, você está no lugar certo. Neste artigo vou falar um pouco sobre o que quais os requisitos para um programador PHP chegar ao nível ideal de profissionalismo.

Curso de PHP online

É possível sim, aprender PHP online com qualidade sem sair de casa!

Caso você já esteja iniciando no mercado de trabalho e está procurando alcançar um novo nível de conhecimento, indicamos iniciar por um curso de lógica de programação.

Após aprender melhor lógica de programação, o aprendizado de uma nova linguagem será muito mais fácil!

Tudo é muito parecido, em sua essência, alterando apenas sintaxes, por isso uma boa base de lógica será um diferencial.

Caso você já esteja mais avançado e esteja procurando uma formação completa em PHP, recomendamos um curso que você irá passar do zero ao profissional.

Um bom curso de php irá iniciar você em Algoritmo e Lógica de Programação (caso já tenha visto essa parte, sempre bom revisar o conteúdo).

Em um segundo estágio, repassar conteúdos de tratamento de dados em Arrays, Strings, Data e Hora, Arquivos, imagens, Sessões e Cookie, XML, Json, PDF, Webservice, Expressões regulares.

No estágio mais avançado, irá aprender a programar em POO, conectar em banco de dados usando PDO, além de aprender sobre mais novas tendências em PHP, como Namespace, Composer e MVC.

É sempre importante ter acesso e aprender como trabalhar com os principais frameworks do mercado, como: CodeIgnitier, Laravel, Slim, CakePHP e ainda criar um mini Framework do zero.

Existem muitos frameworks para lojas virtuais, construídos 100% em PHP, além de uma boa olhada no mercado de trabalho, estudando sobre blog procedural, plataforma EAD, blog em MVC, sistema de controle de estoque, sistema de biblioteca, sistema escolar, sistema de pizzaria e muito mais.

O que é o PHP

O PHP é, talvez hoje, a linguagem de programação de entrada no mercado da WEB.

Criado por Rasmus Lerdorf em 1995, é de fácil acesso, pois está presente em 99% dos servidores de sites e possui uma infinidade de tutoriais, frameworks, apostilas e materias para aprendizado na internet.

As plataformas para sites mais utilizadas no mundo são hoje desenvolvidas em PHP, como WordPress, Drupal, Joomla, MediaWiki, Moodle e outras, tornando assim o mercado de programador em PHP extremamente necessária e concorrida.

Por ser uma linguagem de fácil acesso, acaba por ter o maior número de profissionais informais e com pouca experiência em construir sistemas robustos com a plataforma.

Nesse quesito, cada vez mais o PHP ganha destaque e aumenta o número de demanda por especialização para tornar os informais em programadores profissionais.

Mind Map - Curso de PHP Profissional
Mind Map – Curso de PHP Profissional

Apostilas Grátis PHP

Uma ótima alternativa para curso de PHP é a fonte de aprendizado na internet que é o download de apostilas de PHP.

Nada melhor que conteúdo grátis para acrescentar conhecimento para nosso dia-a-dia. Abaixo você tem acesso a 4 apostilas de PHP.

Curso de PHP Grátis

Uma boa fonte fonte de para aprender php é o gigante YouTube. Olha aqui em baixo alguns links que separamos com aulas de WordPress, Magento e PHP Básico.

Um grande diferencial para qualquer programador é dominiar o idioma inglês. A base da programação é o inglês, e fará toda diferença você ter a leitura e compreensão do idioma, pois existem o triplo em conteúdos sobre programação no idioma inglês.

Curso Superior em Sistemas para Internet

Nos últimos semestres, grandes universidades do Brasil começaram a ofertar cursos superiores em tecnologia. O mercado de trabalho está necessitando de profissionais qualificados para o trabalho em grandes projetos, e essa pode ser uma ótima oportunidade para você se destacar nesse mercado que é bem concorrido.

Veja abaixo algumas das universidades que estão oferecendo esses cursos:

Oportunidade no Mercado de Trabalho

O perfil que as empresas procuram no profissional de PHP é as mais variadas. Posso citar alguns dos principiais requisitos presentes em diversas vagas de trabalho.

  • Desenvolver aplicativos em linguagens procedurais e orientadas a objeto;
  • Implementar aplicações dinâmicas para internet e para dispositivos móveis;
  • Integrar sistemas legados com sistemas atuais;
  • Conhecimento em ferramentas como WordPress, Magento, Drupal, Joomla;
  • Desenvolvimento de sites e sistemas para lojas virtuais;
  • Integração com redes sociais;
  • Projetar sistemas WEB com ferramentas de apoio;
1 Star2 Stars3 Stars4 Stars5 Stars (59 votos, média: 4,90 de 5)
Loading...

PHP Code Standards: Seguindo padrões com PHP

Quer saber mais sobre como melhorar a padronização de projetos com PHP? O guia “PHP Code Standards” é uma ótima referência para o desenvolvimento dos seus projetos, seguindo uma padronização de código.

Trabalho em equipe com PHP Code Standards

O trabalho em equipe compreende que devem ser considerados os elementos padrão de codificação necessários para assegurar um elevado nível de legibilidade entre o código PHP compartilhado entre vários desenvolvedores.

Simplicidade e clareza alcançada por codificação consistente poupa a equipe de erros comuns.

Facilidade na Manutenção do código

Se você precisar revisar um trecho de código em algum momento, será fácil entender sua lógica e objetivo. Por esse motivo, toda a equipe deve ser um guia padronizado no desenvolvimento do projeto.

É comum projetos começarem sem uma padronização e em determinado momento, trechos de códigos serem refeitos, por ser mais econômico reescrever do que realizar manutenção.

Nomenclatura de Classes, funções, arquivos, tudo!

Tudo no código deve seguir uma padronização. Procure estabelecer como será o padrão de nomes das variáveis, dos métodos, das classes, dos arquivos, padrão de escrita do arquivo, UTF-8 sem BOM, métodos em português ou inglês… tudo deve ser definido antes de iniciar o projeto.

Referências

Separamos uma lista com links de referências para você estudar mais sobre PHP Code Standards.

Antes de iniciar um projeto usando algum framework open-source, pesquise se ele não disponibiliza um documento de code standards. Frameworks e plataformas como CodeIgniter, Zend, Magento e WordPress tem os próprios guias de estilo.

Download PHP Code Standards PDF

No PDF para download você terá um guia para escrever um código organizado, bem estruturado e documentado. Melhorando visibilidade e facilitando futuras manutenções e implementações.

Download PDF

Dúvidas? Deixe um comentário!