laravel 控制器

1.定义控制器

在之间的输出hello world! 通过路由指向控制器就是所为的简单定义控制器。

app/Http/Controllers 目录下建一个控制器 IndexController.php

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Controllers\Controller;

class IndexController extends Controller
{
    public function index()
    {
        echo ‘Hellow world!‘;
    }
}

注:文件名与类的名相同

在路由定向控制器:

<?php

Route::get(‘index‘, ‘[email protected]‘);

http://localhost/index  就能看到hellow world!

2. 控制器与命名空间

app/Http/Controllers 建一个文件夹 admin 下面放置后台管理的控制器

app/Http/Controllers/admin 新建一个控制器  adminController.php

<?php
// 命名空间也要改为相应的目录
namespace App\Http\Controllers\admin;

use App\User;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{
    public function index()
    {
        echo ‘Hellow world!‘;
    }
}

在路由指向控制器:

Route::get(‘/admin‘, ‘admin\[email protected]‘);

注意: ‘admin\[email protected]‘  的斜线一定是要"\",  不能是"/"。

除了单一的指向定义,还可以用路由组:

Route::group([‘namespace‘ => ‘Admin‘], function () {
    Route::get(‘/admin‘, ‘[email protected]‘);
});

3.单一操作的控制器

 所为单一操作可以无视,其实就是默认的方法,其它的路由器一般默认使用的是index, 这里使用 __invoke

Route::group([‘namespace‘ => ‘Admin‘], function () {
    Route::get(‘/admin‘, ‘[email protected]‘);
    Route::get(‘/one‘, ‘AdminController‘);//不写方法就使用默认__invoke

});

控制器为:

<?php

namespace App\Http\Controllers\admin;

use App\User;
use App\Http\Controllers\Controller;

class AdminController extends Controller
{
    public function index()
    {
        echo ‘Hellow world!‘;
    }
    public function __invoke()
    {
        echo "单一";
    }
}

4.路由器的中间件

 
时间: 2024-10-24 03:11:18

laravel 控制器的相关文章

laravel控制器分组

在laravel默认配置中,所有控制器都在 app/controllers 目录下,很多时候需要分组功能,比如 API分组,ADMIN分组,前台分组. 手册中并没有明确就这个需求给出解决方案,故再次记录一下自己的解决方式. 提到分组,我首先想到的就是利用php5.3以上版本才有的namespace命名空间功能.laravel默认使用的是classmap来自动加载类库,我们查看composer.json,可以看到一段: "autoload": {     "classmap&q

laravel 控制器里 redirect url地址传两个参数

public function red_search() { $url=Request::all(); return redirect('search/'.$url['category'].'/'.$url['term']); }

laravel 控制器内使用切换数据库

1/ 首先需要在config/database.php文件中增加 数据库的相关配置  并为设置起名称 2/ 其次 在数据库中链接并使用 \DB::connection("mysql_other")->table("user")->find($id);\DB::connection("mysql_other")->table("user")->where("id",$id)->u

laravel 控制器中使用 try catch

需要操作数据库时,当数据字段不一致,mysql报错,控制程序,需要使用try catch 下面是使用案例 $morder['morder_time'] = time();//在这里使用try catchtry { $res_morder = \DB::table('ccsp_morder') ->insert($morder);} catch (\Exception $e) { \DB::rollback(); \DB::commit(); return ['code' => 1004, 'd

laravel 控制器验证

路由文件 web.php Route::any('/post/create', '[email protected]'); 代码文件 PostController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request;use App\Http\Controllers\Controller;use Illuminate\Support\Facades\DB;use Illuminate\Support\Facad

Laravel之控制器

一.简介 将所有的请求处理逻辑都放在单个routes.php 中肯定是不合理的,你也许还希望使用控制器类组织管理这些行为.控制器可以将相关的 HTTP 请求封装到一个类中进行处理.通常控制器存放在app/Http/Controllers 目录中. 二.基本控制器 1.简单示例下面是一个基本控制器类的例子.所有的 Laravel 控制器应该继承自 Laravel 自带的控制器基类Controller <?php namespace App\Http\Controllers; use App\Use

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

1. laravel 控制器在app/Http/Controllers/ 下,你会看到里面有一个Controller.php ,之后我们创建的控制器都是继承这个总控制器的.创建控制器只需要在这里面添加一个文件 比如 IndexController.php 这个文件,在里面添加: 1 <?php 2 3 namespace App\Http\Controllers; 4 5 use Illuminate\Http\Request; 6 7 use App\Http\Requests; 8 9 cl

HTTP层 —— 控制器

1.简介 将所有的请求处理逻辑都放在单个 routes.php 中显然是不合理的,你也许还希望使用控制器类组织管理这些行为.控制器可以将相关的 HTTP 请求封装到一个类中进行处理.通常控制器存放在 app/Http/Controllers 目录中. 2.基本控制器 定义控制器 下面是一个基本控制器类的例子.所有的 Laravel 控制器应该继承自 Laravel 自带的控制器基类 Controller,控制器基类提供了一些很方便的方法如 middleware ,用于添加中间件到控制器动作: <

使用laravel的dingoapi插件

dingoapi是一个laravel的开源插件,可以在github上搜索到,现在在做一个项目,项目中总是会有后端跟前端的json数据交互,而这个dingoapi为json交互提供了很大的便利. 先安装dingoapi 1.在composer.json中的require中添加"dingo/api": "1.0.*@dev",然后在项目根目录运行composer update 注意:dingoapi如果直接用composer require dingo/api:[ema