Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2940 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

Vos meilleurs astuces....

n°745824
Profil sup​primé
Posté le 31-05-2004 à 02:14:06  answer
 

Reprise du message précédent :
[:kiki]

mood
Publicité
Posté le 31-05-2004 à 02:14:06  profilanswer
 

n°745840
horslimite
Posté le 31-05-2004 à 04:21:41  profilanswer
 
n°745875
Fabien
Vive la super 5 !
Posté le 31-05-2004 à 09:21:01  profilanswer
 


heu... pour ce tuto:
 
http://www.sheep-team.org/tutos/7
 
php n'ignore pas les fichiers binaire, c'est juste linux qui ne gere pas les fichiers binaires.
Avec php sous windows, tu peux trés bien utilisé les fichiers binaires.
Et c'est comme en C, il faut rajouter le b pour le mode d'ouverture.


---------------
Découvre le HFRcoin ✈ - smilies
n°745890
gizmo
Posté le 31-05-2004 à 10:12:40  profilanswer
 

xla a écrit :

Ce n'est pas vraiment une "astuce" mais étant donné que je viens de me mettre à coder une appli en PHP / MySQL j'ai voulu séparer le SQL du PHP... Je ne sais pas s'il existe déjà des outils pour cela :??: Du coup j'ai fait ceci:
 *SNIP*


 
Totalement inutile et super lourd.
 
En php5 il exsite les prepared statement pour quasiment tous les SGDB et pour les versions antérieurs, pearDB le fait très bien.

n°745896
gizmo
Posté le 31-05-2004 à 10:22:16  profilanswer
 

horslimite a écrit :

kelke tuto ke j'avais fait :  
http://www.sheep-team.org/tutos/7
soit...
http://www.sheep-team.org/tutos/6
Muvaise utilisation systématique des include alors que des include_once/requiere/requiere_once serait bien plus efficace et propre
http://www.sheep-team.org/tutos/2
soit...
http://www.sheep-team.org/prog/23
Tu réinventes la roue. Toutes ces fonctions existent en natif dans php

n°746178
horslimite
Posté le 31-05-2004 à 15:02:39  profilanswer
 

gizmo> a? tu m'apprend kkchose si c'est vrai, mais il va falloir me le démontrer, quelle est la fronction ki fait :  
Afficher la Date en Français
Test si une chaine a le bon format aaaa/mm/jj HH:mm:ss
etc...

n°746207
Ex-Floodeu​r
La Source
Posté le 31-05-2004 à 15:33:16  profilanswer
 

Code :
  1. $date = date ("\l\e\ d/m/Y \à\ H:i:s",$date);


Message édité par Ex-Floodeur le 31-05-2004 à 15:34:00

---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
n°754600
veryfree
Posté le 07-06-2004 à 12:46:01  profilanswer
 

suis je le seul a trouver ca nul :
 

Code :
  1. function database_to_array( $sql , &$a_in )
  2. {
  3. $result = mysql_query( $sql );
  4. if ( mysql_num_rows( $result ) == 0 ) return;
  5. $fields = mysql_num_fields( $result );
  6. $row = mysql_fetch_row( $result );
  7. for ( $i=0 ; $i < $fields ; $i++ )
  8. {
  9.  $name = mysql_field_name($result, $i);
  10.  $a_in["$name"] = $row[$i];
  11. }
  12. }


 
?
 

n°754605
Profil sup​primé
Posté le 07-06-2004 à 12:48:33  answer
 

ben il reinvente le fetch_array la :heink:

n°754615
boulax
Inserer phrase hype en anglais
Posté le 07-06-2004 à 12:59:11  profilanswer
 

chacal_one333 a écrit :

ben il reinvente le fetch_array la :heink:


clair  :heink:


---------------
Posté depuis des chiottes, sales. Me gusta.
mood
Publicité
Posté le 07-06-2004 à 12:59:11  profilanswer
 

n°754636
veryfree
Posté le 07-06-2004 à 13:08:11  profilanswer
 

chacal_one333 a écrit :

ben il reinvente le fetch_array la :heink:


 
oui :'(
 
et dire que je doit debuggé ca  :sweat:  
 
jvous parle meme pas des 4 boucles imbriqués a chaque requetes  :fou:

n°754644
Profil sup​primé
Posté le 07-06-2004 à 13:10:42  answer
 

