PHP-GTK querendo aprender mais

0

Posted on : 03-09-2006 | By : .rafa | In : PHP, Programação

PHP-GTKEstava procurando documentação e ajuda para desenvolver em PHP-GTK percebi que não há muita ajuda para esta ferramenta.

O php-gtk é mto forte, onde até podemos comparar ao JAVA no começo, todo mundo sabia que era bom mas ngm conseguia fazer uma coisa legal pois precisavam de ferramentas de auxílio para o desenvolvimento em massa. Ai surgiu várias comunidades que desenvolveram o eclipse e outros mais para trabalhar com o java, e estava vendo que para desenvolver uma ferramenta boa podemos tbm fazer em ph-gtk, não sei os limites ainda da ferramenta pois tem que ser feito mta coisa ainda pelo o que estou notando.

Por isso estou montando este post para saber quem estaria afim de montar uma comunidade para trabalhar em paralelo para montar quem sabe um eclipse com duas interfaces, uma com cara de eclipse para texto somente e outra com cara do NetBeans ou delphi que for.

Ae brasileiros... vcs tem mais força do que uma sun para ganhar com este projeto ou só pagando e apoiando a idéia com ajuda R$ é que vai ser feito algo para melhorar essa idéia? Bom não sei mas o que eu acho é que temos mta capacidade para fazer isso ir p/ frente e melhorar e competir com algumas ferramentas.

Alguns sites que encontrei sobre o assunto:

IDE para desenvolvimento
Tutorial para iniciantes
Como criar uma aplicação com o PHP-GTK
Site oficial do PHP-GTK

Eu dei uma olhadinha como ficam os softwares em PHP e gostei mto, rápidos e eficientes, rodam em Linux e Win. É uma vantagem tremenda.

Para quem não sabe do que estou falando aqui vai uma palhinha do PHP-GTK:

O que é PHP-GTK?

"PHP-GTK é uma extensão do PHP que permite à você escrever no lado-cliente, aplicações multi-plataforma. Esta é a primeira extensão para o PHP deste tipo, e foi escrita em parte para provar que o PHP é capaz de ser uma linguagem de uso-geral que pode ser usado para muito mais do que somente escrever aplicações no ambiente web.

Esta extensão não irá permitir à você mostrar aplicações GTK+ em um navegador-web. A intenção dela é criar aplicações GUI autônomas (standalone)."

Bom assim que eu tiver mais detalhes tbm estarei postando aki! Sou um adepto ao PHP-GTK

Trocando extensão .PHP->.RS e manipulando URL’s (Apache+PHP)

7

Posted on : 28-08-2006 | By : .rafa | In : Linux (RH), PHP, Programação, Windows

Hoje estava dando uma olhada em alguns site e encontrei um artigo do BOZO no site PHPBrasil.com onde ensina como manipular URL's e achei mto interessante e fui pesquisar um pouco mais e achei uma vasta documentação sobre.

E uma coisa, que sempre me perguntam. Posso alterar a extensão de .php para .rs?

Sempre respondi que poderia mas tem q fazer isso no servidor e dai vão alterar todos os sites que contenham php, entao isto é inviavel. Acabei descobrindo com esse artigo que estava totalmente errado.

Caso seu servidor tenha o apache instalado podes ter controle de diretórios com um arquivo chamado .htaccess

Vamos fazer um pequeno exemplo:

Crie um arquivo .htaccess e adicione dentro deste as seguintes linhas

AddType application/x-httpd-php .rs DirectoryIndex index.rs index.php index.html 

AddType application/x-httpd-php .rs
Indica que todos os .rs serão do tipo PHP, quer dizer serão interpretados como php mesmo sem a extensão .php e sim .rs
DirectoryIndex index.rs index.php index.html
Bom isso já diz tudo o Index do diretório caso não seja informado a página a ser mostrado irá procurar um index.rs se não achar vai p/ o index.php e assim vai. Então é só ter um index.rs dentro do diretório e blz.
-------

Agora o que vi noutro site e vou transcrever aqui é sobre o módulo Rewrite do apache.
Para quem não sabe esse sim tem editar o httpd.conf do apache e descomentar a linha

LoadModule rewrite_module modules/mod_rewrite.so

É só tirar o # da frente desta linha e reiniciar o servidor apache.

