0

我正在使用Kirby CMS

我正在尝试获取我的最新帖子,但前提是我的最新帖子与我的 $latest 变量匹配。

$today = new DateTime("now"); //Declare today
$startdate = new DateTime("2013-06-30"); //Declare startdate
$interval = $startdate->diff($today); //Find the difference between startdate & today
$latest = $interval->format('%a'); //Declare $latest variable to be that interval, formatted as integer

$posts = $pages->find('posts')->children(); //Declare posts

$latestpost = $posts->find($latest); //Find post which matches the $latest variable

我试图达到$latestpost->url();但只有在$latestpost实际存在的情况下。当它现在不存在时,它会作为非对象出现。

因为我得到的方式$latestpostisset并且defined不工作。

我还能怎么做?

4

1 回答 1

0

根据$posts->find(..);返回的内容(查看 kirby 的来源,它将是nullfalse),您可以使用许多不同的检查。

你最好的选择是只使用empty它,因为它会捕获大多数情况,它只会比特定检查的效率略低。

if (!empty($lastestpost)) {
    $url = $latestpost->url();
}
于 2013-07-10T10:59:23.277 回答