Laravel下的控制器写法

Laravel控制器的目录在项目文件夹下的app\Http\Controllers中,默认有一个文件夹和一个Controller基类,这里它自带的东西我们不需要去动它,后续我们直接添加就行

而Laravel新建Controller不需要手动复制,可以直接通过命令来创建,当然前提是你在这个项目的主路径中,而不是在Controllers或者其他二级路径中。

比如我的项目是在E盘下的Laravel下的一个文件夹中,那我们就要进入该具体文件夹。

在这里插入图片描述
然后使用命令:php artisan make:controller TestController

在这里插入图片描述
文件夹出现

在这里插入图片描述

当然使用其他工具同样可以执行,我这边用来git的gitbash,但注意的是命令只能在该项目的主目录执行,其他文件夹内不可以。


在这里插入图片描述 在这里插入图片描述
但这样只是创建在Controller文件夹下了,如果我想把文件生成在文件夹下怎么办?

目录:
在这里插入图片描述代码: php artisan make:controller Home/IndexController
在这里插入图片描述结果: 在这里插入图片描述


TestController下演示:

内容:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    //test方法
     public function test(){
    	return phpinfo();
    }
}

路由写法:

//控制器路由写法
Route::group(['prefix'=>'Controller'], function () {
	
	Route::match(['get'],'test', 'GoodsController@test');

});

演示:在这里插入图片描述

Home下IndexController写法

代码:

<?php

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;//因为所在位置不同,所以引入了Controller基类

class IndexController extends Controller
{
    //测试Home下的index方法
    public function index(){
    	echo '这是Home分组下的index方法';
    }
   

}

路由:


Route::group(['prefix'=>'Home'], function () {
    
    Route::match(['get'],'index', 'Home\IndexController@index');

});

截图:
在这里插入图片描述


Controller中获取用户输入

获取输入首先需要在命名空间引入门面,但门面本身太长,我们希望给它一个别名方便频繁引用,所以先去 项目目录/config/app.php目录中设置别名。
Input' => Illuminate\Support\Facades\Input::class,
在这里插入图片描述
想要在哪个Controller中获取数据,就在哪个Controller的命名空间中引入Input,当然Input本身也是有很多方法。

1.Input::get(‘参数’,‘指定默认值’)

<?php

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;//因为所在位置不同,所以引入了Controller基类
use Input;//必须引用

class IndexController extends Controller
{
    
    public function index1(){
    
	    //获取一个id值,如果没有,采用第二个参数的默认值
    	echo Input::get('id','99');
    }
}

在这里插入图片描述
2.Input::all()

<?php

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;//因为所在位置不同,所以引入了Controller基类
use Input;//必须引用

class IndexController extends Controller
{
   
 public function index1(){

   	//获取一个id值,如果没有,采用第二个参数的默认值
   	echo Input::get('id','99');

   	//获取全部值,返回的是一个数组
   	$all = Input::all();
   	var_dump($all);

   }
}

在这里插入图片描述在这里插入图片描述

3.Input::get(‘获取指定参数’)

  public function index1(){

    	//获取一个id值,如果没有,采用第二个参数的默认值
    	echo Input::get('id','99');

    	//获取全部值,返回的是一个数组
    	$all = Input::all();
    	//var_dump($all);

    	//获取指定信息
    	dd(Input::get('name'));

    }

(dd指令在输出之后会停止执行下方的内容)
在这里插入图片描述


4.Input::only([‘id’,‘name’])获取指定的多个数值

  public function index1(){

    	//获取一个id值,如果没有,采用第二个参数的默认值
    	echo Input::get('id','99');

    	//获取全部值,返回的是一个数组
    	$all = Input::all();
    	//var_dump($all);

    	//获取指定信息
    	//dd(Input::get('name'));

    	//获取指定的几个值,返回数组
    	dd(Input::only(['id','name']));

    }

在这里插入图片描述



5.Input::except([‘name’])获取除获取的指定值外所有的值

  public function index1(){

    	//获取一个id值,如果没有,采用第二个参数的默认值
    	echo Input::get('id','99');

    	//获取全部值,返回的是一个数组
    	$all = Input::all();
    	//var_dump($all);

    	//获取指定信息
    	//dd(Input::get('name'));

    	//获取指定的几个值
    	//dd(Input::only(['id','name']));


    	//获取除获取的指定值外所有的值
    	dd(Input::except(['name']));
    }

在这里插入图片描述



6. Input::has(‘home’)判断值是否存在,返回布尔

public function index1(){

    	//获取一个id值,如果没有,采用第二个参数的默认值
    	echo Input::get('id','99');

    	//获取全部值,返回的是一个数组
    	$all = Input::all();
    	//var_dump($all);

    	//获取指定信息
    	//dd(Input::get('name'));

    	//获取指定的几个值
    	//dd(Input::only(['id','name']));


    	//获取除获取的指定值外所有的值
    	//dd(Input::except(['name']));

    	//判断某个值是否存在
    	dd(Input::has('home'));

    }

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deeeelete

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值