簡體   English   中英

如何在 Laravel 8 Base Controller 中聲明公共 function

[英]How do I declare a public function in Laravel 8 Base Controller

從 Microsoft PHP Graph Tutorial 運行此代碼時,出現以下語法錯誤,意外的“公共”(T_PUBLIC),預期文件結尾。

https://docs.microsoft.com/en-us/graph/tutorials/php?tutorial-step=1

public function loadViewData(){
  $viewData = [];

  // Check for flash errors
  if (session('error')) {
    $viewData['error'] = session('error');
    $viewData['errorDetail'] = session('errorDetail');
  }

  // Check for logged on user
  if (session('userName')) {
    $viewData['userName'] = session('userName');
    $viewData['userEmail'] = session('userEmail');
    $viewData['userTimeZone'] = session('userTimeZone');
  }

  return $viewData;
}

(我是相對缺乏經驗的 php 人,正在嘗試學習 laravel 並鏈接到 Microsoft Graph。鏈接到 Microsoft 的教程有很多,但據我所知,它們都不起作用,大多數都過時了。這是我最大的希望。

代碼不起作用:下面的注釋行是導致問題的一個原因。 如果刪除 'public;' 那么VSCode中不會報錯

即注意在 VSCode 中,如果 public 被刪除,它不會在文件中報告任何錯誤。 只要你把它添加回來,你就會得到'

根據代碼是否正確,但您需要檢查大括號的 class 是否正確關閉。

1 )當您使用 class 並且沒有正確關閉大括號時,它會出現錯誤,如意外的“公共”(T_PUBLIC),預計文件結束。

class yourController extends Controller {

   public function loadViewData(){
     $viewData = [];

     // Check for flash errors
   if (session('error')) {

     $viewData['error'] = session('error');
     $viewData['errorDetail'] = session('errorDetail');

    }

   // Check for logged on user
   if (session('userName')) {

   $viewData['userName'] = session('userName');
   $viewData['userEmail'] = session('userEmail');
   $viewData['userTimeZone'] = session('userTimeZone');

  }

 return $viewData;

} }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM