La structure du cadre du fructum est assez simple.
Framwork utilise le modèle de conception HMVC (contrôleur hiérarchique modèle-vidéo).
La partie la plus hautement niveau du cadre est le point d'entrée - le fichier qui provoque le lancement de l'application. En pratique, il peut s'agir d'un script index.php pour un serveur Web ou d'un fichier exécutable du système d'exploitation. Dans le point d'entrée, l'application est toujours lancée.
Les applications sont des concepts conditionnels. Ce sont des classes qui contrôlent l'entrée et la sortie des données. La séparation en applications vous permet de rendre votre projet universel - il pourra démarrer à la fois sous la console et via le navigateur, tandis que pour chaque cas, vous pouvez écrire des gestionnaires séparés, mais avec tout cela, utilisez les mêmes bibliothèques.
Exemples d'applications:
Lorsque le point d'entrée s'active sur le transporteur (inclure require), il devient possible de démarrer l'application.
Le constructeur recherche la bonne application, puis les instructions pertinentes sont exécutées. Dans le cas d'une application Web, un routeur est lancé, qui détermine le chemin souhaité, si l'application est console, un seul processeur d'applications de console est lancé.
Toutes les classes du projet (à l'exception du niveau de fructum le plus bas) sont contenues dans les extensions, les modules, les crochets et les scripts du framework (ci-après des classes système).
Lorsque vous avez besoin de charger n'importe quelle classe, tout d'abord, le constructeur vérifie le répertoire avec des crochets. Les khuki sont créés pour réécrire les scripts du noyau et des extensions. Huki peut également être utilisé pour écrire l'application elle-même.
Deuxièmement, le catalogue système avec les classes système est vérifié. Ces classes sont des parents pour le fructum et leur répertoire n'est pas recommandé de toucher leur répertoire afin d'éviter les problèmes de compatibilité et de mise à jour du cadre. Si vous souhaitez modifier les classes système, utilisez des crochets - créez une classe de classe -Hook avec le même nom et il n'atteindra pas les scripts système.
Enfin, les extensions sont vérifiées. Ce sont les ajouts du cadre que tout le monde peut écrire et publier. Ils peuvent également être utilisés pour écrire une application elle-même.
L'expansion peut avoir ses propres modules ("Expansion des extensions"). Les modules sont créés dans le cas où l'expansion est grande (par exemple, CMS) et prévoit une modification. Pour déterminer le module appartenant à l'expansion, il suffit d'ajouter simplement le préfixe avec le nom de l'expansion au nom du module (par exemple, Test_Moodule sera un module pour étendre le test). Si vous ajoutez le module à une extension non existante, elle ne sera pas chargée.
L'application dans le cadre du fructum est un système de niveau bas qui détermine les gestionnaires de données et contrôle la sortie de la réponse. En d'autres termes, il s'agit d'un système qui accepte les données, le transfère au processeur puis l'affiche.
La séparation en applications est requise dans les cas où les données données et acceptées peuvent être différentes. Si vous rédigez une application de console, ce sera simple - simplement recevoir et donner des données. Cependant, les applications Web, en plus des données ordinaires, rapportent les cookies et les titres.
L'assemblage de la norme FRUCME contient deux types d'applications - console et applications Web.
Les applications de combat sont les applications lancées via la ligne de commande ou SSH et les seules données d'entrée du KP sont des arguments. Les applications Web sont les applications qui sont lancées via le navigateur et acceptent les données Get Post, les cookies, les titres, etc. Les données données sont également variées.
Pour lancer votre projet, vous devez effectuer deux étapes: 1. Connectez le framework 2. Exécutez l'application
L'assemblage standard est réglé pour être pratique lors de la création d'applications Web. Les deux étapes susmentionnées du lancement sont effectuées dans les points d'entrée SO. Dans le cas d'une application Web, l'entrée est index.php. Ce script prend toutes les demandes HTTP, connecte le framework et lance les applications Web.
Si vous souhaitez rédiger votre type d'application, nous vous recommandons de prendre un script d'une application de console comme base. En outre, si vous le souhaitez, vous pouvez refaire des applications standard - réécrire un routeur d'application Web ou l'écrire pour la console. Cela ne nécessite pas de connaissances supplémentaires, il suffit d'étudier le fonctionnement des applications standard et d'écrire l'expansion ou le crochet.
Les applications de console sont les plus simples - un routeur et les contrôleurs ne sont pas utilisés ici, comme dans les applications Web. L'application ConsoleApp standard après le démarrage est à la recherche d'une Class Handler Console et y appelle la méthode RUN (). S'il n'y a pas de classe de ce type, une erreur critique se produira
Class Fructum Config contient la configuration nécessaire du cadre. Pour le changer, vous devez créer votre propre crochet en copie /System/frum/config.php dans /hooks/frum/config.php et modifiez le contenu en ce dont vous avez besoin. Chaque paramètre est documenté
Si votre extension nécessite un réglage, ne créez pas votre classe - contactez simplement les constantes de la classe fructum config. Ajoutez des informations sur les données à ajouter à la configuration dans les instructions pour l'installation de l'expansion.
Faites attention! Les données dans la configuration sont constantes, pas des variables. Utilisez le contrôle des coûts.
Toutes les informations détaillées sont disponibles pour Vicki: http://wiki.blockstudio.net/wiki/frum