#    AllowOverride None      AllowOverride All

Comentar o AllowOverride None ou trocar por All
Verificado se isso está da forma indicada acima dentro daquele mesmo arquivo .htaccess que vais por dentro do diretório onde estão os seus fontes php:

RewriteEngine on RewriteRule ^([a-z,0-9,A-Z,_-]+)$ index.rs?ID=$1

Isto irá fazer o mesmo efeito dos flog's espalhados no mundo como por exemplo www.rstoever.com/acesso/leite

dentro do diretório acesso há o arquivo .htaccess que irá fazer o que? Pegar a variavel indicada como leite e transportala para o $1 como se fosse um parametro do MSDOS ou Linux, e irá redirecionar para o index.rs?ID=$1 que foi feito anteriormente.
Arquivo index.rs

echo "ID.rs -> ".$_GET['ID'];

Mais referencias:
PHPbrasil - Manipulando URL com .htaccess
httpd.apache.org/docs/1.3/howto/htaccess.html
apache.org/
httpd.apache.org/docs/1.3/mod/mod_rewrite.html
pt.wikipedia.org/wiki/Express%C3%A3o_regular

Code Generator CRUD

3

Posted on : 17-08-2006 | By : .rafa | In : PHP, Programação

DOWNLOAD Source : codeGen.phps / codeGenCRUD.php

Hoje em dia estava usando somente a classe codeGen para conseguir os getters e setters dos campos que eram not nulls entre outros, mas estava tendo a necessidade de fazer algo que me ajudasse em rendimento para o meu desenvolvimento, mais ainda.

Desenvolvi o codeGenCRUD onde ele faz o INSERT, UPDATE, SELECT e DELETE conforme é informado os campos e solicitado para executar o salvar, deletar ou consultar.

Ainda não tive tempo para documentar corretamente e também traduzir para o inglês, assim internacionalizando como fiz noutro, mas logo estarei fazendo isso e estarei atualizando o fonte.

Em relação ao codeGen somente acabei fazendo algumas melhorias, então já estamos com uma versão mais power agora!

Detalhes sobre o codeGenCRUD estarei disponibilizando assim que eu terminar a documentação e tradução.

changelog

CodeGenerator

28/08/06
* fixed :: ao buscar vários registros nos métodos get's dos objetos pode ser informado o indice
23/08/2006
* fixed :: acrescentado a variavel _tablename para poder ser usado corretamenta no CRUD posteriormente
* fixed :: Verificado que nos campos numéricos quando não retorna nada tem que retornar 0

CodeGeneratorCRUD

28/08/06
* fixed :: deixado a critério a forma de select nas consultas (VIA ARRAY OU VIA OBJETO)
* bugfixed :: quando se faz uma consulta não estava chamando a função setter do objeto.
25/08/06
* fixed :: criado funções de controle para a função limit do MYSQL
* fixed :: alterado a função de mensagem agora não há necessidade de informar o nome da classe e tudo mais, se utiliza das variáveis do próprio PHP __CLASS__ e __FUNCTION__
* fixed :: criado função que retorna qtos registros há em uma tabela
* fixed :: criado função que retorna o status da execução da query

23/08/06
* bugfix :: correção dos campos para caixa correta a do banco de dados
* bugfix :: correção das tabelas com espaçamento com caracteres do tipo "_"
* bugfix :: correção ao criar os sql que atualização e inserem colocam na cláusula where os valores com 'string' em vez de colocarem valor numérico para campos inteiros ou floats.
* fixed :: acrescentado a função rename para a correcao dos bug's acima

DOWNLOAD Source : codeGen.phps / codeGenCRUD.php

Conteúdo Programático (Curso PHP Básico)

4

Posted on : 08-08-2006 | By : .rafa | In : PHP, Programação

PHP Básico

1.    O que é o PHP
•    Histórico
•    Características do PHP
2.    Instalação do PHP
3.    Noções Básicas de Programação
•    Começando a programar
•    Estrutura de um programa PHP
•    Exibindo a página no navegador
4.    Manipulando Dados em PHP
•    Dados numéricos
•    Strings
•    Constantes
•    Variávies em PHP
•    Operadores
5.    Estrutura de Controle em PHP
•    Comandos condicionais
•    Comandos de repetição
•    Controlando o fluxo de execução
6.    Funções
•    Definição de função
•    Como criar uma função
•    Passando parâmetros para funções
•    Reutilizando funções
7.    Utilizando Includes em PHP
Read the rest of this entry »

