php iç içe sınıflar

3 Cevap php

burada ben yuva istiyorum neden benim örnek sınıftır.

include("class.db.php");

class Cart {

function getProducts() {

//this is how i do it now. 
//enter code here`but i dont want to redeclare for every method in this class. 
//how can i declare it in one location to be able to use the same variable in every method?
$db = new mysqlDB;


$query = $db->query("select something from a table");
return $query

}

}

3 Cevap

Böyle bir şey olabilir

<?php
     class cart 
    {
          protected $database;

          function __construct()
          {
                $this->database = new mysqlDB;
          }

          function getProducts()
          {
               $this->database->query("SELECT * FROM...");
          }
    }
?>

__construct bir sınıf örneğini çağrılan işlevdir.

Özelliklerinden yararlanın.

class Cart {

    private $db;

    public function __construct($db) {
        $this->$db = $db;
    } 

    public function getProducts() {
        $query = $this->db->query( . . .);
        return $query;
    }

}

Sen (gevşek kavrama FTW) ve sınıf dışında bir veritabanı nesnesi oluşturmak gerekir.

$db = new MysqlDb(. . .);
$cart = new Cart($db);

Başka bir özel iç yöntemi / fonksiyon içine her yöntem / işlevi ortak kod izole.

Eğer yarattığı zaman nesne için otomatik olarak bir kez çalıştırmak gerekiyorsa, bu __construct için budur.