php + oracle : bon ménage ?

Korg
Invité n'ayant pas de compte PHPfrance

28 févr. 2008, 16:10

Bonjour,

J'ai toujours développé dans un environnement php mysql et là on me demande de travailler avec le couple php oracle et je balise forcément ne connaissant rien à oracle :?

Que faut-il savoir ? Les fondamentaux ? Et surtout y a t-il un équivalent à easyphp pour que je me fasse la mimine ?

Merci de votre éventuelle précieuse aide

Korg

ViPHP
ViPHP | 4674 Messages

28 févr. 2008, 16:19

Je ne connais pas trop Oracle. En revanche, je ne peux que trop te conseiller d'utiliser PHP Data Object (PDO) si tu as PHP 5. Normalement, pour des requêtes simples SQL, tu n'auras pas de grosses différences. Les problèmes que tu pourrais rencontrer sont lors d'utilisation de fonctions propres aux différents moteurs SQL (MySQL, SQLite, Oracle etc.). Voilà en ce qui concerne SQL directement. Mais je ne pourrais pas t'en dire plus concernant l'installation sous Windows etc.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 4039 Messages

28 févr. 2008, 16:24

hmm... oracle ne s'installe pas comme easyphp.. y'a des paramètres qui rentrent en jeu, des jeu de connections, des clients oracle à installer..

Un fois paramètré, c'est aussi simple que mysql (en tant que bd SQL). Pour ma part, je passe par un lien odbc.

Sinon, y'a un beau guide (anglophone) de 200 pages sur le sujet:
The Underground PHP and Oracle manual.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Korg
Invité n'ayant pas de compte PHPfrance

28 févr. 2008, 16:26

Merci HyWaN pour la rapidité de ta réponse mais c'est (pour moi) pas clair du tout lol.

Il n'y a pas comme pour easyphp un soft que tu installes et qui te permette de créer ta base, tes tables et champs oracle attaquables directement avec du php comme avec mysql ?

Korg

ViPHP
ViPHP | 4674 Messages

28 févr. 2008, 16:29

PDO est une couche d'abstraction entre tes bases et ton interface. Un peu comme ODBC (proposé par notre ami Berzemus).

Si on lit le second paragraphe de la documentation, on pourra lire :
PDO fournit une interface d'abstraction à l'accès de données, ce qui signifie que vous utilisez les mêmes fonctions pour exécuter des requêtes ou récupérer les données quelque soit la base de données utilisée. PDO ne fournit pas une abstraction de base de données : il ne réécrit pas le SQL, n'émule pas des fonctionnalités manquantes. Vous devriez utiliser une interface d'abstraction complète si vous avez besoin de cela.
, c'est suffisament clair je pense :).
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Korg
Invité n'ayant pas de compte PHPfrance

28 févr. 2008, 16:37

c'est suffisament clair je pense :).
Probablement quand on connait un minimum le truc :wink:

Rien que le terme "couche d'abstraction" j'me crois revenir au lycée avec des cours de philo ou de sciences :lol:

En admettant que j'utilise PDO que faut-il faire pour ne pas faire justement de bétises...

Korg

ViPHP
ViPHP | 4674 Messages

28 févr. 2008, 16:41

Rien. PDO est de base dans PHP 5, tu lis le manuel, et tu apprends à l'utiliser. C'est assez intuitif.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Korg
Invité n'ayant pas de compte PHPfrance

28 févr. 2008, 16:58

Ok, mais oracle dans tout ça ??? :oops:

Korg

ViPHP
ViPHP | 4039 Messages

28 févr. 2008, 17:01

en revanant au sujet :
Oracle et php
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 79 Messages

28 févr. 2008, 17:01

Tu peux jeter un oeil au niveau de la version Express Edition : http://www.oracle.com/technology/produc ... index.html :wink:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 févr. 2008, 17:05

Récupère la version gratuite Oracle XE pour te faire la main :) C'est une version d'oracle complète et gratuite, limitée uniquement par sa capacité (4Go de données, y a quand même de la marge :)).
Il y a une interface web de gestion des données (ça vaut pas un Toad, mais c'est un équivalent raisonable de phpMyAdmin)

Mais pas d'inquiétude à avoir... il y a bien sur des différences, Oracle est beaucoup plus rigoureux (pas de ` pour protéger les champs, faut leur donner des noms propres - et pas des mots clés réservés - dès le début ;)), on double les apostrophes pour les protéger au lieu de les backslasher ( WHERE champ = 'l''apostrophe' ), et il a une syntaxe bien a lui pour les jointures externe (faut oublier les JOIN/ON et utiliser un "(+)" directement dans la condition de jointure), mais pour le reste, ce n'est que du SQL :)

Côté php, la connexion qui est légèrement différente (faut activer les modules qui vont bien dans le php.ini) et utiliser les fonction oci_* au lieu de mysql_* pour la connexion et l'exécution, et pour peu que tu ais fait des fonctions pour généraliser tout cela, il n'y a au final pas grand chose qui change :)

Et pis au besoin, on est là ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Korg
Invité n'ayant pas de compte PHPfrance

04 mars 2008, 10:20

SUPER, MERCI A TOUS ET EN PARTICULIER A TOI RYLE :)

Je devrais pouvoir me lancer un minimum maintenant ;)

Korg

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 mars 2008, 11:43

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer