学渣也要搞 laravel(3)—— HTTP控制器

时间:2023-03-09 22:18:13
学渣也要搞 laravel(3)——  HTTP控制器

1.  laravel 控制器在app/Http/Controllers/ 下,你会看到里面有一个Controller.php ,之后我们创建的控制器都是继承这个总控制器的、创建控制器只需要在这里面添加一个文件 比如 IndexController.php 这个文件,在里面添加:

 <?php

 namespace App\Http\Controllers;

 use Illuminate\Http\Request;

 use App\Http\Requests;

 class AdminController extends Controller{

 }

  即可,然后举个栗子:添加 index方法

 public function index(){
         return view('welcome');
     }

  修改添加路由 Routes.php:

 Route::get('/test','IndexController@index');

'IndexController' 这个是控制器的名称、艾特 后面的即控制器里面的 index 方法、  然后在浏览器地址栏后添加 /test 即可看到同样的欢迎页面

2.  创建控制器,比较方便的方法就是 使用artisan命令:(如何你没有安装composer 请查看 安装篇)

命令行cmd进入到laravel项目的主目录,输入:

 php artisan make:controller AdminController

在次查看Controllers 下的控制器就会 多了一个AdminController 控制器,而且里面的引用和继承关系都写好了。还是非常方便的、查看: Artisan命令大全 。

3.  我想在Controllers下的文件夹里面再创建一个文件夹里面再创建一个控制器。那我该怎样做?

首先例如先创建一个Admin 的文件夹 并把上面创建好的 IndexController.php 剪切到里面

  现在去浏览器运行的时候它会提示 Class App\Http\Controllers\IndexController does not exist  这个IndexController 控制器不存在,那我先去把路由的引用的控制器路径改一下:

 Route::get('/test','Admin\IndexController@index');

注意 正反 斜杠。

再次运行:Class App\Http\Controllers\Admin\IndexController does not exist   报错变了、提示Admin\IndexController 这个控制器不存在。打开Admin/IndexController.php  修改为以下内容:

<?php

namespace App\Http\Controllers\Admin;//修改为当前文件的位置

use Illuminate\Http\Request;

use App\Http\Requests;

use App\Http\Controllers\Controller;//引用Controllers下的Controller总控制器,若不应用会报错提示Controller控制器不存在

class IndexController extends Controller
{
    //
    public function index(){
        return '这是后台';
    }
}

然后 注意路径的大小写,斜杠的正反。就是因为引用控制器的时候 APP 这个不小心都大写了。找了半个小时。真是日了狗了、

再次运行,就正常啦:学渣也要搞 laravel(3)——  HTTP控制器  若你的不正常的话,看看路由的地方改了没。