Neste post irei utilizar o Eclipse PDT e o plugin do Flash Builder 4, MySQL e o kohana 2.3.4, pelo motivo da última versão
desse framework não estar muito estável para trabalhar com a integração FLEX.
Vamos partir do inicio, siga até o Kohana Files e faça o download
do framework, descompacte dentro de seu servidor web, nomeu caso dentro da pasta “htdocs” do MAMP e crie um projeto PHP no eclipse apontando para a pasta descompactada, quando você acessar
o kohana pelo navegador e aparecer esta página abaixo é porque você tem todos os requisitos para rodar o framework.

Depois de aprovado em todos os requisitos, renomeie ou apague o arquivo “install.php” e o framework já estará
instalado.
Aqui configuramos o acesso via navegador dos metodos retirando o “index.php” da URL.
# LINGANDO O URL rewriting
RewriteEngine On
# PROTEJA APPLICATIVOS E ARQUIVOS DO SISTEMA A SEREM VISUALIZADOS
RewriteRule ^(application|modules|system) - [F,L]
# PERMITIR QUE OS ARQUIVOS OU DIRETÓRIOS QUE EXISTEM PARA SER EXIBIDO DIRETAMENTE
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# REESCREVER TODOS OS OUTROS URLS PARA index.php E REMOVENDO O index.php DA URL
RewriteRule .* index.php/$0 [PT,L]
Para quem não conhece o funcionamento do Kohana, segue uma simples explicação, por exemplo temos
a URL “http://www.dominio.com/helloworld/message/Noronha” analogamente ficaria assim
“http://dominio/controller/metodo/parametro”
<?php defined('SYSPATH') OR die('No direct access allowed.');
class HelloWorld_Controller extends Controller
{
function index()
{
echo 'index';
}
function message( $name=null )
{
if ($name == null)
echo 'Hello World ';
else
echo 'Hello, '. $name;
}
}
Agora vamos partir para a configuração do ZEND dentro do framework Kohana.
Mesmo a documentação do Kohana falar para não alterar os arquivos do ‘core’,
mas foi a maneira mais fácil que encontrei para plugar o zend ao kohana.
Procure por, Kohana::setup() e insira logo abaixo o código:
// ALTERAÇÃO FERNANDO NORONHA
if ($path = Kohana::find_file('vendor', 'Zend/Loader'))
{
ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.dirname(dirname($path)));
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
}
// FIM ALTERAÇÃO FERNANDO NORONHA
Depois de plugar o Zend ao kohana, vamos fazer a configuração do Zend Amf para que consigamos fazer
a integração do Flex com o PHP.
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Amf_Controller extends Controller
{
function index()
{
$server = new Zend_Amf_Server();
/*
* CARREGA TODAS AS CLASSES QUE SERÃO ACESSADAS PELO FLEX
* */
foreach ( new DirectoryIterator( 'application/controllers' ) as $fileInfo)
{
if($fileInfo->isDot() || is_dir( $fileInfo->getFilename() ) )
continue;
$controllers = str_replace('.php', '', $fileInfo->getFilename() );
$controllers = ucfirst($controllers).'_Controller';
$server->setClass(new $controllers());
}
/*
* CARREGA TODOS OS VO's, CLASSES QUE SE ESPELHAM NO PHP E NO FLEX
* */
foreach ( new DirectoryIterator( 'application/valueObjects' ) as $fileInfo)
{
if($fileInfo->isDot() || is_dir( $fileInfo->getFilename() ) )
continue;
$valueObjects = str_replace('.php', '', $fileInfo->getFilename() );
$valueObjects = ucfirst( $valueObjects );
$server->setClassMap($valueObjects, $valueObjects);
}
echo $server->handle();
}
}
Essa é só a primeira parte, já já tem mais.
Parte II