orientado objetos new consulta conexion clase archivo php object mysqli procedural-programming

new - ¿Por qué el PHP orientado a objetos con mysqli es mejor que el enfoque de procedimientos?



mysqli php (1)

La razón principal es que PHP se mueve constantemente hacia la programación OO.

No hay nada de malo en utilizar las funciones mysqli_xxx() lugar de los equivalentes de OOP; es exactamente lo mismo en lo que respecta al código.

El único problema es que estarás más y más atrás de la curva en términos de lo que la gente piensa que es un código PHP bien escrito.

Vale la pena señalar que la biblioteca PDO, que se considera ideal para la mayoría de los códigos DB en PHP, es solo OOP. No tiene una interfaz de procedimiento. Y tampoco la mayoría de las otras características nuevas agregadas a PHP en las últimas versiones. Si desea utilizar PHP al máximo, necesita saber OOP de todos modos.

También está el punto acerca de la capacidad de crear una clase de extensión para su base de datos, algo como esto:

class myDB extends mysqli { .... your own stuff here to extend and improve the base mysqli class }

Por supuesto, puede lograr lo mismo con el código de procedimiento, pero no es tan claro como el método OOP. Y, por supuesto, eso solo es relevante si realmente quieres extender la clase.

Sin embargo, como primer paso, simplemente pasar de mysql_xxx() a mysqli_xxx() es un gran comienzo. Avanzar todo el camino hacia el uso de la interfaz OOP sería aún mejor, pero solo cambiar a las funciones mysqli es un buen comienzo.

El uso de la interfaz de procedimientos para empezar facilitará la transición desde las antiguas funciones mysql_xx() , por lo que si cambiar a la interfaz OOP es un gran salto al principio, no sienta que tiene que hacerlo todo en Uno va. Comience con una conversión a las funciones de mysqli procedimiento, luego cambie a los métodos de OOP más adelante; ni el salto será tan grande por sí mismo.

He estado usando el enfoque de procedimiento con mysql * hasta hace poco. Ahora quiero cambiar a mysqli y enfoque orientado a objetos. Muchos recursos y libros en línea indican que OOP es mejor que el procedimiento, incluso en el caso de PHP. Después de revisar algunos tutoriales en línea, escribí un pequeño programa que se conecta a la base de datos y selecciona un valor. Quiero saber por qué el enfoque orientado a objetos es mejor? Además, ¿es esta la forma correcta de codificar una página web de OO php?

El enfoque orientado a objetos

$host = "localhost"; $username = "root"; $password = ""; $dbname = "compdb"; @ $db = new mysqli($host, $username, $password, $dbname); if(mysqli_connect_errno()) { die("Connection could not be established"); } $query = "SELECT company_id FROM company_basic_details WHERE company_name = ''ABC''"; $result = $db->query($query); $total_num_rows = $result->num_rows; echo "The Results Are : <br>"; while($row = $result->fetch_array()) { echo $row[''company_id'']; } ?>

El enfoque de procedimiento

<?php $host = "localhost"; $username = "root"; $password = ""; $dbname = "compdb"; @ $db = mysqli_connect($host, $username, $password, $dbname); if(mysqli_connect_errno()) { die("Connection could not be established"); } $query = "SELECT company_id FROM company_basic_details WHERE company_name = ''ABC''"; $result = mysqli_query($db, $query); $total_num_rows = mysqli_num_rows($result); echo "The Results Are : <br>"; while($row = mysqli_fetch_array($result)) { echo $row[''company_id'']; } ?>