Hola gente! tengo una duda.
Estuve viendo muchos códigos para aprender a usar en forma correcta de los constructores. Según entiendo deben ser usados para incicializar propiedades (atributos) del objeto. Pero me confunde mucho que cuando leo códigos ajenos hay constructores que incluyen código con funciones que no tienen nada que ver. Me dá que pensar si yo entendí mal o si los códigos ejemplo que leo están mal hechos.
Por ejemplo, hace poco estaba viendo el codigo de jobberbase.org (app/includes/class.JobberSettings.php) y ví una linea como ésta:
Código PHP:
<?php
class JobberSettings
{
var $mSettings = false;
function __construct()
{
global $db;
$sql = 'SELECT * FROM '.DB_PREFIX.'settings ORDER BY id ASC';
$result = $db->query($sql);
$settings = array();
while ($row = $result->fetch_assoc())
{
// Setting temporary variable names for the 'value' and 'fieldtype' fields
$value = $row['value'];
$data_type = $row['data_type'];
$input_type = $row['input_type'];
etc
Bueno, en este caso es aceptable el hecho de hacer una consulta dentro del constructor, porque esa consulta es solo para tomar datos de la db para inicializar los atributos. Pero no convendría hacerlo en un método aparte? Es correcto ésto?
Gracias.