Python, l’héritage en quelques lignes

Python, l’héritage en quelques lignes

 # !/usr/bin/python # -*- coding: UTF-8 -*- class A():     def A(self):         print self.C() + '.A'     def B(self):         print self.C() + '.B'     def C(self):         return 'A' class B(A):     def B(self):         self.A()         A.A(self)         A.B(self)     def C(self):         return 'B' print 'test de A' a = A() a.B() print ' test de B' b = B() b.B() 

résultat affiché :

test de A A.B

test de B B.A B.A B.B

PyDev : ide pyrthon via Eclipse

Afin de programmer en python avec le confort d’une ide abouti, je me suis dit cherchons ce qui existe… et après avoir tester quelques outils je fut convaincu par PyDev.

Cependant, il est nécessaire de configurer l’interpréteur de python voir de jython!

Installer PyDev

Python doit être installé ainsi que Eclipse.

Lancer Eclipse en mode super utilisateur (root ou administrateur) :

sudo eclipse sous linux

Dans le menu « Help » cliquer sur « Software Updates / Find and Install… »,

Ensuite « Search for new features to install » et Next, 2 fois,

Ajouter un site dans « New update site » et mettre :

Name : pydev

URL : http://pydev.sf.net/updates/

Valider en cliquant sur « Finish »

Sélectionner Pydev, et valider en acceptant le contrat d’utilisation. Terminer via « install all »

Relancer Eclipse en mode normal!

Configurer PyDev

« Window »> »Preferences »

Dans Pydev, cliquer sur Interpreter – Python

Dans le champs « Python interpreters (eg python.exe) cliquer sur new et mettez, par exemple /usr/bin/python

En principe, Eclipse vous proposera toute les dépendance accessible, etc …. de manière automatique.

Vous êtes prêt à utiliser PyDev!

Commencer à apprendre le html, php, et les css

Dans énormément de forum que je visite, je voix des messages du genre où apprendre le css, html, php, …, je veux des cours de …, etc

Dans ce cas je recommande ces sites

Pour aller plus loin

En plus des autres sites :

Où trouver de l’aide?

Sur la plupart des site cité il y a un forum, n’hésitez pas à vous y inscrire!

Manuel

Cependant, lorsque vous aurez un peu compris la logique interne de chaque chose, un petit tour dans els différent manuel de référence (souvent avec des exemple) sera une grande aide :

ZF : comprendre le fonctionnement des urls

Url de ZF et distribution des rôles aux contrôleurs

Avec Zend Framework, de base le système mis en place par le contrôleur est celui-ci :

url module contrôlleur action paramètre
http://exemple.test/ default index index
http://exemple.test/news default news index
http://exemple.test/news/ajouter default news ajouter
http://exemple.test/news/modifier/id/5 default news modifier id=5
http://exemple.test/news/modifier/?id=5 default news modifier id=5

Avec des modules perso

Maintenant ajoutons la gestion des modules news et livredor:

 $ctrl->setControllerDirectory(     array(         'news'    => '/module/news/controllers',         'livredor'    => '/livredor/ctrl'     ) ); 
url module contrôlleur action paramètre
http://exemple.test/ default index index
http://exemple.test/news news index index
http://exemple.test/news/ajouter news ajouter index
http://exemple.test/news/modifier/id/5 news modifier id
http://exemple.test/news/modifier/?id=5 news modifier index id=5

Comprendre le Zend_Controller_Router_Route

ce que l’on vient de voir s’explique par ceci :

 $route = new Zend_Controller_Router_Route(     ':module/:controller/:action/*',     array('module' => 'default') ); $router->addRoute('default', $route); 

Ce qui correspond à l’option par défaut. De plus, ceci nous montre un exemple de paramètre par défaut, en effet à module, on attribue la valeur default.

Allons plus loin et créer nos propres routes!

Route personnalisée

imagions un espace membre, on désire afficher chaque profile. On pourrait imaginer quelque chose du genre : http://exemple.test/profil/voir/id/5 ou encore http://exemple.test/profil/voir/membre/grummfy afin d’avoir le contrôleur profil et et l’action voir. Cependant ce n’est ni joli, ni pratique. Utilisons donc le Zend_Controller_Router_Route

 $route = new Zend_Controller_Router_Route(     'profiledemembre/:username/*',     array(         'controller' => 'profil',         'action'     => 'voir'     ) ); $router->addRoute('myProfileRoute', $route); 

Ce qu’on fait pour les url du type http://exemple.test/profiledemembre/grummfy, on assigne les valeurs suivantes :

 * controller = profil  * action = voir  * username = grummfy, ceci via les :  * et on garde la possibilité d'avoir des paramètres avec *

Dans le contrôleur profil, on fera ceci :

 <?php public function voirAction() {     $request = $this->getRequest();     $username = $request->getParam('username');     // ou     $username = $this->_getParam('username'); } 

Aller plus loin

Le manuel de Zend vous enseignera comment faire des url avec expression régulière ou encore des rotue static, et bien plus! Mais aussi cette autre page : http://framework.zend.com/manual/fr…

Zend Framework (ZF) : un livre d’or, sixième étapes : Conclusions

Créations d’un livre d’or en 6 étapes

  1. Définition
  2. Créations des tables sql et des répertoires
  3. Bases des fichiers
  4. Affichages et ajout de messages
  5. Modification et suppression des messages
  6. Conclusions

Conclusions

Avant de faire la conclusion finale, je vais ajouter deux trois trucs au script : Dans la base de donnée ajouter trois champs : ip(varchar de 15), email(varchar de 60) et site(varchar de 60) et modifier en conséquence le fichier contrôleur

On pourrait ajouter un système de validation des messages… et encore d’autre choses.

On peux ajouter un système de cache (voir archive)

Afin de terminer en plus joli voici une feuille de style à ajouter : /public/style/site.css

 body,html { 	margin: 0px; 	font-family: Verdana,Arial,Helvetica,sans-serif; 	color: #000000; 	background-color: #ffffff; 	text-align: justify; } h1 { 	font-size: 1.4em; 	color: #800000; } #content { 	margin: 0px auto 0px auto; 	width: 500px; } .livre_block_message { 	border: 1px dotted #aaaaaa; 	margin-bottom: 1.5em; 	padding: 0.5em; } a { 	color: #800000; }

et pour qu’elle soit pris en compte on modifie header.phtml :

 ... 	<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $this->baseUrl;?>/public/style/site.css" /> </head> ...

Conclusion

Dans ce tutoriel on a :

  • Utiliser Zend_View
  • Utiliser Zend_View_Helper
  • Utiliser Zend_Db_Table
  • Utiliser Zend_Config_Ini
  • Utiliser Zend_Controller_Front

Maintenant essayer de modifier et de bien comprendre tout cela, lisez le manuel de Zend Framework et vous irez rapidement vers de plus grosses application!

Télécharger