欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Laravel下的控制器写法

程序员文章站 2024-03-22 23:00:52
...

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

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

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

Laravel下的控制器写法
然后使用命令:php artisan make:controller TestController

Laravel下的控制器写法
文件夹出现

Laravel下的控制器写法

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


Laravel下的控制器写法Laravel下的控制器写法
但这样只是创建在Controller文件夹下了,如果我想把文件生成在文件夹下怎么办?

目录:
Laravel下的控制器写法代码:php artisan make:controller Home/IndexController
Laravel下的控制器写法结果:Laravel下的控制器写法


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', 'aaa@qq.com');

});

演示:Laravel下的控制器写法

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\aaa@qq.com');

});

截图:
Laravel下的控制器写法


Controller中获取用户输入

获取输入首先需要在命名空间引入门面,但门面本身太长,我们希望给它一个别名方便频繁引用,所以先去 项目目录/config/app.php目录中设置别名。
Input' => Illuminate\Support\Facades\Input::class,
Laravel下的控制器写法
想要在哪个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');
    }
}

Laravel下的控制器写法
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);

   }
}

Laravel下的控制器写法Laravel下的控制器写法

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

  public function index1(){

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

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

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

    }

(dd指令在输出之后会停止执行下方的内容)
Laravel下的控制器写法


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']));

    }

Laravel下的控制器写法



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']));
    }

Laravel下的控制器写法



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'));

    }

Laravel下的控制器写法


相关标签: php laravel