amuse toi bien [:dawa]

n°755765
KrisCool
“Verbeux„
Posté le 08-06-2004 à 09:04:49  profilanswer
 

Code :
  1. class Singleton
  2. {
  3. function Singleton()
  4. {
  5.  // constructeur
  6. }
  7. function &getInstance()
  8. {
  9.  static $instance = null;
  10.  if (is_null($instance)) {
  11.   $instance = new Singleton();
  12.  }
  13.  return $instance;
  14. }
  15. }


 
Je l'utilise pour éviter le prolifération de paramètres de fonctions et de variables globales, notamment pour mes objets gérant la base de données et l'authentification.
 
J'abuse même probablement, mais je trouve ça assez pratique (en même temps je suis peut-être passé à côté d'une alternative plus simple)

n°755922
veryfree
Posté le 08-06-2004 à 10:30:06  profilanswer
 


 
merci :/

n°755930
Profil sup​primé
Posté le 08-06-2004 à 10:34:40  answer
 

je comprend pas ta class kriscool :/

n°755953
KrisCool
“Verbeux„
Posté le 08-06-2004 à 10:51:49  profilanswer
 

Hum effectivement j'ai zappé l'utilisation.
En gros au lieu d'instancier des objets en utilisant new(), quand on veut y avoir recours on utilise getInstance().
 

Code :
  1. $foo = & Singleton::getInstance();


 
De cette façon, on obtient une référence vers un objet qui est toujours le même. Ca permet de partager une instance unique d'un objet dans toute l'application sans avoir à passer de paramètre à des fonctions ni à garder des variables globales.


Message édité par KrisCool le 08-06-2004 à 10:52:01
n°755982
Ex-Floodeu​r
La Source
Posté le 08-06-2004 à 11:06:26  profilanswer
 

chacal_one333 a écrit :

je comprend pas ta class kriscool :/

ouf chui pas le seul alors :D


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
n°755994
boulax
Inserer phrase hype en anglais
Posté le 08-06-2004 à 11:12:30  profilanswer
 

vu sur php.net aussi
 

Citation :


 steffen at schomberg dot net
25-Apr-2004 11:47
Here's how to implement the singleton programming pattern using PHP5.


Code :
  1. <?php
  2. // Singleton Pattern in PHP5
  3. class Test {
  4.    private $num;
  5.    static protected $instance = null;
  6.    static public function getTest() {
  7.        if (Test::$instance == null) {
  8.            Test::$instance = new Test();
  9.        }
  10.        return Test::$instance;
  11.    }
  12.    protected function __construct() {
  13.        $this->num = rand(0,1000);
  14.    }
  15.    public function getNum() {
  16.        echo "NUM: " . $this->num;
  17.    }
  18. }
  19. // call Singleton method instead of constructor
  20. $t1 = Test::getTest();
  21. $t2 = Test::getTest();
  22. // $t1 and $t2 reference the same object
  23. $t1->getNum();
  24. $t2->getNum();
  25. ?>


---------------
Posté depuis des chiottes, sales. Me gusta.
n°756238
belgique
Posté le 08-06-2004 à 12:28:56  profilanswer
 

Kriscool> tu peux expliquer le rôle du &?

n°756247
boulax
Inserer phrase hype en anglais
Posté le 08-06-2004 à 12:32:32  profilanswer
 

http://fr.php.net/manual/fr/language.references.php


---------------
Posté depuis des chiottes, sales. Me gusta.
n°756256
KrisCool
“Verbeux„
Posté le 08-06-2004 à 12:36:28  profilanswer
 

boulax: celle-ci est meilleure, mais les variables de classe d'existent pas en php4 :/
 
belgique: le & est là pour obtenir une référence vers l'objet et pas une copie, comme le fait php lorsqu'une fonction renvoie un objet. Si on renvoie une copie de l'instance unique de Singleton, la classe n'a plus aucun intérêt.
 
http://www.php.net/language.references
pour plus d'infos sur le mécanisme des références
 
edit: grillaid  [:dams86]


Message édité par KrisCool le 08-06-2004 à 12:36:53
n°756266
boulax
Inserer phrase hype en anglais
Posté le 08-06-2004 à 12:41:14  profilanswer
 

Kriscool a écrit :

boulax: celle-ci est meilleure, mais les variables de classe d'existent pas en php4 :/


 
:heink:

