編集したいPHPベースのレシピと食事プランのスクリプトを見つけました。
データベースにあるすべてのレシピのリストから選択することにより、すべてのユーザーが独自の日替わりメニュー/食事プランを作成できるようにするMealPlanクラスがあります。
ユーザーのレベルに基づいて、挿入ステートメントで使用されるテーブル/列の名前を切り替えたい。
元の挿入方法は次のとおりです。
// Insert Meal Plan
function insert($date, $meal, $recipe, $servings, $owner) {
global $DB_LINK, $db_table_mealplans, $LangUI;
$date = $DB_LINK->addq($date, get_magic_quotes_gpc());
$meal = $DB_LINK->addq($meal, get_magic_quotes_gpc());
$recipe = $DB_LINK->addq($recipe, get_magic_quotes_gpc());
$servings = $DB_LINK->addq($servings, get_magic_quotes_gpc());
$owner = $DB_LINK->addq($owner, get_magic_quotes_gpc());
$sql = "INSERT INTO $db_table_mealplans (
mplan_date,
mplan_meal,
mplan_recipe,
mplan_servings,
mplan_owner)
VALUES (
'$date',
$meal,
$recipe,
$servings,
'$owner')";
$rc = $DB_LINK->Execute($sql);
DBUtils::checkResult($rc, NULL, $LangUI->_('Recipe already added on:'.$date), $sql);
}
私の考えは変えることでした:
mplan_date,
mplan_meal,
mplan_recipe,
mplan_servings,
mplan_owner
に:
$mplan_date,
$mplan_meal,
$mplan_recipe,
$mplan_servings,
$mplan_owner
そして、switchステートメントを使用してテーブル/列の名前を変更します。しかし、私はこの種のことはOOPで嫌われていると言われました。これについて行くための最良の方法は何ですか?
(注:必要に応じてクラス全体を投稿できますが、これで十分な情報になると考えました)