Flex:使用PHP类提供数据

Flex:使用PHP类提供数据,php,apache-flex,class,Php,Apache Flex,Class,我是flex的新用户(以前从未使用过flex、flashbuilder或动作脚本),但我想学习这门语言,因为它有漂亮的RIA和图表 我在adobe上观看了视频:1小时来构建您的第一个程序,但我被卡住了: 视频中说我们必须提供一个PHP类来访问数据,我使用了flash builder给出的示例(使用zend framework和mysqli)。我从来没有用过这些,如果我算上zen+mysqli,就会学到很多东西 我的问题是:我可以使用像这样的PHP类吗?除了作为回报,flash builder还能

我是flex的新用户(以前从未使用过flex、flashbuilder或动作脚本),但我想学习这门语言,因为它有漂亮的RIA和图表

我在adobe上观看了视频:1小时来构建您的第一个程序,但我被卡住了:

视频中说我们必须提供一个PHP类来访问数据,我使用了flash builder给出的示例(使用zend framework和mysqli)。我从来没有用过这些,如果我算上zen+mysqli,就会学到很多东西

我的问题是:我可以使用像这样的PHP类吗?除了作为回报,flash builder还能做什么?我听说那是自动的

示例这可能是错误的,我在访问数据库时对类不是很熟悉:

<?php
class DBConnection {
    protected $server   = "localhost";
    protected $username = "root"; 
    protected $password = "root";
    protected $dbname   = "something";

    protected $connection;

    function __construct() {
        $this->connection = mysql_connect($this->server, $this->username, $this->password);
        mysql_select_db($this->dbname,$this->connection);
        mysql_query("SET NAMES 'utf8'", $this->connection);
    }

    function query($query) {
        $result = mysql_query($query, $this->connection);
        if (!$result) {
            echo 'request error ' . mysql_error($this->connection);
            exit;
        }
        return $result;
    }

    function getAll() {
        $req = "select * from servers";
            $result = query($req)
            return $result
    }
    function num_rows() {
            return mysql_num_rows($result);
        }

    function end() {
        mysql_close($this->connection);
    }
}

?> 

PHP和Flex之间基本上有3种对话方式。一个是通过XML,另一个是通过基于SOAP的web服务,最后一个是通过AMF。您看到的示例可能使用AMF,但使用它可能有点过分

我要做的就是创建一个只输出XML的PHP文件,并从Flex调用它。Flex代码将类似于:

<mx:HTTPService id="srv" url="your_php_file_that_outputs_xml" />

您必须添加结果处理程序和错误处理程序,但我认为这比使用AMF容易得多


=Ryan-ryan@adobe.com

我的意思是请求+输出xml,而不仅仅是请求数据,这不是太“沉重”了吗?我终于设法使用了预先配置好的PHP类,但你说得对,它似乎比你的解决方案复杂得多。这取决于你使用了多少数据。对于大型数据集,AMF会好得多。但是,如果您不处理太多数据,而且您是Flex新手,那么XML就更容易了。很高兴你能成功!