Code :
  1. class foo
  2. {
  3.         var $bar;
  4.         function getBar()
  5.         {
  6.             return $this->bar;
  7.         }
  8. }


 
jte l'apprends pas quand meme ?


---------------
Posté depuis des chiottes, sales. Me gusta.
n°756281
belgique
Posté le 08-06-2004 à 12:49:17  profilanswer
 

Kriss> :jap: je ne me suis jamais penché sur les classes en php et je pensais qu'il ne renvoyait pas l'objet.

n°756286
belgique
Posté le 08-06-2004 à 12:52:13  profilanswer
 

Un truc m'échappe, dans ta fonction getinstance tu commences par mettre $instance à null :/

n°756289
kfman
Credo quia absurdum
Posté le 08-06-2004 à 12:53:37  profilanswer
 

boulax a écrit :

:heink:

Code :
  1. class foo
  2. {
  3.         var $bar;
  4.         function getBar()
  5.         {
  6.             return $this->bar;
  7.         }
  8. }


 
jte l'apprends pas quand meme ?


 
Je pense qu'il parlait du mot clé static qui permet de créer des variables de classes en PHP5 (donc accessibles sans instanciation).
 
@kriscool: Néanmoins le mot clé static existe aussi en PHP4, as-tu quand même essayé ?


---------------
"Nous allons reformater les français" © Nicolas Sarkozy
n°756290
KrisCool
“Verbeux„
Posté le 08-06-2004 à 12:53:37  profilanswer
 

belgique a écrit :

Un truc m'échappe, dans ta fonction getinstance tu commences par mettre $instance à null :/


 
$instance est une variable statique, ce qui fait que l'initialisation n'aura lieu qu'une seule fois, au premier appel de getInstance();

n°756292
belgique
Posté le 08-06-2004 à 12:54:31  profilanswer
 

Faudrait vraiment que je me penche sur la syntaxe des classes en php. :D

n°756294
KrisCool
“Verbeux„
Posté le 08-06-2004 à 12:55:25  profilanswer
 

kfman a écrit :

@kriscool: Néanmoins le mot clé static existe aussi en PHP4, as-tu quand même essayé ?


 
Tu penses à un truc du style  

Code :
  1. class Foo {
  2.     static $bar;
  3. }


 
?

n°756297
kfman
Credo quia absurdum
Posté le 08-06-2004 à 12:57:15  profilanswer
 

Par exemple... Mais pour la fonction déclarée en statique ça risque d'être plus chaud...


---------------
"Nous allons reformater les français" © Nicolas Sarkozy
n°766020
Ex-Floodeu​r
La Source
Posté le 16-06-2004 à 16:15:24  profilanswer
 

quelles sont les choses à ne pas faire dans un script PHP ? ou quand on code en PHP ?


Message édité par Ex-Floodeur le 16-06-2004 à 16:15:36

---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
n°766025
belgique
Posté le 16-06-2004 à 16:17:30  profilanswer
 

Des includes de fichiers passés en paramètre :D

n°766153
Sebastien
Posté le 16-06-2004 à 17:02:36  profilanswer
 

Ne pas penser aux gens qui reprendront le code derriere toi.
 
Les  
if(x) blabla else bibi;
c'est tres bien, c'est pratique à coder, mais dans un gros projet c'est nul, car mal structuré.
il suffit que tu rajoutes une condition et que tu fais pas attention qu'il n'y a pas de { et ca explose le code.
 
personnellement je suis contre toute facilité de codage permettant de gagner quasiment rien, mais perdant en lisibilité donc les trucs
$color=$color=='red'?'blue':'red'; j'evite.
 
Il faut penser qu'on est pas forcement le seul sur un code et qu'il peut etre repris par n'importe qui, donc bien documenter le code et essayer de rester dans les standars, malgre les petits tips à droite à gauche.
 
Pour ma part dans les tips, j'utilise un fichier contenant des fonctions recurentes à differentes applis.
Du genre  
tout ce qui touche aux dates US/Anglais
 
Des fonctions genre  

Code :
  1. function is_exist($var)
  2. {
  3.     if(isset($var) && $var != ''){
  4.         return TRUE;
  5.     }
  6.     else {
  7.         return FALSE;
  8.     }
  9. }


Des petites choses qui facilitent la vie.
 
Ne pas oublier de se faire  
des classes SQL aussi :-)


