7 de novembro de 2011, às 12:55

Modulo AMF para Kohana

Desenvolvi um modulo baseado no projeto AMFPHP que consiste basicamente da utilização do core desenvolvido por eles dentro da Framework Kohana 3.2.

Sua utilização consiste basicamente em utilizar os serviços dentro da pasta amf das controllers da aplicação: APPPATH classes/controller/amf
Os serviços são lidos e se comportam da mesma maneira que o AMFPHP, sendo passado os parâmentros no método da action. Abaixo um exemplo de um serviço:

// classes/controller/amf/welcome.php
class Controller_Amf_Welcome extends Controller_Amf {

    public function action_test($foo)
    {
        return $foo;
    }

} // End Controller_Amf_Welcome

Depois de criar o serviço basta ir para a url /gateway da aplicação e testar de modo visual o serviço, o resultado esperado é retornar no resultado o valor da variável foo.

DOWNLOAD

 
9 de outubro de 2011, às 0:48

Kohana FTP

Kohana FTP is inspired in CodeIgniter FTP Class and permits files to be transfered to a remote server. Remote files can also be moved, renamed, and deleted. The FTP class also includes a “mirroring” function that permits an entire local directory to be recreated remotely via FTP.

DOWNLOAD

 
20 de setembro de 2010, às 2:37

Usando XSLT como camada View no Kohana

Comecei a pouco a me aprofundar na framework Kohana 3. Como resultado dos meus estudos iniciais criei um modulo para utilização de template XSL na mesma. O modulo possibilita a utilização de um template ou uma view comum.

Baixar Modulo XSL

Basicamente funciona da seguinte forma:

Adicione o modulo XSL a pasta module.

Modifique o arquivo bootstrap.php dentro da pasta application adicionando o modulo XSL, dessa forma:

Kohana::modules(array(
	...
	'xslt'  => MODPATH.'xslt' // Template XSLT
	...
));

Adicione uma rota home ao bootstrap.php, dessa forma:

Route::set('default', '((/(/)))')
	->defaults(array(
	'controller' => 'home',
	'action'     => 'index',
));

Na pasta application/class/controller crie um arquivo layout.php, com esse conteúdo:

<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Layout extends Controller_Xslt
{
  	public $template = 'layout';

	public function before()
	{
		parent::before();

		if ($this->auto_render)
		{
			// Define global vars
			$this->template->kanema		= 'http://www.kanema.com.br/';
			$this->template->title		= '';
			$this->template->content	= '';
			$this->template->media = Array(
				"script" => Array()
			);
		}
      }

	public function after()
	{
		if ($this->auto_render)
		{
			//
		}
		parent::after();
	}

} // END Layout

E uma outra controller chamada home.php com o conteúdo:

<?php
class Controller_Home extends Controller_Layout
{
	public function action_index()
	{
		$this->template->content = "home";

		$this->template->title = 'Home';

		$this->template->media = Array(
			"script" => Array(
				"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
			)
		);

		$this->template->items = Array(
			"item" => Array
			(
				Array(
					"name"	=> "Teste 1",
					"value"	=> "10"
				),
				Array(
					"name" => "Teste 2",
					"value"	=> "20"
				),
				Array(
					"name" => "Teste 3",
					"value"	=> "30"
				),
				Array(
					"name" => "Teste 4",
					"value"	=> "40"
				)
			)
		);
	}
}
?>

Agora na pasta application/views crie um arquivo chamado layout, com o conteúdo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset={kohana/charset}" />
		<base href="{kohana/base}" />
		<xsl:for-each select="media/script">
			<script src="{text()}" type="text/javascript"></script>
		</xsl:for-each>
	</head>

	<body>

		<xsl:include href="{content}" />

	</body>

</html>

E uma outra view com o nome de home.php, dessa forma:

<xsl:if test="items">
	<ul>
		<xsl:for-each select="items/item">
			<li><xsl:value-of select="name" /> - <xsl:value-of select="value" /></li>
		</xsl:for-each>
	</ul>
</xsl:if>

Pronto!

Você deve provavelmente irá obter o seguinte resultado:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<base href="http://localhost/kohana/" />
		<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
	</head>

	<body>
		<h1>Home</h1>

		<ul>
			<li>Teste 1 - 10</li>
			<li>Teste 2 - 20</li>
			<li>Teste 3 - 30</li>
			<li>Teste 4 - 40</li>
		</ul> 

		Desenvolvido por <a href="http://www.kanema.com.br/" title="Eduardo Pacheco">Eduardo Pacheco</a>
	</body>
</html>

O primeiro teste foi esse, caso deseje baixar o código demo click aqui:
Baixar Modulo XSL

 
8 de setembro de 2010, às 22:24

kanemacache – Camada de cache para sistemas em PHP

Esse projeto tem o objetivo de criar uma camada de simples de cache sobre um sistema em php. Você pode estar pensando que a maioria dos sistemas atuais já possui um sistema interno de cache, mas esse sistema funciona independente tornando a performance ainda melhor. É utilizada a url da renderização do script para gravar cachear o arquivo.

Para download ele está disponível no googlecode:

Ver o código

Download

 
7 de julho de 2010, às 16:39

Projeto “Feeder” – webcrawler de qualquer base para qualquer base

O princípio básico deste projeto é a criação de uma ferramenta desenvolvida em PHP para indexação de conteúdo de alta complexibilidade de forma simples e visual, utilizando XPath.
A necessidade é conseguir gerar conteúdo para uma base interna ou externa. Tornando portável a diversos bancos de dados e FTP’s externos.
A tecnologia utilizada até agora é:
phpQuery – http://code.google.com/p/phpquery/
Crystal Project – http://crystal-project.net/

O Link do ambiente truck da versão alpha é:

http://www.kanema.com.br/feeder/

 
7 de julho de 2010, às 10:42

Batalha dos navegadores de internet mais utilizados

Saiba os navegadores de internet mais utilizados no sul do pais no último mês, com base no dia de ontem. Com base nas estatíticas do Google Analytics, utilizando a API em PHP do Google.

Batalha dos navegadores

 
17 de novembro de 2009, às 10:44

Eduardo Stefani Pacheco

Onde me encontrar:

Twitter
Facebook
Last-fm
Youtube
Linkedin
flickr
Sonico
Cinemenu
Interatores
Kzuka
Blogspot
Via6
Blogblogs