如何通过$ _GET变量OOP方式加载php文件

时间:2016-02-16 09:31:36

标签: php oop

我正在学习PHP中的OOP。

我以前使用以下逻辑加载页面:

// Example url: index.php?page=something

$page = isset($_GET['page']) ? $_GET['page'] : false;

if (!empty($page)) {
    include 'content/' . $page . '.php';
}

但我想知道它是如何以面向对象的方式完成的。是通过方法完成的吗?

也许是这样的:

public function loadContent($_GET['page'])
{
     $url = 'content/' . $_GET['page'] . '.php';

     return $url;
}

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样......

class Page {

    /**
     * The page name
     * 
     * @var string
     */
    private $page;

    /**
     * Constructor
     * 
     * @param string $page
     */
    public function __construct($page)
    {
        $this->page = $page;
    }

    /**
     * Load the content of the page
     * 
     * @return string|null
     */
    public function loadContent()
    {
        $file = 'content/' . $this->page . '.php';

        if (file_exists($file)) {
            return include $file;
        }
    }
}

// Load the page class if we have a page
if (isset($_GET['page'])) {
    $page = new Page($_GET['page']);
    echo $page->loadContent();
}