php oop procedural-programming procedural

explicación simple PHP OOP vs Procedural?



procedural-programming (5)

Deberías aprender ambos. Los objetos son solo una de las muchas abstracciones posibles que existen, y la abstracción es de lo que se trata la programación en última instancia. Dicho esto, comience con cosas de procedimiento, y luego agregue objetos más tarde, porque los objetos internos de PHP son de todos modos procedimientos.

En cuanto a los marcos; primero aprende los fundamentos del lenguaje, escribe programas experimentales desechables y tal. Más tarde, puede familiarizarse con los marcos y considerarse a sí mismo si encuentra algunos útiles en algún contexto. Definitivamente no son obligatorios.

Me gustaría aprender PHP y quiero obtener una Idea sobre OOP y Procedural. Leí algunos otros blogs y tutoriales sobre OOP vs Procedural, pero todavía no puedo entender el enfoque.

OOP vs Procedural

  1. ¿Qué debería aprender?
  2. ¿Cuál es la diferencia en el código? cuales son los efectos?
  3. ¿Cómo puede ayudar un marco PHP en el enfoque OOP? (Me gustaría aprender CodeIgniter)
  4. ¿El procedimiento necesita un marco?

Realmente quiero saber la diferencia de código de ambos, mi comprensión de OOP es que creas una clase como y puede ser de acceso. (No sé si eso es correcto).

¡Gracias!


OOP no es más que un patrón de diseño. Si recién está comenzando, aprenda los conceptos básicos centrándose en el enfoque de procedimiento. Lo que es más importante, familiarícese con principios básicos como bucles, condiciones y llamando a otros procedimientos.

Mientras crea su código de procedimiento, cree un hábito agregando métodos relacionados dentro de un solo archivo fuente. Aprenda a dividir sus procedimientos en unidades lógicas y luego ya está empezando a orientarse a objetos. Básicamente, un objeto no es más que una colección de métodos que están relacionados entre sí simplemente porque operan en el mismo conjunto de datos. (¡Aquí no se habla de bases de datos, sino de datos de aplicaciones!)

OO se usa principalmente para hacer que su código sea más lógico al dividir todo en bloques simples. Al combinar los bloques correctos, obtienes una aplicación completa. OO no es una bala de plata o un martillo dorado que resolverá todos sus problemas. Pero lo que sí hace es hacer que tu código sea más fácil de entender.

Por otra parte, algunas personas todavía logran hacer un completo desorden de los objetos, simplemente convirtiéndolos en súper objetos enormes con cientos de métodos. Tales objetos no difieren mucho de un enfoque de procedimiento regular, simplemente debido a la gran cantidad de métodos que se combinan entre sí sin una lógica real. Es un error que es fácil de hacer cuando las personas comienzan a hacer OOP demasiado rápido.


Para agregar las grandes respuestas de arriba. Debería ver OOP como una progresión natural de su estilo de codificación: cuando comienza a escribir un programa pequeño, puede que necesite juntar un par de líneas de código php, luego agruparlas en funciones y cuantas más funciones escriba, puede sentir la necesidad. para organizarlos mejor en clases. OOP simplemente permita que su estructura mejore sus códigos, lo que permite un mejor mantenimiento del código.


Procedural php y oop usa el mismo código php. Entonces, la única diferencia es que con el procedimiento, te enfocas en una tarea y eso es todo. En oop, organizas tu código usando patrones o fragmentos que se pueden reutilizar en muchas áreas diferentes del código.

La respuesta simple es que necesita conocer y comprender php. Puedes aprenderlo en php.net. Una vez que lo comprenda, puede comenzar a organizar su código en chucks.

El código de procedimiento usa funciones, variables.

Una vez que se familiarice con las cosas, puede comenzar a organizar las funciones y variables en clases. Comenzamos llamando a las funciones como métodos y variables como propiedades.

Buena suerte.


Antecedentes: Usted solicitó una "explicación simple" que sugiere:

  1. ¿Quieres una visión general sin tonterías sin jerga
  2. Quieres algo que te ayude a aprender desde el principio
  3. Has descubierto que no hay dos personas que alguna vez respondan la pregunta de la misma manera , y es confuso. Esa es la razón por la que estás aquí pidiendo una explicación simple. ¿Sí?