Gerador de classes getter e setters do banco de dados (Mysql)

0

Posted on : 25-07-2006 | By : .rafa | In : PHP, Programação

DOWNLOAD
Source : codeGen.phps

Atualmente em meus trabalhos feitos em PHP utilizo alguns frameworks.

* smarty PHP (do grupo PHP.net)
* pear.php.net (do grupo PHP.net)
* package DB.pear.php.net
* package HTML_AJAX.pear.php.net
* E para desenvolvimento a ferramenta da Zend o ZendStudioClient 5.0

E desta forma tenho como controlar via ajax as entradas de dados e minhas templates, mas sempre há uma variável que é apresentada, a do javascript
desabilitado ou não carregado por completo.
E o controle fica somente na programação do meu php, onde tenho que ficar fazendo if e tals, mas para simplificar resolvi fazer essa classe que gera
classes e objetos que ao serem criados eles tem caracteristicas próprias onde eu ou qualquer programador teria que escrever. Como por exemplo:
O usuário, senha da tabela de usuários tem que ser informado, obrigatoriamente.
Ai pensei em fazer uma classe

class Usuario {
private $_idusuario;
private $_idpessoa;
private $_senha;
public function getIdusuario() {
return $this->_idusuario;
}
public function setIdusuario($intIdusuario) {
$this->_idusuario = $intIdusuario;
}
public function getIdpessoa() {
return $this->_idpessoa;
}
public function setIdpessoa($intIdpessoa) {
$this->_idpessoa = $intIdpessoa;
}
public function getSenha() {
return $this->_senha;
}
public function setSenha($strSenha) {
$this->_senha = $strSenha;
}


Read the rest of this entry »

PHP e outras linguagens: Expressões regulares

0

Posted on : 21-07-2006 | By : .rafa | In : PHP, Programação

Hoje fui perguntar a um colega meu sobre a função preg_match() do PHP como funciona e o que são aqueles caracteres e tals, que agora aprendi que são os metacaracteres... e ele me disse que existe tutorial de expressoes regulares em portugues, onde em ingles nao estava entendendo nada. Ai me passou o link do Aurélio Marinho Jargas e detalhe o cara é daqui de SC.. oh magavilha catarinenses.

E quem gosta de fazer uma Googlezada.

Documentação do PHP – PHPDoc

2

Posted on : 20-07-2006 | By : .rafa | In : PHP, Programação

PHPDoc, quem nunca ouviu falar sobre documentação no PHP ou em outra linguagem. E claro já ouviram falar, pq aquele programador nao comentou isto ou aquilo, putz.. agora tenho que ficar lendo a loucura dele p/ tentar entender o que ele queria fazer desta função e tals. Bom para padronizar entao os seus códigos PHP achei na net alguns documentos sobre os comentários de código PHP e JAVAdoc onde ferramentas utilizam-se disto para gerar um documento sobre o seu código fonte.
E para começão devemos nos ater ao pequenos detalhes, primeiro que o comentário para isto deve estar em /** comentario */, não pode se esquecer dos dois asteriscos dps da barra, e claro a tag do comentário deve comecar sempre com um arroba (@).
Estas tag´s são padronizadas, entao nao invente de criar uma ou várias, o melhor é usar o que já fizeram que o seu programa vai ficar bem bonito.

Descrição de algumas tags especiais:

/**
* @access Especifica o tipo de acesso(public, protected e private).
* @author Especifica o autor do código/classe/função.
* @copyright Especifica os direitos autorais.
* @deprecated Especifica elementos que não devem ser usados.
* @exemple Definir arquivo de exemplo, $path/to/example.php
* @ignore Igonarar código
* @internal Documenta função interna do código
* @link link do código http://www.exemplo.com
* @see Pode ser utilizada para realizar uma referência cruzada
para outra classe, interface, método, constructor, campo
ou URL:
* @since Desde o codigo foi feito - fundação
* @tutorial Um pequeno tutorial
* @name Especifica o apelido(alias).
* @package Especifica o nome do pacote pai, isto ajuda na
organização das classes.
* @param Especifica os paramêtros muito usado em funções.
* @return Especifica o tipo de retorno muito usado em funções.
* @subpackage Especifica o nome do pacote filho.
* @version Especifica a versão da classe/função.
* @exception Utilizada para a declaração de métodos, construtores
e deveria consistir no nome da exceção seguida de
uma breve descrição sobre a circunstância em que a
exceção é lançada:
* |------> Exemplo : @exception RecordNotFound o registro
informado não foi localizado
*/


Exemplo parte de código documentado com PHPDoc.


/**
* Comentário de cabeçalho de arquivos
* Esta classe de pessoas
*
* @author Rafael Stoever
* @version 0.1
* @copyright GPL © 2006, rstoever.com
* @access public
* @package Production
* @subpackage Pessoa
* @example Classe Pessoa();
*/

class Pessoa {
/**
* Comentário de variáveis
* Variável privada que controlará o nome da pessoa.
* @access private
* @name $nome
*/
private $nome = "";

/**
* Construtor da classe
* @access public
* @param String $nome
* @return void
*/
puclic function __construct($strNome = "") {
$this->setNome($strNome);
}

/**
* Função para atribuir valor para o nome da pessoa
* @access public
* @param $strNome Variavel String que irá receber o nome da pessoa
* @return void
*/
public function setNome($strNome = "") {
if (empty($strNome)) $this->nome = "Anonimo"
else $this->nome = $strNome;
}


Fontes: www.phpdoc.org
pear.php.net/package/PHPDoc
sourceforge.net/projects/phpdoc/
-------------
E noutra hora explicarei como instalar o phpdoc na sua maquina para gerar esta documentação.

SmartyPHP e alguns plugins mto bons

4

Posted on : 17-07-2006 | By : .rafa | In : PHP, Programação

Quem é que nunca quis fazer um daqueles menus que ao passar o mouse o menu se expande e aparece seu itens e subitens e assim vai, ou mesmo fazer aqueles controles de check all ou unckeck all num formulário, e assim vai.. Validação de formulários, paginação do PHP entre outros que podemos conferir neste link.

E detalhe, quem estiver com problemas para solucionar no smartyPHP pode acesso esse forum que é super. 

 

Alguns plugins que já estou usando: 

SmartyValidate: Classe de validação de formulários.
SmartyFormtool: Ferramentas para formulários usando javascript.
SmartyPaginate: Paginação parecida com a do google.
SmartyMenu: Classe para fazer menus do tipo dropdown onMouseOver, e controlado por CSS's.

 

Erro no smartyPHP (magic quotes)

0

Posted on : 27-06-2006 | By : .rafa | In : PHP, Programação

Estava tendo um problema que de uma hora para outra parou de funcionar:

coloquei entre o {literal} a linha a seguir

{literal}
  <script type="text/javascript" src="js/styleswitcher.js"></script>
{/literal}

E a saida na página foi a seguinte:


Na realidade ele comentou as minhas aspas duplas como se fosse um PHP e tals, fazendo que não chame o meu javascript melhor dizendo qualquer coisa que utilize o {literal} está fazendo isto, meus CSS tbm.

Outra coisa que estou achando estranho é a mensagem que está me dando ao chamar o arquivo de configurações

{config_load file="test.conf"}

Erro que aparece é o seguinte
Fatal error: Smarty error: [in site.tpl line 1]: syntax error: invalid attribute name: 'test.conf\' (Smarty_Compiler.class.php, line 1536) in C:\web\efotos\Smarty\libs\Smarty.class.php on line 1095
Mas caso eu tire as aspas duplas funciona numa beleza, mas poderia tirar as aspas e tals, mas o problema parece q está sendo estas benditas aspas, o que fazer ?

Configurações: PHP 5.1.4 e testado tbm no 5.1.2; Apache 2.0; Smarty 2.6.14; WinX pro SP2
E acabei descobrindo como arrumar isto e foi altera no php.ini o magic_quotes_runtime que pelo visto é este o problema.

Achei a solução no forum do site do smartyPHP

«php.ini»

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

languages para usar com o gettext

0

Posted on : 18-06-2006 | By : .rafa | In : PHP, Programação

achei um xml muito bom para sabermos qual a codificação do language que o cliente vai utilizar.

locale.xml