Netbeans 7.1 e Rails

A minha opção preferida para trabalhar com Rails é o NetBeans, mas a partir da versão 6.9 a não há mais suporte oficial para da Oracle para Ruby on Rails,  desde então o suporte é mantido pela comunidade com um plugin não oficial.

Então mãos a obra:

Vamos começar instalando o NetBeans, há várias opções de instalação escolheremos a mais leve que é o NetBeans for PHP.

http://netbeans.org/downloads/index.html

Depois de baixado o seguinte comando na pasta do arquivo:

sh netbeans-7.1-ml-php-linux.sh

Siga as orientações da tela de instalação. Após a conclusão da instalação abra o netbenas clieque e:

Ferramentas >> Plug-ins na aba “Configuração” clique em adicionar

Preenchas os campos da seguinte forma:

Nome: Rails

URL: http://deadlock.netbeans.org/hudson/job/ruby/lastSuccessfulBuild/artifact/build/updates/updates.xml

Confirme, em seguida na aba “Plug-ins disponíveis” clique em “Recarregar catálogo” procure por rails e instale o plug-in.

Reinicie o NetBeans e a sua IDE já estará configurada.

Anúncios

Instalando PHP5 no Linux Ubuntu

É muito fácil instalar o php no Ubuntu, só é preciso abrir o pronpt de comando e executar os seguintes comandos.

Instalando o Apache2

sudo apt-get install apache2

Instalando o PHP 5

sudo apt-get install php5

Instalando algumas bibliotecas

 sudo apt-get install php5-mysql && php5-imagick && php5-pgsql

Testando
Crie um arquivo na pasta onde os arquivos do apache são carregados para testar.

sudo gedit /var/www/config.php

Inclua o seguinte código e salve o arquivo.

<?
  phpinfo();
?>

Se tudo deu certo quando você abrir o http://localhost/config.php você irá visualizar as informações sobre a sua instalação do PHP.

Muito mais simples do que instalar no windows.

Até a próxima.

Verificar tempo de carregamento e memória utilizada com PHP

Elaborei um script super simples para verificar a performance das nossas páginas em PHP. Ele tem o objetivo de verificar o tempo total de carregamento de uma página, a memória gasta e o pico de memória utilizada.

Para este código em especial, usei 3 funções que são explicadas na documentação do PHP.

microtime

memory_get_usage

memory_get_peak_usage

Função

function status($start){
echo '<div align="right" style="padding:4px 10px;margin:0;position:absolute;bottom:0;right:0;background:#5f7d77;z-index:999;color:#FFF">'.
round(memory_get_usage(true)/1024,2).'KB | '.
round(memory_get_peak_usage(true)/1024,2) . 'KB |'.
round(microtime()-$start,3).'s</div>';
}

Como usar:

Registre em uma variável na primeira linha do seu documento o microtime do início do carregamento.


<?php
$start = microtime();
...

Na ultima linha chame a função status desta forma:


...
status($start);
?>

O resultado:



Frameworks PHP brasileiros

Hoje vou falar sobre duas ferramentas em PHP desenvolvidas por brasileiros que podem nos auxiliar muito no desenvolvimento das nossas aplicações web.

O primeiro é um framework ainda em fase beta, mas muito promissor, o SpaghettiPHP, ele é Open Source e desenvolvido por dois brasileiros (Rafael Marin e Julio Greff).

O  Spaghetti possui algumas características interessantes: é um framework MVC, possui abstração de banco de dados, url amigáveis e suporte para componentes deixando o desenvolvimento mais flexível. Ele se assemelha muito com o CakePHP, para conferir é só acessar o site oficial do projeto em http://spaghettiphp.org/.

Outra ferramenta muito atraente é o NEOS PHP, desenvolvido pelo Paulo Rocha, não testei ainda, mas assisti todas as videoaulas disponíveis no site e gostei muito do que vi, principalmente no que diz respeito à flexibilidade e facilidade na utilização. Mesmo para iniciantes em PHP as videoaulas são muito didáticas o que facilita o entendimento de como funciona o framework MVC.

Site oficial:  www.neosphp.com

Em breve postarei aqui no meu Blog uma série especial de como desenvolver o seu próprio framework do zero utilizando PHP, aguardem!



PHP 5 OOP (Parte 2) Construtoes, Destrutores e manipulação de TXT

Olá amigos, continuando a nossa série sobre Orientação a Objetos com PHP5, vamos conhecer hoje dois métodos (funções) especiais que são muito usadas na OO, que é o construtor __construct() e o destrutor __destruct() . Como o próprio nome já diz o método construtor é executado quando construímos (instanciamos) um objeto a partir de uma classe, no nosso exemplo criaremos uma classe que que manipula arquivos de texto.

Vejamos os exemplos de implementação de objetos:

 

Sem método cosntrutor:

$arquivo = new Arquivos();

$arquivo->recebePasta($pasta);

$arquivo->recebeNome(“exemplo.txt);

 

Com o método construtor:

$arquivo = new Arquivos($pasta, “exemplo.txt”);

 

Os códigos anteriores podem fazer a mesmíssima tarefa, mas a implementação neste caso é muito mais prática usando o método construtor.

 

O método destrutor é chamado automaticamente quando não existe mais nenhuma referencia ao objeto. No exemplo a seguir usaremos o destruct par para fechar um arquivo, pois ele não será mais usado.

 

Neste tutorial também usaremos três funções bem interessantes do PHP:

 

Fopen() abre um arquivo ou URL.

Fwrite() escreve no arquivo que foi aberto pelo fopen().

