explication simple PHP OOP vs procédural?

j'aimerais apprendre le PHP et avoir une idée de L'OOP et de la procédure. J'ai lu d'autres blogs et tutoriels sur L'OOP par rapport à la procédure, mais je ne peux toujours pas comprendre l'approche.

OOP vs Procedural

  1. Que dois-je apprendre?
  2. Quelle est la différence de code? quels sont les effets?
  3. comment un framework PHP peut-il aider dans OOP aproach? (Je voudrais apprendre le CodeIgniter)
  4. Ne procédurales besoin d'un Cadre?

je veux vraiment connaître la différence de code des deux, ma compréhension de OOP est que vous créez une classe comme et il peut être Accès. (Je ne sais pas si c'est correct).

Merci!

93
demandé sur Pennf0lio 2009-10-07 14:51:17

5 réponses

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

  1. Vous voulez un no-nonsense "vue d'ensemble de 151910920" sans jargon
  2. Vous voulez quelque chose qui va vous aider apprendre dès le début
  3. Vous avez découvert que pas de deux personnes jamais répondre à la question de la même manière , et c'est source de confusion. C'est l' raison vous êtes ici pour demander une explication simple. Oui?

Court Pas De Jargon De Réponse:

  1. de nombreuses explications préliminaires sautent rapidement dans les exemples "OOP real world". Ceux qui ont tendance à confondre plus d'aide, n'hésitez donc pas à ignorer pour l'instant.
  2. vous pouvez penser au code source simplement comme des" morceaux " de fonctionnalité, qui se trouvent juste être sauvés aux dossiers individuels.
  3. il y a différentes façons d'organiser ces" morceaux"; en fonction de choses comme les conventions du langage de programmation, l'arrière-plan et la formation du(des) développeur (s), ou tout simplement ancienne préférence personnelle.
  4. de la programmation orientée objet et programmation Procédurale sont tout simplement deux principaux, généralement de méthodes reconnues, de manière d'organiser et d'agencer ces "morceaux" de code.

Longue Pas De Jargon De Réponse:

procédural vs OOP est juste un aspect d'une question fondamentale de la programmation informatique: comment rendre votre code facile à comprendre et un morceau de gâteau à professionnellement maintenir . Vous pouvez en fait écrire un code "procédural" qui suit certains des principes de L'OOP, de sorte que les deux ne sont pas nécessairement opposés.

votre compréhension va vraiment augmenter une fois que vous apprenez autre programmation orientée objet langues , parmi lesquels, PHP est un "petit nouveau sur le bloc".

voici un bref aperçu de ce que vous apprenez en construisant votre expérience:

  • vous pouvez écrire le code source PHP qui fait tâches utiles
  • vous pouvez organiser des tâches utiles en "morceaux de code
  • Vous pouvez penser à des "morceaux" de code indépendamment des fichiers individuels où ils sont enregistrés
  • parfois, ces "morceaux" de code se comportent différemment selon les paramètres vous passez dans
  • morceaux de code qui acceptent les paramètres sont appelés "fonctions"
  • les fonctions peuvent être "tronquées" ensemble, et il y a différentes façons de le faire:
    • par exemple: vous pourriez n'avoir qu'un seul grand fichier PHP avec toutes les fonctions que vous avez écrites dans votre vie entière, répertorié dans l'ordre alphabétique par nom de fonction
    • par exemple: vous pouvez avoir plusieurs fichiers PHP avec des fonctions qui sont reliées entre elles par sujet [par exemple, des fonctions pour faire une manipulation de base de chaîne, des fonctions pour traiter des tableaux, des fonctions pour l'entrée/sortie de fichier, etc]
  • la programmation orientée objet est une manière particulière de "chunking" Fonctions dans une "Classe"
  • Une Classe est juste un autre niveau de "chunking" code de sorte que vous pouvez le traiter comme un tout unifié
  • d'Une Classe peut être considérée comme une "segmentation" de méthodes et propriétés

    • méthodes sont simplement des fonctions qui sont logiquement liées les unes aux autres d'une manière significative. Les mots "méthode" et "fonction" sont essentiellement de deux termes différents pour la même chose.
    • propriétés sont simplement des valeurs de données qui sont liées à la classe. Ce sont des valeurs qui sont intentionnellement non-isolés à une fonction individuelle, parce que plus d'un des fonctions dans le la classe devrait y avoir accès.
      • par exemple : si votre classe a un tas de méthodes pour faire de l'astronomie, les propriétés de la classe pourraient être les valeurs de certains nombres célèbres que toutes les méthodes d'astronomie ont besoin de connaître (comme Pi, la vitesse de la lumière, la distance entre les planètes spécifiques, etc.).
    • C'est où la plupart des explications de OOP deviennent confuses parce qu'ils branche au loin dans exemples du monde réel " qui peuvent rapidement obtenir hors-sujet . Souvent, "monde réel" est un euphémisme pour les perspectives ontologiques d'un individu particulier. Cela tend à être utile seulement une fois que vous comprenez déjà le concept assez bien pour l'enseigner à quelqu'un d'autre.
    • pour comprendre L'OOP sans confusion, vous pouvez sauter les exemples du" monde réel " pour l'instant, et vous concentrer sur le code. Un La classe est simplement une façon de stocker les fonctions (méthodes aka) et les propriétés (données aka) comme PHP code dans un ou plusieurs "morceaux" liés où chaque individu "morceau" traite d'un sujet spécifique ou un morceau de fonctionnalité. C'est tout ce que vous devez savoir pour commencer.
  • une classe est utile car elle vous permet d'organiser votre code à un très haut niveau d'une manière qui rend facile pour vous de comprendre, utiliser et maintenir.

  • quand quelqu'un a écrit beaucoup de fonctions, et les a organisés en beaucoup de Classes, et a obtenu ceux de travailler ensemble d'une certaine manière cool, ils emballent l'ensemble de la chose ensemble et l'appellent un" cadre " .
  • Un Cadre juste le prochain niveau plus élevé de "chunking" (y compris le style de codage et de conventions) sur lesquelles une ou plusieurs personnes sont d'accord parce qu'elles aiment la façon dont le code est organisé et qu'il convient à leur style de travail, à leurs préférences, à leurs valeurs, à leurs plans de domination mondiale, etc.

Voir aussi

249
répondu dreftymac 2018-07-17 02:55:32

OOP n'est rien de plus qu'un motif. Si vous ne faites que commencer, apprenez les bases en vous concentrant sur l'approche procédurale. Plus important encore, familiarisez-vous avec les principes de base comme les boucles, les conditions et les appels d'autres procédures.

pendant que vous créez votre code de procédure, créez une habitude en ajoutant des méthodes connexes à l'intérieur d'un seul fichier source. Apprenez à diviser vos procédures en unités logiques et alors vous commencez déjà à 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. (Sans parler des bases de données ici, mais des données d'application!)

OO est principalement utilisé pour rendre votre code plus logique en divisant tout en blocs simples. En combinant les bons blocs, vous obtenez une demande complète. OO n'est pas une balle en argent ou un marteau doré qui résoudra tous vos problèmes. Mais ce qu'il fait do, rend votre code plus facile à comprendre.

encore une fois, certaines personnes parviennent encore à faire un gâchis complet d'objets, simplement en les transformant en énormes super-objets avec des centaines de méthodes. De tels objets ne diffèrent pas beaucoup d'une approche procédurale régulière, simplement en raison de l'énorme quantité de méthodes étant combinées ensemble sans aucune logique réelle. C'est une erreur qui est facile à faire quand les gens commencent à faire de l'OOP trop vite.

19
répondu Wim ten Brink 2009-10-07 11:26:14

vous devriez apprendre les deux. Les objets ne sont que l'une des nombreuses abstractions possibles dans l'existence, et l'abstraction est ce que la programmation est finalement tout au sujet. Cela dit, commencez avec des trucs de procédure, puis ajoutez des objets plus tard, parce que les internes des objets PHP sont de toute façon de nature procédurale.

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 envisager vous si vous trouvez certains d'entre eux utiles dans un certain contexte. Ils ne sont certainement pas obligatoire.

5
répondu Joonas Pulakka 2009-10-07 10:56:33

pour ajouter sur les grandes réponses ci-dessus. Vous devriez voir OOP comme une progression naturelle de votre style de codage-lorsque vous commencez à écrire un petit programme, vous pourriez juste avoir besoin de mettre en place un couple de lignes de code php, puis les grouper en fonctions et le plus de fonctions que vous écrivez, vous pouvez sentir le besoin de mieux les organiser en classes. OOP juste laisser votre structure de vos codes mieux-permettant une meilleure maintenance du code.

5
répondu Rawdreeg 2014-10-20 20:44:33

PHP procédural et oop utilise le même code php. Alors la seule différence est qu'avec la procédure, vous vous concentrez sur une tâche et c'est tout. Dans oop, vous organisez votre code en utilisant des motifs ou des morceaux qui peuvent être réutilisés dans de nombreuses zones différentes du code.

réponse Simple: vous devez connaître et comprendre php. Vous pouvez l'apprendre à php.net. Une fois que vous l'aurez compris, vous pourrez commencer à organiser votre code en rondelles.

code de procédure utilise des fonctions, des variables.

une fois que vous obtenez un coup de main des choses, vous pouvez commencer à organiser les fonctions et les variables en classes. Nous commençons à appeler les fonctions en tant que Méthodes et les variables en tant que propriétés.

bonne chance.

5
répondu Edward Manda 2014-10-20 21:03:21