Si vous demandez, "Qu'est-ce que Yii?" check-out Introduction au framework Yii, qui passe en revue les avantages de Yii et comprend un aperçu de Yii 2.0.
Dans la série Programmation avec Yii2, je guide les lecteurs dans l'utilisation du framework Yii2 pour PHP. Dans ce tutoriel, je vais vous donner un bref aperçu des aides. Dans Yii, les helpers sont des modules qui regroupent, entre autres, des bibliothèques utiles pour la gestion des chaînes, des fichiers, des images, des URL et du HTML. Ils sont faciles à étendre..
Je vais également partager un exemple de création d'un assistant dans Meeting Planner, au centre de notre série de startups Envato Tuts +..
Avant de commencer, rappelez-vous que j’essaie de participer aux discussions ci-dessous. Si vous avez une question ou une suggestion de sujet, veuillez poster un commentaire ci-dessous ou contactez-moi sur Twitter @reifman.
Si vous avez remarqué l’écart entre les épisodes de la série Programming Yii, c’est parce que je devais avoir chirurgie du cerveau l'année dernière. Nous vous remercions de votre patience et de votre soutien. Je suis heureux de pouvoir écrire de nouveau régulièrement et je suis impatient de poursuivre la couverture de Yii2..
Essentiellement, les aides ne sont que des modules de prise en charge du codage à orientation topique. Voici une liste des aides fournies dans le cadre de Yii2 - cette liste est maintenant un peu plus à jour que la documentation et ses menus:
J'utilise couramment les aides HTML et URL dans mes applications Yii. Et, vous vous en souvenez peut-être, j’ai utilisé l’assistant Imagine dans Construction de votre démarrage avec PHP: Paramètres de l’utilisateur, images de profil et détails de contact pour redimensionner les images de profil téléchargées..
Voyons brièvement quelques-uns des assistants les moins connus.
Comme vous pouvez le constater, ArrayHelper fournit une poignée de fonctions utiles orientées sur les tableaux..
Par exemple, getValue simplifie la recherche de valeurs à partir de clés dans des tableaux complexes:
// travail avec le tableau $ username = \ yii \ helpers \ ArrayHelper :: getValue ($ _ POST, 'username'); // utilisation de l'objet $ username = \ yii \ helpers \ ArrayHelper :: getValue ($ user, 'username'); // travail avec la fonction anonyme $ fullName = \ yii \ helpers \ ArrayHelper :: getValue ($ user, fonction ($ user, $ defaultValue) return $ user-> firstName. ". $ user-> lastName;); / / utilisant le format de points pour récupérer la propriété de l'objet incorporé $ street = \ yii \ helpers \ ArrayHelper :: getValue ($ users, 'address.street'); // en utilisant un tableau de clés pour récupérer la valeur $ value = \ yii \ helpers \ ArrayHelper :: getValue ($ versions, ['1.0', 'date']);
Ou map () construit un tableau de valeurs de clé simple à partir d'un tableau plus complexe:
$ array = [['id' => '123', 'name' => 'aaa', 'class' => 'x'], ['id' => '124', 'name' => 'bbb ',' class '=>' x '], [' id '=>' 345 ',' name '=>' ccc ',' class '=>' y '],]; $ result = ArrayHelper :: map ($ array, 'id', 'name'); // le résultat est: // [// '123' => 'aaa', // '124' => 'bbb', // '345' => 'ccc', //]
Vous pouvez utiliser HtmlPurifier pour améliorer la sécurité du traitement avec la saisie de l'utilisateur. Par exemple, si quelqu'un colle le code d'injection SQL dans votre formulaire comme ci-dessus, le nettoyer avec HtmlPurifier neutralisera toute attaque..
echo HtmlPurifier :: process ($ html);
Il exploite la bibliothèque open source HTML Purifier.
StringHelper fournit des méthodes étendues pour travailler avec des chaînes en PHP. Par exemple, truncateWords () peut réduire une chaîne à un certain nombre de mots mais également conserver le code HTML correct dans le résultat..
Au fur et à mesure que Meeting Planner, l'objectif de la série de startups, prenait de l'ampleur, j'ai trouvé utile de créer une aide de base que je pourrais utiliser. Pour l'instant, j'ai tout combiné en un seul appelé MiscHelpers.php:
Vous pouvez voir une variété de méthodes sont incluses de différents types. Par exemple,
getDisplayName ()
renvoie un nom d'utilisateur, un email ou des chaînes concaténées de prénom et nom lorsque disponibles.Il est utile de les créer une seule fois au même endroit plutôt que de les réécrire différemment dans les modèles, au besoin..
J'ai créé MiscHelpers.php en créant un fichier dans / common / components et en construisant une classe que je pourrais appeler tout au long de l'application.
le
buildCommand
Cette fonction facilite la création par programmation de liens pour les messages électroniques sortants, notamment la capacité d'authentifier les utilisateurs à l'aide du$ clé_auth
stocké dans la base de données.fonction statique publique buildCommand ($ meeting_id, $ cmd = 0, $ obj_id = 0, $ actor_id = 0, $ auth_key = ") // to do - construit une chaîne de destination locale ou distante // note: si modifié, changez dans Message.php, retournez Url :: to (['meeting / command', 'id' => $ meeting_id, 'cmd' => $ cmd, 'actor_id' => $ actor_id, 'k' => $ auth_key, ' obj_id '=> $ obj_id,], true);Ce module n'a pas vraiment de particularité à part qu'il ressemble au but des Helpers Yii standard que j'ai décrits plus tôt..
Partout où je veux utiliser les fonctions MiscHelper, je peux utiliser le code suivant: