Underscore


Télécharger Underscore

version 1.0
PHP 7 Smarty MySQL Bootstrap JQuery

Guide complet


Créer une route

Exemple pour la route http://rbenoit.fr/user

- Créer fichier /controllers/user.php
- Créer fichier /html/user.html

C'est finis !

- Pour avoir un nom SEO Friendly dans le controller, vous pouvez créer un alias dans /framework/config.ini
Ainsi, la variable _::$is_alias passe à true.

Exemple d'un alias de /guide: http://rbenoit.fr/un accès seo friendly

Pour forcer l'utilisation d'un alias, il est possible de faire cela dans le controller: if (!_::$is_alias) _::not_found();

Underscore PHP variables

_::$charset Le charset de la page.

_::$langue La langue de la page.

_::$html Le fichier HTML a charger (par défaut le nom du controller).

_::$robots Le meta "robots".

_::$description Le description de la page.

_::$title Le titre de la page.

_::$environment DEV ou PROD ; notre environnement.

_::$viewport Le viewport de la page.

_::$route Un array contenant la route.

_::$dev_environment []= Contient les noms de domaine de dev.

_::$js_async []= Charge un fichier JS dans le <body>.

_::$js []= Charge un fichier JS dans le <head>.

_::$css_async []= Charge un fichier CSS dans le <body>.

_::$css []= Charge un fichier CSS dans le <head>.

_::$is_mobile Si l'internaute utilise un PC de bureau ou non.

_::$is_tablet Si l'internaute utilise une tablette ou non.

_::$is_desktop Si l'internaute utilise un mobile ou non.

_::$js_variables []= ["key" => "nom_de_variable", "value" => "Valeur_de_variable"]; Permet de passer une variable du PHP au JS.


Underscore PHP Méthodes

_::quit(); Quitte le controller prématurément sans erreur.

_::not_found(); Déclare une erreur 404.

_::assign($key, $value); Assigne une variable HTML.

_::redirection('/users/john87'); ou _::redirection('http://google.com', 304); Redirection vers une URL (par défaut code 302)


HTML variables

{$siteurl} L'URL du site.

{$scriptname} Le nom du controller.

{$language} La langue utilisée

{$is_desktop} Si l'internaute utilise un PC de bureau ou non.

{$is_tablet} Si l'internaute utilise une tablette ou non.

{$is_mobile} Si l'internaute utilise un mobile ou non.


JS variables

siteurl L'URL du site.

scriptname Le nom du controller.

language La langue utilisée

is_desktop Si l'internaute utilise un PC de bureau ou non.

is_tablet Si l'internaute utilise une tablette ou non.

is_mobile Si l'internaute utilise un mobile ou non.


Mysql PHP Méthodes

mysql::connect(); Se connecte à la BDD.

mysql::query($sql); Exécute une requête et retourne $query.

mysql::row($query); Retourne une ligne de résultat de la requête $query.

mysql::tab($query); Retourne toutes les lignes de résultat de la requête $query.

mysql::escape($string); Retourne un champ string protégé des injections SQL

mysql::last_id(); Retourne l'id du dernier INSERT.

mysql::is_connect(); Sommes nous connecté à la BDD ?

mysql::close(); Ferme la connexion.


Mail PHP variables

mail::$from_email Email de l'expéditeur.

mail::$from_name Nom de l'expéditeur.

mail::$message Message de l'email (Texte brut ou HTML)

mail::$to Liste de destinataire

mail::$subject Optionnel - Sujet de l'email

mail::$replyto Optionnel - Champ "répondre à"

mail::$files Optionnel - Liste de fichier à mettre en pièce jointe

mail::$bcc Optionnel - Liste d'adresses email en copie masquée

mail::$cc Optionnel - Liste d'adresses email en copie

mail::$encoding Optionnel - L'encodage par défaut: iso-8859-2.


Mail PHP Méthodes

mail::send(); Envoi l'email.


Traduction

Il faut avoir un fichier XML dans: language/_LANGUAGE_/_SCRIPTNAME_.xml
Exemple pour la route http://rbenoit.fr/user dans la langue anglaise: /language/en/user.xml

Exemple du contenu du fichier user.xml

<?xml version="1.0" encoding="UTF-8"?>
<translations>
   <!-- Traduction d'un text simple -->
   <translation id="some_content_id">
      <![CDATA[<b>Underscore</b> is a great framework !]]>
   </translation>
   <!-- Traduction d'un text avec variable smarty -->
   <translation id="hello_you">
      <![CDATA[Hello ##login##]]>
   </translation>
   <!-- Traduction du titre de la page -->
   <translation target="title">
      <![CDATA[Underscore is a great framework !]]>
   </translation>
   <!-- Traduction de la description de la page -->
   <translation target="description">
      <![CDATA[Underscore, PHP 7 Light Framework]]>
   </translation>
   <!-- Traduction d'une balise meta -->
   <translation target="meta" property="appid">
      <![CDATA[0123456789]]>
   </translation>
</translations>
Suivant l'exemple ci-dessus, pour assigner la variable "login" il faut procéder ainsi (dans le controller): _::assign('login', 'John87');

Dans le fichier HTML, placez le texte à traduire ainsi: {language}hello_you{/language}


Autres

Afficher un captcha: <img src='{$siteurl}/ajax/captcha.php' /> - (stocké en MD5 dans $_SESSION["captcha"]). - afficher un exemple

Déclarer une erreur: error(401, 'The text you want to output'); Liste des codes d'erreurs:

301
Moved Permanently
302
Moved Temporarily
307
Temporary Redirect
308
Permanent Redirect
310
Too many Redirects
400
Bad request
401
Unauthorized
402
PaymentRequired
403
Forbidden
404
Not found
410
Gone
500
Internal Error
501
Not implemented
502
Service temporarily overloaded
507
Insufficient storage
508
Loop detected


Voila !

Si vous avez tout compris ;

Les fichiers /html/guide.html & /controllers/guide.php peuvent être supprimés !

Vous pouvez aussi supprimer l'alias alias["guide"] = "un%20acc%C3%A8s%20seo%20friendly"
dans le fichier /framework/config.ini