如何在 Laravel 5 的檢視中呼叫控制器函式?
你想要使用的控制器方法可以像下面這樣新增到檢視中:
<?php echo App\Http\Controllers\StudentController::test(); ?>
這裡 App\Http\Controllers\StudentController 是控制器,test() 是我們想要呼叫的方法。
示例 1
檢視檔案是 student.blade.php。在這裡,我們呼叫控制器 **studentController** 和方法 **test()**。方法 **test()** 在 studentController 中定義,如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Student; use Illuminate\Support\Facades\DB; use Illuminate\Support\Collection; use URL; use Illuminate\Support\Facades\App; class StudentController extends Controller { public function index() { return view('student'); } public function validateform(Request $request) { } public function test() { echo "Testing controller function in view"; } }
HTML 檔案
<html> <head> <title>Student Form </head> <body> @if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <?php echo Form::open(array('url'=>'/student')); echo App\Http\Controllers\StudentController::test(); ?> <table border = '1'> <tr> <td align = 'center' colspan = '2'>Student Registration</td> </tr> <tr> <td>Name</td> <td><?php echo Form::text('name'); ?></td> </tr> <tr> <td>Email</td> <td><?php echo Form::text('email'); ?></td> </tr> <tr> <td>Age</td> <td><?php echo Form::text('age'); ?></td> </tr> <tr> <td>Address <td><?php echo Form::text('address'); ?></td> </tr> <tr> <td align = 'center' colspan = '2'><?php echo Form::submit('submit'); ?></td> </tr> </table> <?php echo Form::close(); ?> </body> </html>
輸出
以上程式碼的輸出為:

在上面的輸出中,我們可以看到呼叫了 test() 方法,並且我們輸出的訊息顯示給使用者。
在檢視中使用控制器的另一種方法如下:
示例 2
您可以使用以下程式碼在檢視中使用控制器。
<?php use App\Http\Controllers\StudentController; StudentController::test(); ?>
新增以上程式碼後,檢視如下所示:
<html> <head> <title>Student Form</title> </head> <body> @if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <?php echo Form::open(array('url'=>'/student')); ?> <?php use App\Http\Controllers\StudentController; StudentController::test(); ?> <table border = '1'> <tr> <td align = 'center' colspan = '2'>Student Registration</td> </tr> <tr> <td>Name</td> <td><?php echo Form::text('name'); ?></td> </tr> <tr> <td>Email</td> <td><?php echo Form::text('email'); ?></td> </tr> <tr> <td>Age</td> <td><?php echo Form::text('age'); ?></td> </tr> <tr> <td>Address</td> <td><?php echo Form::text('address'); ?></td> </tr> <tr> <td align = 'center' colspan = '2'><?php echo Form::submit('submit'); ?></td> </tr> </table> <?php echo Form::close(); ?> </body> </html>
輸出
以上程式碼的輸出如下:

示例 3
您也可以透過在 blade 模板中將其括在花括號內來使用控制器,如下所示:
{{ App\Http\Controllers\StudentController::test() }}
在檢視中,它將如下所示:
<html> <head> <title>Student Form</title> </head> <body> @if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif <?php echo Form::open(array('url'=>'/student')); ?> {{ App\Http\Controllers\StudentController::test() }} <table border = '1'> <tr> <td align = 'center' colspan = '2'>Student Registration</td> </tr> <tr> <td>Name</td> <td><?php echo Form::text('name'); ?></td> </tr> <tr> <td>Email</td> <td><?php echo Form::text('email'); ?></td> </tr> <tr> <td>Age</td> <td><?php echo Form::text('age'); ?></td> </tr> <tr> <td>Address <td><?php echo Form::text('address'); ?></td> </tr> <tr> <td align = 'center' colspan = '2'><?php echo Form::submit('submit'); ?></td> </tr> </table> <?php echo Form::close(); ?> </body> </html>
控制器如下所示:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Student; //use Illuminate\Support\Facades\Schema; use Illuminate\Support\Facades\DB; use Illuminate\Support\Collection; use URL; use Illuminate\Support\Facades\App; class StudentController extends Controller{ public function index() { return view('student'); } public function validateform(Request $request) { $data = file_get_contents('php://input'); print_r($data); } public function test() { echo "Testing controller function in view"; } }
輸出
以上程式碼的輸出為:

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP