Arquivos da categoria : Delphi 4 PHP


WordPress – Tema Compre sua Casa 1

Tema WordPress - Compre sua CasaEsta semana conclui o projeto de um website para representação comercial, este é um tema que criei para o wordpress com PHP, este tema segue todos os padrões e recomendações do WordPress.

A barra lateral esquerda e a parte inferior central suportam widgets, então o administrador do site pode mudar qualquer um dos elementos para qualquer posição, configurar número de itens listados, remover um grupo, instalar plugins do wordpress e colocar nestas posições, mudando completamente a forma que o site se apresenta.

Eu utilizei Rad4PHP para trabalhar com este projeto, mas como se trata de uma programação de tema wordpress, o design do Rad4PHP não foi utilizado, apenas gerenciamento do projeto e editor PHP com os recursos de code completion e um pouco do debug.

Para este projeto estou trabalhando em um cliente em Delphi, que conecta via XML-RPC ao site para gerenciar Posts, Comentários, Categorias, Tags. Este cliente funciona como ferramenta auxiliar para o representante comercial gerenciar os seus contatos e agenda de trabalho, para o envio de fotos criei uma ferramenta que foi integrada ao projeto, que faz um tratamento das fotos, redimencionando em batch todas as fotos e convertendo para um padrão comum.

Já estou trabalhando para melhorar este projeto, organizando melhor, adicionando atalhos e integrando com o shell do windows para que o produto esteja pronto para venda em breve.


Delphi 4 PHP – Smarty Templates 2

O D4PHP tem suporte nativo a Smarty Templates, que é um recurso muito interessante, que aumenta a produtividade ao mesmo tempo que ajuda a separar a lógica do design.

O problema que eu encontrei, é que a forma em que foi implementado, depende que o PHP esteja com variáveis globais habilitadas, como eu mantenho este recurso desabilitado, quando tentava usar Smarty Templates com D4PHP, sempre dava erro, e a mensagem de erro não ajudava muito.

Este erro só acontece se no PHP as variáveis globais estiverem desabilitadas.

Com uma dica do Jonathan Benedicto, fiz uma pequena alteração no arquivo “vcl/smartytemplate.inc.php”, para que o diretório temporário fosse carregado do ambiente e não da variável global “TMP”.

A alteração fica na function initialize(), eu comentei o código anterior e adicionei o novo, linha ~51:

function initialize(){
	require_once("smarty/libs/Smarty.class.php");
	$this->_smarty = new Smarty;    
	$this->_smarty->left_delimiter='{%';    
	$this->_smarty->right_delimiter='%}';    
	$this->_smarty->template_dir = '';    
	
	if ( preg_match( "/^WIN/i", PHP_OS ) ){
/* 	// inicio do código comentado        
		if ( isset( $_ENV['TMP'] ) ){            
			$this->_smarty->compile_dir = $_ENV['TMP'];        
		}        
		elseif( isset( $_ENV['TEMP'] ) ){            
			$this->_smarty->compile_dir = $_ENV['TEMP'];                              
		}	        
		else {            
			$this->_smarty->compile_dir = '/tmp';        
		}    
	}    
	else{        
		$this->_smarty->compile_dir = '/tmp';    
	}
*/ // fim do código comentado      

		if (getenv('TMP')){            
			$this->_smarty->compile_dir = getenv( 'TMP' );        
		}        
		elseif(getenv('TEMP')){            
			$this->_smarty->compile_dir = getenv( 'TEMP' );        
		}        
		else {            
			$this->_smarty->compile_dir = '/tmp';        
		}	    
	}                                       
	$this->_smarty->cache_dir=$this->_smarty->compile_dir;
}

Referências


Webinar: Delphi for PHP for PHP developers

Participe hoje, 26 de junho às 14:00h

A apresentação com foco nos recursos do Editor, Debugger e Profiler.

  • Recursos do código fonte
    • Error Insight
    • Sync Edit
    • Structure Pane
    • Code Insight
    • Change tracking
    • Macro record
    • Code Folding
    • Bookmarks
    • Multiple editors
    • UTF-8 support
    • phpDoc support
    • Customize the editor
    • Code formatter
  • Executando e debugando aplicações existentes, código legado
  • Visual Designer e Templated forms
  • Framework Zend
  • Programando acesso a banco de dados

 

Referências


Delphi 4 PHP e jQuery 1

O Delphi 4 PHP 2.0 já vem com a jQuery instalada, mas o mais interessante é que ele já tem um componente de apresentação de slides baseado no jQuery.

Um exemplo de uso do JQuerySlider está na pasta "C:\Program Files\CodeGear\Delphi for PHP\2.0\vcl\samples\JQSlider", ele mostra como apresentar Slides e como adicionar novo conteúdo ao Slide em tempo de execução.

O componente JQuerySlider também pode ser utilizado como exemplo para a criação de outros componentes baseados na jQuery, apesar de conveniente, a criação de componentes não é obrigatória para utilizar a jQuery com o Delphi 4 PHP.

image_thumb[4]

Estou desenvolvendo um projeto com o Delphi 4 PHP no momento, pretendo publicar as dicas do que aprender da integração do jQuery com D4PHP.


Delphi 4 PHP 2.0 + Firebird 5

Se você tentar conectar a um banco de dados Firebird com o recém lançado Delphi 4 PHP em design time, não deve conseguir, o instalador do Delphi 4 PHP tem um bug, mesmo que você não selecione o driver Interbase, ele é instalado no diretório do Delphi 4 PHP, e a IDE usa este driver ao invés do que estiver instalado no \Windows\System32.

 

image

 

A solução é simples, localize todos os arquivos gds32.dll que estiverem no diretório de instalação do Delphi 4 PHP e apague, o Delphi 4 PHP deve estar fechado, senão você não conseguirá excluir o arquivo que estiver sendo usado pela IDE. Os arquivos necessário são os instalados pelo cliente do Firebird,verifique se fbclient.dll e gds32.dll estão no \windows\system32.

Após reiniciar o Delphi 4 PHP você conseguirá conectar ao Firebird em design time usando o tipo de banco de dados Interbase.

image