English 中文(简体)
页: 1
原标题:AMFPHP: Serializing Flash Objects over HTTP without the gateway

闪电+AMFPHP是一种巨大的组合。 但在有些情况下,由于各种原因,与NetConnection的闪电是正确的工具。 Rob 曾担任过这一职务:。 http://www.roboncode.com/articles/144

他还有一个很好的实例,说明如何利用Zentd_AMF,在网上提出AMF申请,而没有PPOST和AMF-request一揽子计划来说明NetConnection利用Zend_AMF所承担的职能。

// Include the Zend Loader
include_once  Zend/Loader.php ;
// Tell the Zend Loader to autoload any classes we need
// from the Zend Framework AMF package
Zend_Loader::registerAutoload();

// Create a simple data structure
$data = array( message  =>  Hello, world! );
// Create an instance of an AMF Output Stream
$out = new Zend_Amf_Parse_OutputStream();
// We will serialize our content into AMF3 for this example
// You could alternatively serialize it as AMF0 for legacy
// Flash applications.
$s = new Zend_Amf_Parse_Amf3_Serializer($out);
$s->writeObject($data);

// Return the content (we have found the newline is needed
// in order to process the data correctly on the client side)
echo "
" . $out->getStream();

我真的喜欢这种做法,很抱歉与农林渔业部复制。 你们为什么要问一下? 最新版本利用电灯(CPHP延伸)对数据进行分类和编码。 它比ZendAMF仍在使用的方法更加快。

当然,我已经与澳大利亚航天中心合作,努力建设必要的目标,使用航天员。 我甚至拿着有效的AMF阵列,但真实数据总是用一套方法加以总结,这种方法告诉接收人,这是对服务的答复。 方法电话。

因此,在美联苯胺中,没有网关和方法包裹,可以直接将闪 Objects进行序列化?

感谢。

最佳回答

奥凯现在就开始工作。

它比Zentd_AMF解决方案更加复杂,但速度要快得多。 我的守则是:

$data = array( message  =>  Hello, world! );

// Create the gateway and configure it
$amf = new Gateway();
Amf_Server::$encoding =  amf3 ;
Amf_Server::$disableDebug = true;

// Construct a body
$body = new MessageBody("...", "/1", array());
$body->setResults($data);
$body->responseURI = $body->responseIndex . "...";

// Create the object and add the body
$out = new AMFObject();
$out->addBody($body);

// Get a serializer and use it
$serializer = new AMFSimpleSerializer();
$result = $serializer->serialize($out);

如你看到,我建造了一个新的类别<代码>AMFSimpleSerializer:

class AMFSimpleSerializer extends AMFSerializer
{
    function serialize(&$amfout)
    {
        $encodeCallback = array(&$this,"encodeCallback");

        $body = &$amfout->getBodyAt(0);

        $this->outBuffer = "";
        $this->outBuffer .= amf_encode($body->getResults(), $this->encodeFlags, $encodeCallback);
        $this->outBuffer = substr($this->outBuffer, 1);

        return $this->outBuffer;
    }
}

只有在安装了护堤后,这一类才会奏效,但很容易被困于使用“放电站”管。 我没有执行,因为我是在经过重大修改的农用植物园模式的基础上这样做的。

我希望,我把我守则中的所有班级都替换为真正的农林伙伴关系伙伴。 我试图在明天测试,并在必要时更新这一答案。

在我结束发言后,我认识到,现在几乎没有任何来自非洲计划生育协会的人实际上留在这一班子里,这只是呼吁友好化和删除第一种星号,以便客户能够理解他获得的东西。

简便、简单、快捷。

问题回答

这是一个简便的版本,不需要重述:

require_once(  amfphp/core/amf/app/Gateway.php );
require_once( AMFPHP_BASE .  amf/io/AMFSerializer.php );

$data = array( message  =>  Hello, world! )

$serializer = new AMFSerializer();
$serializer->writeAmf3Data( $data );

print $serializer->outBuffer;

无需新的线和线索。 AMFPHP 1.9, Flex 3.4。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签