PDA

View Full Version : سوال: گرفتن متد هایی که باید به کلاس فرستاده شوند از کاربر



smhnaji
یک شنبه 27 بهمن 1387, 21:51 عصر
من می‌خوام بوسیله‌ی صفحه‌ی ایندکس، متد و کلاس و پارامترهایی رو که کاربر برای اون متد می‌فرسته، رو از کاربر بگیرم.

بذارید قضیه رو ساده‌تر کنیم:
من می‌خوام کلاس و متدی رو که کاربر دوست داره اجرا بشه، بصورت $_GET از کاربر بگیرم.

کدی که نوشتم، به این صورت هست:


<?php

require_once 'core/init.php';

requireCore(); // call initial variables and functions

if ($_GET['class'])
{
//$myObj[$_GET['class']] = new $_GET['class']();
$a = new $_GET["class"];
$methodName = $_GET["action"];
$a -> $methodName($_GET);
}

?>اما ارور می‌ده و می‌گه که: متد باید از نوع string باشه. نه متغیر:
Fatal error: Method name must be a string in /var/www/site/index.php on line 12

نظرات کارشناسی دوستان بشدت appreciate خواهد شد! :متفکر::لبخندساده:

naser67
یک شنبه 27 بهمن 1387, 22:33 عصر
require_once 'core/init.php';

requireCore(); // call initial variables and functions

if ($_GET['class'])
{
//$myObj[$_GET['class']] = new $_GET['class']();
$a = new (string)$_GET["class"];
$methodName = (string) $_GET["action"];
$a -> $methodName($_GET);
}