Message édité par Sebastien le 16-06-2004 à 17:03:33
n°766187
Ex-Floodeu​r
La Source
Posté le 16-06-2004 à 17:16:45  profilanswer
 

pas bete ta fonction jdois dire :)


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
n°766196
drasche
Posté le 16-06-2004 à 17:20:12  profilanswer
 

ça me fait penser aux fonctions que j'utilise pour lire les tableaux genre GET, POST, COOKIE:
 

Code :
  1. // Get a value from a cookie
  2. function getCookieValue($identifier, $default_value) {
  3. // check if cookie exists
  4. if (isset($_COOKIE[$identifier])) {
  5.  // check numeric state after default value
  6.  if (is_numeric($default_value) && !is_numeric($_COOKIE[$identifier])) {
  7.   // value is not numeric, return default
  8.   return $default_value;
  9.  }
  10.  else {
  11.   // cookie value is numeric or acceptable, return it
  12.   return $_COOKIE[$identifier];
  13.  }
  14. }
  15. else {
  16.  // cookie value does not exist, return default
  17.  return $default_value;
  18. }
  19. }


 
Je teste non seulement si la valeur existe, mais aussi si elle correspond au type de valeur par défaut que je fournis :)  (bon avec ça j'ai oublié de gérer le booléen :o)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°766238
belgique
Posté le 16-06-2004 à 17:32:05  profilanswer
 

Code :
  1. $valeur=(int)(isset($_COOKIE['valeur']))?$_COOKIE['valeur']:0;


J'avoue que j'étais pas chaud la première fois que j'ai vu ça mais depuis, je l'ai adopté :)
 
Edit il faut voir si la valeur renvoyer lors du cast d'une valeur non numérique correspond  à la valeur par défaut qu'on veut.


Message édité par belgique le 16-06-2004 à 17:33:46
n°769038
veryfree
Posté le 18-06-2004 à 14:18:11  profilanswer
 

belgique a écrit :

Des includes de fichiers passés en paramètre :D


 
explique ?

n°769163
belgique
Posté le 18-06-2004 à 15:21:09  profilanswer
 

Ben genre t'appelle la page:
http://www.monsite.com/index.php?page=news.php
 
et dans ta page index t'as comme code:
 
include($_GET['page']);

n°769164
Profil sup​primé
Posté le 18-06-2004 à 15:22:52  answer
 

classic ca
 
et je rajoute

Code :
  1. //Inclus la page désirée
  2. if (isset($_GET["page"])) {
  3. //si cette page n'existe pas, on renvoit l'erreur
  4. if (!@fopen("pages/".$_GET["page"].".php", "r" ))
  5.  check::error(2); //evidement ici c'est votre erreur perso
  6. //sinon on l'inclue
  7. include("pages/".$_GET["page"].".php" );
  8. }
  9. //si aucune page n'est voulu, on affiche l'index
  10. else
  11. include("pages/index.php" );


Message édité par Profil supprimé le 18-06-2004 à 15:23:13
n°769489
veryfree
Posté le 18-06-2004 à 18:38:28  profilanswer
 

belgique a écrit :

Ben genre t'appelle la page:
http://www.monsite.com/index.php?page=news.php
 
et dans ta page index t'as comme code:
 
include($_GET['page']);


 
oui je connais mais tu repondait a ca:
 

Citation :

quelles sont les choses à ne pas faire dans un script PHP ? ou quand on code en PHP ?


 
donc, si c'est mal de faire ce genre d'include j'aimerait savoir pourquoi ;)

n°769504
T509
$job-&gt;GetJob(now)
Posté le 18-06-2004 à 18:55:36  profilanswer
 

Tout simplement parce que tu peux inclure une page distante dans ce cas précis et que tu ne paux pas savoir alors ce qu'elle fera.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
meilleurs tutorielstruc et astuces pour mieux classer son site sur les moteurs de reherch
Astuces ? passer outre la confirmation de renvoi d'informationsVos meilleurs links pour réaliser batch et comprendre mieux le shell
Meilleurs scripts que PHPNuke ?Meilleurs technos Java
Vos meilleurs sites?????[PHP] ... les meilleurs guides sur le net
Les meilleurs sites de Visual Basic pour newbies[Java] Trucs et Astuces JBuilder 4
Plus de sujets relatifs à : Vos meilleurs astuces....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR