Flex Actionscript PHP и Mysql

Чем больше я читаю, тем больше это смущает меня...

Таким образом, внутри сценария действий я записываю функции проекта flex mobile, а внутри файлов php я записываю функции, с которыми я использую связь с базой данных?

Существуют ли примеры приложений, которые используют как ActionScript, так и PHP . Теперь я также запутался в amfphp. Любая помощь будет отличной

1 ответ

Вам пока не нужен amfphp, это для некоторых сложных случаев.

Для сохранения чего-либо в базу данных у вас уже есть правильная картинка: ваши команды базы данных (команды SQL с использованием PDO) должны быть в файлах.php.

А из вашего мобильного flex-приложения вы вызываете эти.php-файлы, используя URLLoader, URLStream (чуть более продвинутый) или HTTPService.

Вот вид из моего приложения, он еженедельно загружает топ игроков из PostgreSQL в формате JSON:

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark"
        viewActivate="startLoading(event)"
        viewDeactivate="cancelLoading(event)"
        title="Weekly top">

    <fx:Declarations>
        <s:MultiDPIBitmapSource id="BACK"
            source160dpi="@Embed('assets/icons/low-res/back.png')"
            source240dpi="@Embed('assets/icons/mid-res/back.png')"
            source320dpi="@Embed('assets/icons/high-res/back.png')"/>
        <s:MultiDPIBitmapSource id="LOAD"
            source160dpi="@Embed('assets/icons/low-res/load-top.png')"
            source240dpi="@Embed('assets/icons/mid-res/load-top.png')"
            source320dpi="@Embed('assets/icons/high-res/load-top.png')"/>
    </fx:Declarations>

    <s:states>
        <s:State name="portrait"/>
        <s:State name="landscape"/>
    </s:states> 

    <s:navigationContent>
        <s:Button icon="{BACK}" label.landscape="Back" click="navigator.popView()"/>
    </s:navigationContent>

    <s:actionContent>
        <s:BusyIndicator symbolColor="0xFFFFFF" />
    </s:actionContent>

    <fx:Script>
        <![CDATA[
            import com.brokenfunction.json.decodeJson;
            import spark.events.ViewNavigatorEvent;

            private const TOP:String = 'http://XXXX.com/top-json.php';

            private var _urlLoader:URLLoader = new URLLoader();

            private function startLoading(event:ViewNavigatorEvent):void {
                _urlLoader.addEventListener(Event.COMPLETE, handleComplete);
                _urlLoader.load(new URLRequest(TOP));
            }

            private function cancelLoading(event:ViewNavigatorEvent):void {
                _urlLoader.close();
            }

            private function handleComplete(event:Event):void {
                var loader:URLLoader = URLLoader(event.target);
                try {
                    var obj:Object = decodeJson(loader.data, true);
                    navigator.pushView(Top, obj.aaData);
                } catch (e:Error) {
                    trace('Invalid JSON: ' + loader.data);
                    navigator.popView();
                }
            }
        ]]>
    </fx:Script>    

    <s:BitmapImage source="{LOAD}" horizontalCenter="0" verticalCenter="0" scaleMode="letterbox" />
</s:View>
Другие вопросы по тегам