一、路由 Routes\;

1. 路由简介

  • 简单的说就是将用户的请求转发给相应的程序进行处理。
  • 作用就是建立url和程序之间的映射
  • 请求类型get 、 post、put、patch、delete

2. 基本路由

//基础路由-get/post/put/patch/delete
Route::get('basic1',function(){
return 'hello world';
}); Route::post('basic2',function(){
return 'hello world 2';
});

3. 多请求路由

//多请求路由-match/any
Route::match(['get','post'],'multy1',function(){
return 'multy1';
}); Route::any('multy2', function(){
return 'multy2';
});

4. 路由参数

//路由参数
Route::get('user/{id}', function($id){
return 'User-id-:'.$id;
}); //默认参数为空值
Route::get('user/{name?}', function($name = null){
return 'User-name-:'.$name;
});
//指定默认值
Route::get('user/{name?}', function($name = 'sean'){
return 'User-name-:'.$name;
}); //正则表达式匹配参数
Route::get('user/{name?}', function($name = 'sean'){
return 'User-name-:'.$name;
})->where('name', '[A-Za-z]+'); //多参数 正则
Route::get('user/{id}/{name?}', function($id, $name = 'sean'){
return 'User-id-'.$id.'-User-name-'.$name;
})->where(['id'=>'[0-9]+', 'name'=>'[A-Za-z]+']);

5. 路由别名

//路由别名
Route::get('user/center', ['as' => 'center', function(){
return route('center'); //查找路由路径时使用别名即可
}]);

6. 路由群组

//路由群组-访问群众中路由时需要加上前缀,如 /member/user/center
Route::group(['prefix' => 'member'], function(){ //路由别名
Route::get('user/center', ['as' => 'center', function(){
return route('center');
}]); Route::any('multy2', function(){
return 'member-multy2';
}); });

7. 路由中输出视图

//路由中输出视图-视图所在目录 resources/views/
Route::get('view', function(){
return view('welcome');
});

二、控制器 App\Http\Controllers;

**创建控制器 -> 关联路由和控制器 -> 相关路由特效

<?php
namespace App\Http\Controllers;
use App\Member; class MemberController extends Controller
{
public function info($id){
return 'member-info';
//return route('memberinfo');
     //return 'member-info-id-'.$id;
} public function getMember(){
return Member::getMember();
}
}
//路由访问控制器
//方式一
Route::get('member/info', 'MemberController@info');

//方式二
Route::get('member/info', ['uses' => 'MemberController@info']);

//取别名
Route::get('member/info', [
'uses' => 'MemberController@info',
'as' => 'memberinfo'
]); //传递类型限制的参数
Route::any('member/{id}', ['uses' => 'MemberController@info'])
hu    ->where('id', '[0-9]+');

//hu
Route::get('member', 'MemberController@getMember');

三、视图 resources\view\;

1. 新建视图

  • info.php 原生模板
  • info.blade.php 默认模板

2. 输出视图

  • return view('info');
  • 一般习惯一个控制器对应一个view目录(文件夹)
  • return view('member/info')
  • return view('member/info', ['name' => 'sean']);
//MemberController.php
public function views()
{
//return view('member-info');
return view('info');
     //传递变量给视图
     //return view('info',
     //   ['name' => 'sean'],
     //   ['age' => 18]
     //);
    }

//web.php
Route::any('views', 'MemberController@views'); //info.blade.php
info blade
{{$name}}{{$age}}

四、模型 APP\

1. 模型的创建

一般一个模型对应数据库中的一张数据表

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Student extends Model{
//每个模型对应一个数据表,用于交互数据库 //指定表名
protected $table = 'student'; //指定主键
protected $primaryKey = 'id'; //指定允许批量赋值的字段
protected $fillable = ['name', 'age']; //指定不允许批量赋值的字段
protected $guarded = [];
   public static function getStudent(){
   return 'student is sean';
   }
//自动维护时间戳
// public $timestamps = true; //针对时间戳 将其转换为标准日期格式
// protected function getDateFormat()
// {
// return time();
// } //针对时间戳 不做格式处理
// protected function asDateTime($val)
// {
// return $val;
// } }

2. 模型的使用

//StudentController.php
<?php namespace App\Http\Controllers;
use App\Student; class StudentController extends Controller
{ public function info(){
return Student::getStudent();
}
}

//web.php
Route::get('student', 'StudentController@info');

五、Reference

轻松学会Laravel-基础篇

最新文章

  1. ios UIButton设置单选效果,以及同时设置图片和标题
  2. WebView上实现Java与JavaScript交互
  3. Load xlsx in a folder to RDBMS table with Talend
  4. 在Eclipse中配置Tomcat 创建和运行Servlet/JSP
  5. Linux 计划任务 Crontab 笔记与总结(1)
  6. 学习Linux第二天
  7. Oracle中获取执行计划的几种方法分析
  8. js学习--DOM操作详解大全一(浏览器对象)
  9. vijos国庆节模拟赛之繁星春水
  10. Linux多命令顺序运行
  11. accept: Invalid argument linux 网络编程
  12. 电脑机器刷BIOS
  13. java初级开发一系列的工具安装配置
  14. SQL server学习(五)——T-SQL编程之存储过程
  15. WebRTC技术调研
  16. LINUX配置Django
  17. TLB的作用及工作原理
  18. LeetCode:21_Merge Two Sorted Lists | 合并两个排序列表 | Easy
  19. flask_admin 笔记七 扩展功能
  20. HTTP基础知识2

热门文章

  1. iOS随记
  2. MSSQL 字段分组拼接
  3. 网络编程~~~C/S B/S 架构
  4. Git 在小团队中的管理流程
  5. python3 邮件方式发送测试报告
  6. MATLAB实例:非线性曲线拟合
  7. Bert镜像制作及flask生产环境模式启动
  8. MongoDB学习笔记(二、MongoDB查询)
  9. Django 缓存 cache基本使用
  10. verilog 基础知识