Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AMFPHP: не конвертится из flex в php 
:(
    Опции темы
Stifler
Дата 5.10.2009, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



AMFPHP 1.9 beta 20080120

Класс из php в flex конвертится. Во флешке видны данные, которые я передал из сервиса.
Результаты обратного процесса менее оптимистичные:
функция сервиса вызывается;
аргумент передаётся (т.е. != null).
Пытаюсь получить поля переданного объекта - получаю null.
Получается, что flex'овский объект не конвертится в php'шный?..

Для порядка, код сервиса:
Код

<?php
global $config;
require_once('config.php');
require_once($config['model_dir'] . 'User.php');

class Service {

    public function getUsers($user) {
        global $config;
        $content = '';
        if (($user == NULL) || ($user->email == null)) {
            $content = "null";
        } else {
    $content = $user->email;
        }
       $fp = fopen("d:\\data.txt", "w");
       if(fwrite($fp, $content)){
           fclose($fp);
       };
    }
}
?>


Код php класса:
Код

<?php
/*
            int $id;
            string $email;
    string $password;
    date $registerDate;
    date $lastLoginDate;
    string $question;
            string $answer;
            int $role;
*/

class User {
    var $id;
    var $email;
    var $password;
    var $registerDate;
    var $lastLoginDate;
    var $question;
            var $answer;
            var $role;

            var $_explicitType = "com.cv.model.vo.User";

            function __construct($email, $registerDate, $lastLoginDate, $question, $answer, $role, $id = '') {
                $this->id = $id;
                $this->email = $email;
                $this->registerDate = $registerDate;
                $this->lastLoginDate = $lastLoginDate;
                $this->question = $question;
                $this->answer = $answer;
                $this->role = $role;
            }
       
        //...
    }
?>


Код flex класса:
Код

package com.cv.model.vo {
    [RemoteClass(alias="cvProject.class.Model.User")]
    
    import flash.net.registerClassAlias;
    public class User {
        
        public var id                :int;
        public var email            :String;
        public var password            :String;
        public var registerDate        :Date;
        public var lastLoginDate    :Date;
        public var question            :String;
        public var answer            :String;
        public var role                :int;
    
        static public function register() : void {
            registerClassAlias("cvProject.class.Model.User", User) ;    
        }
        
    }
}


Если кто-нибудь подскажет причину такого поведения, буду несказанно признателен!
Также буду благодарен и за подсказки по отладке приложения. Я предполагаю, что должен же отказ в конвертации сопровождаться какими-либо сообщениями. Вот только где их найти/как увидеть я, к сожалению, не знаю. Как в таком случае отлаживается работа сервиса?
PM   Вверх
Stifler
Дата 7.10.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 18.5.2007

Репутация: нет
Всего: нет



Не знаю. Так ничего и не получилось ((

Зато оказывается, что если в объект не конвертится, то передаётся как associative array.
Я не знал)
Пришлось заполнять объекты вручную:
Код

public function getUsers($user) {
       ...
        $newUser = new User();
        $newUser->setEmail($user["email"]);
       ...
    }

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.