logo

Palette - Make it Colorful🎨

Palette - Visual Page Builder, no design degree required.

Live Demo Download Palette

Scroll
18/06/2025, by Ivan

Menu

Հարցումները կարելի է հանել օբյեկտների՝ հիմնվելով օգտագործողի դասերի վրա: Օրինակ, եթե ունենք դաս՝ ExampleClass անունով, ապա հետևյալ հարցումը կվերադարձնի exampleClass տեսակի օբյեկտներ։

$result = $connection->query("SELECT id, title FROM {example_table}", [], [
  'fetch' => 'ExampleClass',
]);

Եթե դասում կա __construct() մեթոդ, ապա օբյեկտները կստեղծվեն, հատկությունները կավելացվեն օբյեկտին, և ապա կկանչվի __construct() մեթոդը: Օրինակ, եթե ունեք հետևյալ դասն ու հարցումը։

class ExampleClass {
  function __construct() {
    // Կատարել ինչ-որ բան
  }
}

$result = $connection->query("SELECT id, title FROM {example_table}", [], [
  'fetch' => 'ExampleClass',
]);

Օբյեկտը կստեղծվի, id և title հատկությունները կավելացվեն օբյեկտին, և ապա կկատարվի __construct(): Այս իրադարձությունների հաջորդականությունը կապված է PHP-ում սխալի հետ 5.2-ից ցածր տարբերակների համար։

Եթե օբյեկտում կա __construct() մեթոդ, որը պետք է կատարվի մինչ հատկությունների ավելացումը օբյեկտին, ապա հետևյալ օրինակով ցույց է տրվում ինչպես դա անել։

$result = $connection->query("SELECT id, title FROM {example_table}");
foreach ($result->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'ExampleClass') as $record) {
  // Կատարել ինչ-որ բան
}

fetchAll-ին փոխանցվող արգումենտները կարող են օգտագործվել նույն ձևով: PDO::FETCH_CLASS ասում է fetchAll-ին վերցնել վերադարձված արդյունքների հավաքածուն և հատկությունները ավելացնել որպես ExampleClass տեսակի օբյեկտի հատկություններ (երկրորդ արգումենտը): PDO::FETCH_PROPS_LATE ասում է fetchAll-ին հատկությունները ավելացնել օբյեկտին __construct() մեթոդի կանչից հետո։