php - echo 需要在变量中传递代码

php - echo require code passed in variable

我这里有一些 sudo 代码

    $image_position = left

    switch($image_position){
        case 'left':
            $block_con = "require(locate_template('templates/block-media-left.php'))";
            break;
        case 'right':
            $block_con = 'require(locate_template("templates/block-media-right.php"))';
            break;
        case 'center':
            $block_con = 'require(locate_template("templates/block-media-center.php"))';
            break;  
        default:
            $block_con = 'require(locate_template("templates/block-text.php"))';

    }


    <div>

        <?php echo $block_con; ?>

    </div>

根据 $image_position 的值,我想加载在模板文件夹中找到的 php 的不同块。

开关有效,但回显一个字符串并且不添加要求代码。

我不认为会,但不知道该怎么做。

这个怎么样?

<?php 
$image_position = 'left';
switch($image_position){
    case 'left':
        $block_con = 'templates/block-media-left.php';
        break;
    case 'right':
        $block_con = 'templates/block-media-right.php';
        break;
    case 'center':
        $block_con = 'templates/block-media-center.php';
        break;  
    default:
        $block_con = 'templates/block-text.php';
}
?>


<div>
    <?php require(locate_template($block_con)); ?>
</div>

请务必注意,目前这只是需要 PHP 文件。这意味着它将被包含并执行。您必须回显包含的 PHP 文件才能获得任何输出。