2010-06-15 2 views
2

Je suis tombé amoureux de la syntaxe Python de ne pas utiliser {} mais des indentations à la place. Est-il possible de config PHP pour ne pas utiliser {}?Est-il possible de ne pas utiliser {} en PHP?

+11

Je ne le ferais pas. Pourquoi ne pas utiliser Python comme langage côté serveur au lieu de PHP? – Anthony

+0

J'aime utiliser python comme langage général et pas vraiment un langage de développement web :) – ggfan

+1

Je doute qu'il y en aura jamais. L'équipe PHP a réalisé, avec le php.Ini mess, que ce n'est pas une bonne idée d'avoir le langage se comporte différemment selon la configuration - c'est un cauchemar de compatibilité pour ceux qui écrivent les programmes. – Artefacto

Répondre

14

Vous ne pouvez pas utiliser les indentations, mais le alternative syntax. Il utilise:

if (cond): 

endif; 

while (cond): 

endwhile; 

etc.

Ce n'est pas des espaces importants.

0

Il existe certaines syntaxes de type endif, mais vous ne devriez probablement pas l'utiliser simplement pour créer des blocs sans accolades.

Et même si vous avez trouvé un moyen qui vous permet de marquer des blocs de code par indentation et non par des accolades, ce ne serait pas une très bonne idée. Si vous vraiment vous souciez de l'utilisation de la syntaxe Python, alors utilisez Python.

0

Vous pouvez également ignorer {} pour une seule opération après une instruction de test ou une boucle.

3

PHP n'utilise pas d'espace blanc pour gérer les blocs comme le fait Python. PHP et Python sont deux langages distincts. Si vous deviez "configurer" PHP pour avoir une syntaxe comme celle de Python, ce ne serait plus PHP, mais un nouveau langage.

Il n'existe aucun moyen direct de le faire. Si vous voulez utiliser PHP, je vous recommande de vous adapter à la syntaxe et aux idiomes de PHP. Heureusement, comme PHP n'est pas sensible à l'espace blanc, vous pouvez formater votre code et l'indenter en utilisant le même schéma d'indentation que vous avez utilisé avec Python. L'utilisation de la syntaxe if/edif et autres (comme suggéré) rendra votre PHP encore plus loin du Python que vous essayez d'émuler. Si vous voulez vraiment programmer en Python, envisagez de l'utiliser comme votre langage côté serveur. Il y a même de bons frameworks comme Pylons qui peuvent vous faciliter la tâche, si c'est ce dont vous avez besoin.

2

Pour être honnête, je passerais à django pour vos trucs côté serveur si j'étais vous, car c'est vraiment un langage plus agréable que PHP à bien des égards. Si vous souhaitez éviter d'utiliser des accolades, php fournit des syntaxes alternatives pour beaucoup de lui est des méthodes, ils regardent habituellement quelque chose comme ceci:

if(somthing): 
do_somthing(); 
endif; 

Je l'habitude d'utiliser ceux-ci quand je suis texte de sortie de mémoire tampon ou ont de petites php interjections dans le code du template. Vous pouvez également utiliser des opérateurs ternaires et d'autres conventions qui permettent d'éviter les accolades, comme celui-ci:

if(something) 
    do_something(); 

ou ternanry:

(something)?do_something():do_something_else(); 

le manuel php est assez bon pour vous laisser savoir quand vous pouvez utiliser syntaxe alternative, mais comme je l'ai dit, si vous n'utilisez pas déjà la syntaxe php alternative, cela semble être un moment fantastique pour passer à django.

+2

Je pense qu'il n'y a pas de ** si ** devant cette opération ternaire. – Babiker

+0

whooops. réparé. – Jesse