Hospedagem de Sites

18/11/2008

Hospedagem de sites de qualidade é com a empresa de host, Studio ANX.
Sempre atualizada em relação ao progresso da informática em nossos tempos, a StudioANX oferece soluções para melhorar a interação das empresas e profissionais liberais com seus clientes e fornecedores, utilizando para isso a tecnologia que tem à disposição, para manter e fortificar relacionamentos e aumentar o valor para as empresas, que buscam a plena realização de seus clientes, em suas diversas áreas de atuação.
Hospeda sites em PHP e MySQL com a confiabilidade que nós programadores precisamos.
Confira o Site http://www.studioanx.com.br/

site kamppala

Esponho hoje um trabalho de desenvolvimento em PHP, realizado em parceria com a Agência de Publicidade de São Paulo, Comunyk. O cliente é Kamppala, um look book on line.
O sistema tem módulos de cadastro de coleções, lojas e produtos. O site apresenta de forma muito dinâmica os produtos, haja vista que a técnica do AJAX foi muito utilizada, destaque para a lista de desejos, aonde o cliente seleciona os produtos que lhe interessam e enviam para Kamppala.
A Agência de Publicidade Comunika foi responsável pelo desenvolvimento do layout e tableless CSS do site, eu como programador php freelancer, desenvolvi o sistema, toda parte dinâmica do front-end e implementei o AJAX.

Site: http://www.kamppala.com.br

Patrocine meus estudos! Não, não são os meus, mas sim do meu amigo Guilherme (programador PHP).
Ele decidiu estudar inglês no exterior e escolheu a Austrália. Após ter decidido, procurou na internet informações para saber mais sobre a cidade, a escola onde irira estudar e vídeos. O que mais chamou a atenção foram os vídeos, então decidiu que quando estiver por lá, irá documentar tudo em vídeo, para informar as pessoas que planejam algo parecido com o que ele estará fazendo.
Navegando pela internet, descobriu uma idéia interesssante, como divulgar a marca de alguma empresa com a sua viagem? Foi aí que pensou no vídeos:

_“Vídeos semanais! Irei anunciar os patrocinadores nos meus vídeos.”

Achei uma excelente idéia, principalmente para agências de viagem e agências de intercâmbio, pois atingirão naturalmente um público que está muito interessado em viajar e fazer intercâmbio.

Para saber mais acesse: http://www.patrocinemeusestudos.com.br

patrocine meus estudos

Integrando_PHP_5_com_MySQL-Guia_de_Consulta_Rápida

Recomendo a utilização do livro : Integrando PHP 5 com MySQL - Guia de Consulta Rápida.
Para programadores mais experientes é uma excelente fonte de consulta quando se esquece aquela função básica, para programadores iniciantes pode ser um grande guia de aprendizado das operações básicas com PHP e MySQL.

Segue Resenha:
PHP é uma das linguagens de programação mais utilizadas na Web para a criação de páginas dinâmicas. MySQL é um SGBD (Sistema de Gerência de Bancos de Dados) relacional largamente utilizado em aplicações para a Internet, que utiliza a linguagem padrão SQL (Structured Query Language).

Este guia descreve de forma prática e direta a integração entre PHP e MySQL. Apresenta conceitos básicos da linguagem PHP, além das principais operações que podem ser realizadas sobre o MySQL e a descrição das funções de conectividade entre essas duas tecnologias. Contém ainda uma referência dos recursos do MySQL e um exemplo completo de cadastro, alteração, exclusão e pesquisa de dados.

Útil para desenvolvedores iniciantes e experientes como um guia de referência rápido, mostrando de forma didática os procedimentos de instalação, configuração e integração da linguagem com o banco de dados.

Prático para carregar e consultar a qualquer momento, no trabalho ou em casa.  

PHP para quem conhece PHP

Indico a leitura do livro PHP para quem conhece PHP.

Segue Resenha:
PHP para quem conhece PHP apresenta recursos avançados desta poderosa linguagem de programação para a Web. Aborda diversos assuntos úteis ao desenvolvedor, como cookies e sessões, upload de arquivos, geração de imagens e gráficos, arquivos PDF, templates, abstração de bancos de dados, entre outros. Além disso, contém uma abrangente revisão sobre PHP, para aqueles que tiveram pouco contato com a linguagem.
Assim como nas demais obras do autor, neste livro a didática também é o ponto forte, o que permite ao leitor o rápido entendimento de assuntos aparentemente complexos. Para facilitar a compreensão dos conteúdos, são apresentados vários exemplos de programas e, ao final, um estudo de caso envolvendo diversos recursos da linguagem.

