控制器和刀片中的功能 - Laravel

时间:2015-12-30 01:19:09

标签: php laravel laravel-5

我正慢慢开始接触Laravel,但在处理基本事情时仍然没有什么问题。

所以这就是我现在所拥有的

route

中我的webcontroller.php调用的函数和函数
// Function for printing out copyright year
function copyright_info($begin_year = NULL)
{
    date_default_timezone_set('Europe/London');
    if(empty($begin_year) || $begin_year == date('Y'))
        echo date('Y');
    else
        echo $begin_year." - ".date('Y');    
}

// function being called by route.php to get Restaurant Page
public function restaurant () {
    $cookie = Cookie::get("basket");
    return view('pages.restaurant', ['basket' => $cookie]);
}

现在,所有第一个功能都是在提供年份后打印出类似2013-2015的内容。

所以我应该可以做这样的事情

public function restaurant () {

    // use the function and get copyright year
    $year = copyright_info('2013')

    $cookie = Cookie::get("basket");
    // pass data to the view including the year we just created
    return view('pages.restaurant', ['basket' => $cookie, 'year' => $year]);
}

现在在我的restaurant.blade.php文件中,我将我的页脚包含在includes文件夹中,该文件夹对我的所有网页都是通用的@include('includes.footer')。现在,页脚实际上包含div,其中需要$year我已传递到restaurant视图。在我footer.blade.php我有这个

<p style="font-size: 0.9rem">Copyright &copy; {{ $year }}  &#124;  xxx.com Limited</p>

现在我假设当我将数据传递给restaurant并且footer中包含restaurant时,footer数据将包含在restaurantPHP但是,这并不乐意。

经过大量测试后,我发现我的函数根本没有产生任何数据。这不是因为该功能也不起作用,因为正常情况<img src=”screenshot.php?url=google.com” />

任何指导意见

2 个答案:

答案 0 :(得分:0)

尝试将$ year从restaurant.blade传递到footer.blade

 class NaturalNumber {

    private int i;

    public NaturalNumber(int i) { this.i = i; }
    // ...
}

class EvenNumber extends NaturalNumber {

    public EvenNumber(int i) { super(i); }
    // ...
}

答案 1 :(得分:0)

所以我想通了。

  1. Laravel将添加变量,无论它是在主视图中使用还是包含
  2. 始终,始终确保您的功能return。从问题中您可以看到我的function使用echo
  3. 希望这有助于将来。