110 votes

explication simple PHP OOP vs procédurale?

Je voudrais apprendre le PHP et vous souhaitez avoir une Idée sur la programmation orientée objet et Procédural. J'ai lu sur d'autres blogs et tutoriels sur la programmation orientée objet vs de Procédure, mais je n'arrive toujours pas à comprendre la démarche.

OOP vs de Procédure

  1. Qui je doit apprendre?
  2. Quelle est la différence dans le code? quels sont les effets?
  3. Comment un framework PHP aider dans l'approche de la programmation orientée objet? (Je voudrais apprendre CodeIgniter)
  4. Ne procédurales besoin d'un Cadre?

J'ai vraiment envie de connaître le code de la différence des deux, ma compréhension de la programmation orientée objet est de créer une classe et il peut être l'accès. (Je ne sais pas si c'est correct).

Merci!

286voto

dreftymac Points 7843

Contexte: Vous avez demandé une "explication simple", qui suggère:

  • Vous voulez un no-nonsense aperçu sans jargon
  • Vous voulez quelque chose qui va vous aider à apprendre dès le début
  • Votre but ultime est d'écrire quelques bonnes PHP et la programmation orientée objet vs procédurale des choses est un tremplin pour vous y rendre, pas nécessairement votre destination finale.
  • Vous avez découvert que deux personnes n'a jamais répondre à la question de la même façon, et c'est source de confusion. C'est la raison pour laquelle vous êtes ici pour demander une explication simple, oui?

Réponse courte: Si les sons à droite pour vous, la réponse est à trouver:

  • 1) tout début du livre sur la programmation en PHP;
  • 2) une expérience humaine d'être programmeur qui est physiquement proche de vous qui est prêt à réellement s'asseoir avec vous de temps à autres et examen des bonnes pratiques de codage; et
  • 3) l'accès à un site comme le Débordement de la Pile lors de l'1) ou 2) non disponible

Plus Aucun Jargon De Réponse:

Procédure vs POO juste traite de la façon dont vous pouvez écrire le code de telle manière que les différentes pièces sont faciles à comprendre et à maintenir. Vous pouvez réellement écrire "Procédurale" de code qui suit quelques-uns des principes de la programmation orientée objet, de sorte que les deux ne sont pas nécessairement opposés.

Vous vraiment ne sera pas obtenir une compréhension complète jusqu'à ce que vous avez réellement commencer à creuser. Voici une présentation rapide:

  • Vous pouvez écrire du PHP qui n' tâches utiles
  • Vous pouvez organiser des tâches utiles dans les "morceaux" de code
  • Parfois, ces "morceaux" de code va se comporter différemment selon les paramètres que vous transmettez
  • Les morceaux de code qui acceptent des paramètres sont appelés "Fonctions"
  • Les fonctions peuvent être "chunked" ensemble, et il ya différentes façons de le faire:
    • Par exemple: vous pouvez avoir un seul gros fichier PHP avec toutes les fonctions que vous avez déjà écrit, dans l'ordre alphabétique par nom de la fonction
    • Par exemple: vous pouvez avoir plusieurs fichiers PHP avec les fonctions qui sont chunked ensemble par sujet [par exemple, des fonctions mathématiques, des fonctions de chiffrement, etc]
  • La programmation orientée objet est une manière particulière de "chunking" Fonctions ensemble dans une "Classe"
  • Une Classe est juste un autre niveau de "chunking" code de sorte que vous pouvez le traiter comme un tout unifié
  • Une Classe est utile car il vous permet d'organiser votre code à un niveau très élevé dans une manière qui le rend facile pour vous de comprendre, d'utiliser et de maintenir
  • Quand quelqu'un a écrit beaucoup de fonctions, et les a regroupés dans beaucoup de Classes, et obtenu de ceux à travailler ensemble en quelque manière "cool", ils emballent le tout ensemble et l'appeler un "Cadre"
  • Un Cadre est juste le prochain niveau plus élevé de "chunking" (y compris le style de codage et conventions) l'une ou plusieurs personnes conviennent de parce qu'ils aiment la façon dont le code est organisé et il convient à leur style de travail, des préférences, des valeurs, ou quoi que ce soit.

26voto

Wim ten Brink Points 12422

La POO n'est rien de plus qu'un modèle de conception. Si vous êtes juste de commencer, puis apprendre les notions de base en mettant l'accent sur l'approche procédurale. Plus important encore, de se familiariser avec les principes de base, tels que les boucles, les conditions et l'appel à d'autres procédures.

Pendant que vous êtes en train de créer votre code de procédure, il faut prendre l'habitude par l'ajout de méthodes liées à l'intérieur d'un seul fichier source. Apprendre à diviser vos procédures en unités logiques et alors vous êtes déjà en train de devenir orientée objet. Fondamentalement, un objet n'est rien de plus qu'un ensemble de méthodes qui sont liés l'un à l'autre simplement parce qu'ils fonctionnent sur le même jeu de données. (Il ne parle pas des bases de données ici, mais les données de l'application!)

OO est principalement utilisé pour rendre votre code plus logique en divisant le tout dans de simples blocs. En combinant le droit de blocs, vous obtenez une application complète. OO n'est pas une balle d'argent ou d'or marteau qui va résoudre tous vos problèmes. Mais ce qu'elle ne fait que rendre votre code plus facile à comprendre.

Puis de nouveau, certaines personnes arrivent encore à faire un désordre complet d'objets simplement en les tournant vers l'immense super-objets avec des centaines de méthodes. De tels objets ne diffèrent pas beaucoup à partir d'une approche procédurale, simplement en raison de l'énorme quantité de méthodes combinées ensemble, sans réelle logique. C'est une erreur facile à faire quand les gens commencent à faire de la POO trop vite.

7voto

Joonas Pulakka Points 20361

Vous devez apprendre à la fois. Les objets ne sont qu'une des nombreuses abstractions dans l'existence, et l'abstraction est ce que la programmation est en fin de compte. Cela dit, commencer avec les choses, et ensuite ajouter des objets plus tard, parce que PHP objets internes sont de procédure, de toute façon.

Comme pour les cadres; d'abord apprendre les fondamentaux de la langue, écrire jetable programmes expérimentaux. Plus tard, vous pouvez vous familiariser avec les cadres et les considérer vous-même si vous trouvez certains d'entre eux utile dans un certain contexte. Ils ne sont certainement pas obligatoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X