Question

Je recherche des conseils sur la création dynamique de contenu en Flash à partir d'une base de données. Au départ, je pensais que nous exportions la base de données dans un fichier XML et utilisions l'analyseur XML Actionscript intégré pour s'en occuper, mais la taille du fichier XML peut s'avérer prohibitive.

J'ai lu des informations sur l'utilisation d'une étape intermédiaire (PHP, ASP) pour récupérer des informations et les restituer sous forme de contenu lisible par Actionscript, mais je préférerais ne pas le faire si possible. Quelqu'un at-il déjà utilisé les bibliothèques asSQL ? Ou y a-t-il autre chose qui me manque?

Était-ce utile?

La solution

Sauf si vous utilisez votre ActionScript côté serveur (j'en doute), la connexion directe à une base de données ne serait pas très intelligente du tout. Pour vous connecter à une base de données à partir d'ActionScript côté client, vous devez ouvrir votre serveur pour accepter les connexions de base de données de tout le monde et stocker les données d'accès dans vos fichiers swf, ce qui constituerait une combinaison désastreuse au cas où quelqu'un désassemblerait le fichier swf. fichiers.

Si la taille du XML est prohibitive, vous pouvez toujours le scinder en deux. Si cela est impossible, vous pouvez obtenir les données du serveur via PHP ou tout autre élément exécuté sur le serveur, par exemple, vous pouvez donner Les paramètres pertinents de la requête au fichier PHP et le script côté serveur interrogent ensuite la base de données et construisent un texte XML (c'est-à-dire un sous-ensemble des données complètes, basé sur les paramètres donnés) pouvant être utilisé par Actionscript.

Autres conseils

Si vous envisagez de déployer votre contenu Flash sur un site Web, vous devez utiliser une sorte de backend - sinon, vous pourriez avoir un problème de sécurité. J'utilise la communication à distance avec AMFPHP , cela a très bien fonctionné.

Utilisez un langage côté serveur tel que PHP avec MySQL pour écrire un fichier texte ou un fichier XML que Flash peut comprendre. à son tour, lors de l'envoi de variables, utilisez ActionScript pour envoyer les variables à un analyseur de formulaire PHP qui le charge sur le serveur.

Je n'ai pas d'exemple à vous montrer pour le moment, mais ce serait certainement une solution de contournement pour obtenir FlashCon ou un autre produit, et vous pouvez commencer tout de suite. Découvrez quelques sites de code XML et PHP. Vous rencontrerez probablement quelqu'un qui a déjà résolu votre problème.

La pratique générale que j’ai expérimentée est que, s’il s’agit d’un fichier de configuration ou de très petites quantités de données, vous pourriez probablement vous en sortir en disposant simplement un fichier XML sur le serveur avec vos fichiers SWF.

Si vous souhaitez que les données soient plus dynamiques ou si vous envisagez de les modifier assez souvent, je le ferais certainement comme Nouveau l'a déjà dit et j'utilise PHP ou une technologie similaire pour générer des requêtes de base de données dans une structure XML que votre flash doit charger.

S'il y a beaucoup de données cependant et que vous remarquez vraiment que votre programme étouffe ou prend du retard à charger le code XML dans ce format, je recommanderais certainement de modifier à distance comme Kristian l'a suggéré, AMFPHP semble être l'un des choix les plus populaires.

Découvrez la réponse de grapefrukt à une autre question sur l'interaction flash et les bases de données
Adobe Flash prend-il en charge les bases de données?

juste au cas où quelqu'un ne connaîtrait pas les gars de midnightcoders possède également une méthode robuste pour Remoting en flash

vous pouvez également utiliser le format swx , qui est un projet intéressant pour envoyer / recevoir des données à l'aide des wrappers de swf, personnellement préfère Amfphp mais je viens de commenter ici à des fins de référence

N'utilisez pas ActionScript côté client pour vous connecter directement à la base de données, à moins que vous ne soyez à l'aise avec l'idée d'exposer votre chaîne de connexion à qui que ce soit.

Utilisez plutôt une logique côté serveur pour vous connecter à la base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top