Monthly Archives: June 2011

Importando códigos em php

Não sei se é o caso de todo mundo, mas quando aprendi php, o aprendi da forma mais suja possível. Sempre usava programação funcional e algumas vezes coisas das quais não me orgulho muito. Por causa disso, a forma como aprendi a importar código foi usando include e nem imaginava que haveria outras formas.

Quando conheci o paradigma(ou sub-paradigma) de orientação a objetos tentei traze-lo para o php. Mas notei que os includes necessários para fazer duas classes funcionarem juntas estavam se repetindo e dando erro de reescrita de funções.

Mais tarde fiquei conhecendo as outras três maneiras de importar códigos em php, que são:

  1. include()
    Tenta importar o arquivo que foi instruído a fazer, caso não o encontre ele é simplesmente ignorado. Caso seja um arquivo de funções e que você use alguma delas, você terá o erro alertando da falta da definição dela.
  2. require()
    Tenta importar o arquivo, caso não o encontre ele “mata” a aplicação e o interpretador para de rodar. Tem funcionalidade igual ao de um include() or die().
  3. include_once()
    Mesma funcionalidade do include, exceto que ele verifica se o arquivo já foi incluído antes, caso fora ele não faz nada.
  4. require_once()
    Basicamente a mesma coisa que o include_once, porém trava se o arquivo não foi encontrado e nem fora incluído antes.

Para classes sempre escolho usar o include_once() ou o require_once() para evitar redefinir classes, porém vejo mais gente usando o require_once() do que o include_once(), já para adicionar conteúdo estáticos, como html ou imagens, prefiro usar o include().

Copiando vetores em C

Este semestre tive na faculdade a matéria de estrutura de dados e junto com ela veio a obrigação de implementar algoritmos de ordenação de dados tanto em Java como em C e acabei tendo de resolver o mesmo dilema já explicado neste post.

Para isto resolvi usar o memmove que funciona da seguinte maneira:

memmove( (int*) vetor_destino, (int*) vetor_origem, sizeof(int) * tamanho_do_vetor );

Lembrando que a função pode ser usada para qualquer tipo de ponteiro, então é só trocar o int pelo tipo da váriavel que você está usando.

 Scroll to top