Dynamic class instantiation ใน PHP

ไม่ทราบว่าใช้คำถูกต้องหรือเปล่านะครับ ประมาณว่าถ้าผมครับ คืออยากจะสร้าง class ตาม string ที่ให้มาเวลารัน แทนที่จะต้องบอกว่า class ชื่ออะไร วิธีก็คือใช้ reflection class อ่านมาจาก stackoverflow

<?php
    class Toto {
        function printToto() {
            print "This is Toto.\n";
        }
    }
    $className = "Toto";
    $reflectionClass = new ReflectionClass($className);
    $toto = $reflectionClass->newInstance();
    $toto->printToto();
?>

เวลาจะเปลี่ยนชื่อ class ที่จะเอามาสร้าง object ก็เปลี่ยนที่ $className ได้เลย กะว่าจะเอามาใช้กับ controller และ model

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s