Nesta obra, você irá encontrar os seguintes assuntos:
- Revisão da linguagem PHP.
- Como melhorar o processamento de formulários HTML.
- Manutenção de informações com cookies e sessões.
- Uso de arquivos no formato texto para o rápido armazenamento e recuperação de dados.
- Envio de e-mails utilizando o PHP, incluindo o uso do formato HTML.
- Upload de arquivos e explicação das diferenças entre o uso dos protocolos FTP e HTTP.
- Geração e manipulação de imagens, incluindo a criação de diferentes tipos de gráficos (pizza, colunas e linhas).
- Criação de documentos no formato PDF, incluindo a geração de relatórios a partir de consultas SQL.
- Ferramentas de templates (modelos) e apresentação da Smarty (http://smarty.php.net), uma das mais utilizadas.
- Abstração de bancos de dados com as extensões dbx e PEAR::DB.

Ler “PHP para quem conhece PHP” é indispensável para quem deseja se tornar um especialista nessa linguagem!

Após o sucesso do PHP, do Ruby, principalmente com a plataforma Rails, e do crescimento exponencial de Python, a Microsoft investe para disponibilizar estas novas linguagens também na plataforma .NET. Com a filosofia “desenvolva em qualquer linguagem, desde que seja na minha plataforma”, a Microsoft vem ganhando cada vez mais adeptos, e gerando cada vez mais recursos para facilitar e fidelizar (ou evangelizar, como a MS gosta de falar) o desenvolvedor.

Linguagens dinâmicas
As linguagens dinâmicas existem desde 1956, com o Lisp, depois seguidas pelo Fortran, Logo, SmallTalk, PhP, Python, Ruby, JavaScript, entre outras. Diferente das linguagens estáticas, as linguagens dinâmicas não validam o código durante a compilação, mas sim em tempo de execução, podendo ser uma grande vantagem quando é necessário fazer alterações sem muita “burocracia”.

Em projetos que se requer agilidade, o uso deste tipo de linguagem é de grande valia, pois permite realizar basicamente o que você quiser, com pouco código, porém como tudo na vida há um preço a se pagar, por exemplo: é mais difícil se aproveitar um código dinâmico do que um código “estático”.
Performance
Umas das grandes preocupações de linguagens dinâmicas é a performance da aplicação. Em testes, a versão do Python para o .NET, o IronPython apresentou performance equivalente ou superior à versão do Python baseada em C. Existe uma crença de que linguagens dinâmicas possuem uma performance inferior às linguagens estáticas, porém com as máquinas cada vez mais poderosas, esta diferença fica cada vez menos observável.

DLR
O DLR (Dynamic Language Runtime) permite rodar linguagens dinâmicas em cima do CLR (Common Language Runtime), que provê serviços comuns a todas as linguagens suportadas pelo framework. O DLR inclui funcionalidades que suportam linguagens dinâmicas, como a criação de códigos dinâmicos de forma rápida, além de prover suporte para as bibliotecas já existentes no framework .NET e manter uma interoperabilidade com as linguagens estáticas. É possível, por exemplo, utilizar bibliotecas criadas em C#, dando um poder imenso de criação, não precisando assim, recriar códigos prontos.

Atualmente a MS está desenvolvendo o suporte para DLR as linguagens Python, JavaScript (EcmaScript 3.0), Visual Basic e Ruby.
Mono
O mais famoso software para rodar e desenvolver .NET no Linux possuí suporte para o rodar linguagens dinâmicas no .NET (DLR), dando ainda mais flexibilidade.

http://www.mono-project.com/Languages

Ruby
Para manter a praticidade, a linguagem possui algumas características interessantes, na Wikipedia (2008) encontramos as seguintes informações à esse respeito:

A sintaxe é enxuta, quase não havendo necessidade de colchetes e outros caracteres.
Todas as variáveis são objetos, onde até os “tipos primitivos” (tais como inteiro, real, entre outros) são classes.
Estão disponíveis diversos métodos de geração de código em tempo real, como os “attribute accessors”.
Através do Ruby Gems, é possível instalar e atualizar bibliotecas com uma linha de comando, de maneira similar ao APT do Debian Linux.
Code blocks (blocos de código), ajudam o programador a passar um trecho de instruções para um método. A idéia é semelhante aos “callbacks” do Java, mas de uma forma extremamente simples e bem implementada.
Mixins, uma forma de emular a herança múltipla, sem cair nos seus problemas.
Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente. Os “atalhos” citados acima, por exemplo, se beneficiam da tipagem dinâmica para criar os métodos de acesso/alteração das propriedades.
Fonte: http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programa%C3%A7%C3%A3o)