Respuesta corta sin jerga:

  1. Muchas explicaciones introductorias brindan rápidamente ejemplos de "OOP mundo real". Esos pueden tender a confundir más que a la ayuda, así que no dude en ignorar eso por el momento.
  2. Puede pensar en el código fuente simplemente como "fragmentos" de funcionalidad, que simplemente se guardan en archivos individuales.
  3. Hay diferentes formas de organizar esos "trozos"; dependiendo de cosas como las convenciones del lenguaje de programación, los antecedentes y la capacitación de los desarrolladores, o simplemente las antiguas preferencias personales.
  4. La POO y la programación procedimental son simplemente dos metodologías principales, generalmente reconocidas, sobre cómo organizar y organizar esos "trozos" de código.

Larga respuesta sin jerga:

Procedural vs OOP es solo un aspecto de un tema fundamental de la programación de computadoras: cómo hacer que su código sea fácil de entender y un pedazo de pastel para mantener profesionalmente. En realidad, puede escribir el código "Procedural" que sigue algunos de los principios de OOP, por lo que los dos no son necesariamente opuestos.

Su comprensión crecerá realmente una vez que aprenda otros lenguajes de programación orientados a objetos , entre los cuales, PHP es un "niño nuevo en el bloque".

Aquí hay una descripción general rápida de lo que aprende a medida que construye su experiencia:

  • Puedes escribir código fuente PHP que hace tareas útiles
  • Puede organizar tareas útiles en "trozos" de código
  • Puedes pensar en "fragmentos" de código independientemente de los archivos individuales donde se guardan
  • A veces esos "fragmentos" de código se comportarán de manera diferente en función de los parámetros que pase
  • Los trozos de código que aceptan parámetros se llaman "Funciones"
  • Las funciones se pueden "agrupar" juntas, y hay diferentes formas de hacerlo:
    • Por ejemplo: podría tener solo un gran archivo PHP con todas las funciones que haya escrito en toda su vida, enumeradas en orden alfabético por nombre de función
    • Por ejemplo: podría tener múltiples archivos PHP con funciones fragmentadas por temas [por ejemplo, funciones para realizar la manipulación básica de cadenas, funciones para procesar matrices, funciones para entrada / salida de archivos, etc.]
  • OOP es una forma especial de "agrupar" Funciones juntas en una "Clase"
  • Una clase es simplemente otro nivel de código "fragmentación" en conjunto para que pueda tratarlo como un todo unificado
  • Una clase puede ser considerada como una "fragmentación" de métodos y propiedades

    • methods son simplemente funciones que están lógicamente relacionadas entre sí de alguna manera significativa. Las palabras "método" y "función" son básicamente dos términos diferentes para la misma cosa.
    • las propiedades son simplemente valores de datos que están relacionados con la clase. Estos son valores que están intencionalmente no aislados para cualquier función individual, porque más de una función de la clase debería tener acceso a ellos.
      • Por ejemplo : si su clase tiene varios métodos para hacer astronomía, las propiedades de la clase podrían ser los valores de ciertos números famosos que todos los métodos de astronomía necesitan conocer (como Pi, la velocidad de la luz, la distancia entre planetas específicos, etc.).
    • Aquí es donde la mayoría de las explicaciones OOP se confunden porque se ramifican en " ejemplos del mundo real " que pueden desviarse rápidamente del tema . A menudo, "mundo real" es un eufemismo para las perspectivas ontológicas de un individuo en particular. Eso tiende a ser útil solo una vez que ya entiendes el concepto lo suficientemente bien como para enseñárselo a otra persona.
    • Para comprender OOP sin confusión, puede omitir los ejemplos del "mundo real" por el momento, y solo enfocarse en el código. Una clase es simplemente una forma de almacenar funciones (también conocido como métodos) y propiedades (también conocido como datos) como código PHP en uno o más "fragmentos" relacionados, donde cada "porción" individual se ocupa de un tema específico o pieza de funcionalidad. Eso es todo lo que necesita saber para comenzar.
  • Una clase es útil porque le permite organizar su código a un nivel muy alto de una manera que le facilita la comprensión, el uso y el mantenimiento.

  • Cuando alguien ha escrito muchas funciones, y las ha organizado en muchas clases, y ha conseguido que trabajen juntas de una manera genial, las combina todo y la llama un "Marco" .
  • Un Framework es simplemente el siguiente nivel de "fragmentación" (incluido el estilo de codificación y las convenciones) en el que una o más personas acuerdan porque les gusta la forma en que se organiza el código y se adapta a su estilo de trabajo, preferencias, valores y planes para el mundo dominación, etc.

Ver también