Fclose() fecha o arquivo que foi aberto pelo fopen().

Vamos a prática: (Caso você não entenda bulhufas deste código veja a parte 1 do nosso tutorial).


<?
class Arquivos
{
var $nome;
var $pasta;
var $link;
//método construtor
function __construct($pasta_a, $nome_a){
$this->nome = $nome_a;
$this->pasta = $pasta_a;
$this->abrirArquivo();
}
function abrirArquivo(){
$arquivo = $this->pasta.$this->nome;
if(@!$this->link = fopen($arquivo, "a")) {
echo "Erro abrindo arquivo ($arquivo)";
exit;
}
else{
echo "Arquivo {$this->nome} criado com sucesso! <br />";
}
}
function escreverNoArquivo($conteudo){
if (@!fwrite($this->link, $conteudo)) {
echo "Erro escrevendo no arquivo ($arquivo)";
exit;
}
}
//Método destrutor
function __destruct(){
if(@fclose($this->link)){
echo "O arquivo {$this->nome} foi fechado <br />";
}
}
}
// Exemplo de implementação 1
$arquivo1 = new Arquivos("c:/","teste1.txt"); //método construtor
$arquivo1->escreverNoArquivo("Olá amigos, mais um exemplo...");
// Exemplo de implementação 2
$arquivo2 = new Arquivos("c:/","arquivo.sql"); //método construtor
$arquivo2->escreverNoArquivo("create database meu_blog;");
?>

Será exibida na tela a seguinte resposta:

tuto2_1.jpg

Verifique o seu diretório c: e você encontrará os arquivos que acabamos de gerar.

tuto2_2.jpg

Até a próxima, dúvidas podem ser postadas nos comentários.

Orientação a Objetos com PHP5 (Parte 1)

Primeiro vamos entender o conceito de objetos. Tudo o que você vê no mundo real pode ser tratado como objetos – pessoas, animais, plantas, carros, aparelhos eletrônicos etc. Os programas de computador e web sites também podem ser entendidos como objetos.

 

Os objetos só podem ser formados a partir de um modelo, neste modelo damos todas as características e funções do objeto. Para este modelo damos o nome de classe, que é a principal termologia da orientação a objetos.

 

Vamos criar uma classe em php:

<?

class nomedaclasse{

 

}

 

?>

 

Geralmente o nome da classe é um substantivo, pois ela representada um objeto, ex: banco de dados, usuário, carro, notícia, comentário, livro.

 

Todo objeto tem característica e propriedades que são chamadas de atributos do objeto, que no PHP falando de uma forma bem simplista são tratadas como uma variável veja o exemplo:

 

<?

class Noticia{

            var $titulo;

            var $texto;

            var $data;

}

?>

 

Ainda assim a nossa a nossa classe não está pronta, faltam os métodos que representa tudo aquilo o que o nosso objeto pode fazer, geralmente para nomeá-las usamos um verbo no gerúndio – mostrar, pegar, limpar, receber, criar – Veja na prática:

 

<?

class Noticia{

            var $titulo;

            var $texto;

            var $data;

 

            function receberMateria($tituloMateria, $textoMateria){

                        $this->titulo = $tituloMateria;

                        $this->texto = $textoMateria;

                        $this->data = date(“d/m/Y”);

            }

}

?>

 

Observação. Você deve ter percebido que utilizamos a variável $this->, com ela nós podemos acessar as variáveis (atributos do objeto) e os seus métodos. Para acessar, por exemplo, o método que acabamos de criar faríamos isso: $this->recebeMateria(“Titulo da matéria”,”Texto…..”).

 

Agora que já explicamos os conceitos de métodos, atributos e a variável $this, vamos completar a nossa classe.

<?

class Noticia{

            var $titulo;

            var $texto;

            var $data;

 

            function receberMateria($tituloMateria, $textoMateria){

                        $this->titulo = $tituloMateria;

                        $this->texto = $textoMateria;

                        $this->data = date(“d/m/Y”);

            }

           

            function mostrarMateria(){

                        echo “<h1>{$this->titulo}</h1>”;

                        echo “Data: {$this->data}”;

                        echo “<p>{$this->texto}</p>”;

            }

}

?>

 

Agora que a classe está pronta precisamos criar um objeto a partir dela, em outras palavras instanciar o objeto a partir de uma classe, para isso usaremos o comando new . Usar comando new  é muito simples, siga esse esquema: $objeto = new NomeDaClasse(); como no exemplo a baixo onde instanciaremos a classe Notica.

 

<?

class Noticia{

            var $titulo;

            var $texto;

            var $data;

 

            function receberMateria($tituloMateria, $textoMateria){

                        $this->titulo = $tituloMateria;

                        $this->texto = $textoMateria;

                        $this->data = date(“d/m/Y”);

            }

           

            function mostrarMateria(){

                        echo “<h1>{$this->titulo}</h1>”;

                        echo “Data: {$this->data}”;

                        echo “<p>{$this->texto}</p>”;

            }

}

 

$noticia_1 = new Noticia();

$noticia_1->receberMateria(“Tutorial de OO”,”Agora estamos aprendendo o conceito de instância”);

$noticia_1->mostrarMateria();

?>

 

O resultando será este:

 

oo1.gif

 

Dúvidas podem ser postadas nos comentários, até a próxima.

Executar PHP no prompt de comando.

Fiz um vídeo tutorial que mostra como configurar e usar algumas funcionalidades do PHP no prompt de comando.

A execusão do PHP no prompt de comando é muito usada por frameworks como Symfony, Akelos FrameWork e CakePHP.

Executando o PHP no prompt de comando