Iron Python
Possui características análogas ao Ruby. Permite suporte ao Silverlight, para testar, existe um console. (http://silverlight.net/Samples/1.1/DLR-Console/python/index.htm)

O Site do projeto oficial é: http://codeplex.com/IronPython

Phalanger (PHP)
O site oficial do projeto é: http://www.codeplex.com/Wiki/View.aspx?ProjectName=Phalanger

Linguagens suportadas pela plataforma .NET
Existem uma série de linguagens suportadas pela plataforma .net. Algumas ainda em estado embrionário e não oficial enquanto outras já com apoio oficial da MS. No link abaixo, segue uma lista.

Acesse: http://dotnetpowered.com/languages.aspx

Considerações finais.
Em desenvolvimento, não está importando muito a linguagem que utilizamos. O que importa é com que rapidez e qualidade com que entregamos um projeto. É sempre importante conhecermos novas linguagens, e para isto, certamente a plataforma .NET dará todo apoio necessário.

Fonte: http://imasters.uol.com.br/artigo/8652/dotnet/rode_php_ruby_python_e_outras_linguagens_no_net/

Como já dito, hoje mostro uma forma de formatar um campo do tipo data do MySQL com PHP.
Vamos criar uma função chamada formata_data, assim toda vez que necessitar-mos formatar uma data que venha do banco, utilizare-mos a função.

Obs.: essa não é a melhor forma de se formatar uma data, é apenas um tutorial para entendermos alguns recursos do PHP.

<?php

//exemplo de data (seria o valor do campo data que vem do banco)
//aqui utilizo a função date do php para pegar a data atual e simular um valor data

$data = date(‘Y-m-d’);

//função que formata a data
function formata_data($data)
{
 //recebe o parâmetro e armazena em um array separado por -
 $data = explode(‘-’, $data);
 //armazena na variavel data os valores do vetor data e concatena /
 $data = $data[2].‘/’.$data[1].‘/’.$data[0];
 
 //retorna a string da ordem correta, formatada
 return $data;
}

//mostra a string
echo $data.‘<br><br>’;

//mostra a string formatada pela função
echo formata_data($data);

?>

Seguem dicas de performance em PHP. (obs: são mais que 25)

  1. se um método pode ser static, declare-o como static. Isso irá aumentar a performance umas 4 vezes.
  2. echo é mais rápido do que print
  3. utilize o unset nas suas variáveis para liberar memória (bons tempos em que todo mundo sabia programar em C :P.. “free your mallocs”)
  4. não use require_once()
  5. utilize o caminho absoluto na hora de dar os includes, assim o PHP não perde tempo tentando resolver o caminho.
  6. str_replace é mais rápido do que preg_replace porém strtr é umas 4 vezes mais rápido do que str_replace
  7. utilizar @ para suprimir os erros é muito lento.
  8. habilite o mod_deflate no apache
  9. feche a sua conexão com o banco se você não irá mais utilizá-la (mas não fique abrindo e fechando toda hora!)
  10. $row[’abc’]  é 7 vezes mais rápido do que $row[abc]
  11. não use funções dentro de um laço, como por exemplo, for ($x=0; $x < count($array); $x++)  porque count() vai ser executada em todo ciclo do laço. Utilize: for ($x=0, $c=count($array); $x < $c; $x++).
  12. Incrementar uma variável global é duas vezes mais lento do que incrementar uma variável local
  13. acessar um atributo de um objeto ($obj->atributo++, por exemplo) é 3 vezes mais lento do que acessar uma variável local
  14. incrementar uma variável local não inicializada é 9-10 vezes mais lento do que se ela tivesse sido inicializada.
  15. aspas simples são mais rápidas que aspas duplas
  16. uma aplicação que faça cache dos scripts php vai aumentar a performance entre 25 e 100%.
  17. utilize cache sempre que possível. SEMPRE! (claro que isso tem um onus, mas estamos falando apenas em performance aqui)
  18. Se quiser testar o tamanho de uma string, utilize isset ao invés de strlen. Por exemplo: if (!isset($foo{5})) echo “foo eh mto pequeno!”;
  19. nem tudo precisa ser OO. Métodos e objetos tendem a consumir muito mais memória.
  20. não converta toda estrutura de dados em classes. Utilizar arrays é muito mais rápido.
  21. se você possui funções que demandam muito tempo de execução cogite transforma-las em uma extensão em C.
  22. habilitar o mod_gzip pode economizar em até 80% o tráfego de dados. Sua largura de banda agradece.
  23. evite usar SELECT *. Isso dificulta a manutenção e gasta tempo desnecessário de processamento para descobrir os campos e obter os valores do banco
  24. use switch ao invés de um monte de ifs
  25. json é mais rápido do que xml.
  26. Evite utilizar metódos mágicos como __get, __set e __autoload, se possível;
  27. Se você quer descobrir o tempo em que o script começou a ser executado, é preferível utilizar $_SERVER[´REQUEST_TIME´] do que time();
  28. Veja se pode utilizar strncasecmp, strpbrk e stripos ao invés de regex;
  29. Se uma função, como de substituição de strings, aceitar tanto arrays como caracteres simples como argumentos, e se a sua lista de argumentos não é muito longa, considere fazer algumas declarações redundantes de substituição, passando um caractere por vez, ao invés de uma linha de código que aceita arrays como argumentos de busca e substituição; 
  30. Mensagens de erro demandam mais processamento;
  31. Utilize PHP Speedy

fonte: http://webpub.wordpress.com/2007/11/13/vinte-e-cinco-dicas-de-performance-para-php/
http://imasters.uol.com.br/artigo/8962/php/12_dicas_para_otimizar_seus_codigos_php/

Continuando com os tutoriais, hoje iremos realizar um “Select”.
Utilizaremos o arquivo de conexão que criamos num tutorial anterior http://www.freelancersbrasil.com/conexao-com-mysql/

<?php
//chama o arquivo de conexão com o bd
include(“conectar.php”);

//consulta sql
$query = mysql_query(“SELECT * FROM clientes ORDER BY nome”) or die(mysql_error());

//faz um looping e cria um array com os campos da consulta
while($array = mysql_fetch_array($query))
{
  //mostra na tela o nome e a data de nascimento
  echo $array['nome'].” “.$array['data_nascimento'].“<br />”;
}
?>
Explicando:

Primeiro usamos a função include do php para incluir o arquivo conectar.php que é responsável pela conexão com o banco de dados;
Realizamos a nossa consulta SQL que busca todos os campos da tabela clientes ordenando pelo nome e armazenamos na variável query, obs: no caso de erro a função mysql_error dentro da die irá retornar o erro ocorrido;
Após utilizamos a estrutura repetitiva While e criamos um array da consulta SQL através da função mysql_fetch_array, do ponto de vista lógico ficaria assim: Enquanto houver registros da consulta (que está na var query) armazene os campos no array;
Por fim mostra na tela o conteúdo do campo nome e do campo data_nascimento.

Se tudo ocorreu certo, o resultado será:

Resultado da query

 

No próximo tutorial irei mostrar como criar uma função para tratar a exibição da data.

Easyphp

Antes de começar-mos os tutoriais recomendo que tenham instalados dois programas que facilitam bastante a vida dos desenvolvedores web.

EasyPHP, que instala Apache + PHP + MySQL.
MySQL Front, ferramenta que permite a criação do banco de dados de forma visual.

Download EasyPHP:
http://sourceforge.net/project/showfiles.php?group_id=14045&package_id=103438&release_id=473390

Download MySQL Front:
http://superdownloads.uol.com.br/download/100/mysql-front/

É bem fácil instalá-los, se alguém tiver algum problema, favor enviar as dúvidas para
lucas@freelancersbrasil.com.
Com esses programas instalados estamos prontos para rodar aplicações PHP com banco de dados MySQL em nossas máquinas.

Até o próximo post, que será sobre como conectar com o banco de dados e fazer um select.