Laravel基本学习

1、 路由

大多数的应用构建都是以routes/web.php文件定义的路由开始的。
以访问StudentController.php的index方法为例

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
   
    public function index($id=1){
   
        return 'id为'.$id;
    }
}

web路由配置
(1)基础路由

Route::get('/', function () {
   
	return view('welcome');
});
//http://ip.com/laravel/public/index.php/test/post
Route::post('test/post',function(){
   
    return '通过post访问';
});

(2)多请求路由

Route::any('student/any/{id}','StudentController@index');
//http://ip.com/laravel/public/index.php/multy1/4
Route::match(['get','post'],'multy1/{id?}','StudentController@index');

(3)路由带参
路由参数通常放在{}中,如果希望这个参数是可选的,就在参数后面加个?标记,前提是确保路由相应的变量有默认值

//id为必填,name可选
Route::get('user/{id}/{name?}',function($id,$name='im'){
   
    return 'id-'.$id.'==name-'.$name;
});

(4)正则表达式约束

Route::get('user/{id}', function ($id) {
   })->where('id', '[0-9]+');
Route::get('user/{id}/{name}', function ($id, $name) {
   })->where(['id' => '[0-9]+', 'name' => '[a-z]+']);

(5)路由别名
路由别名:可以用as关键字或者name()指定别名,用route()利用别名生成别名对应的url地址

Route::get('student/index',['as'=>'stu',function(){
   
    return route('stu');
}]);
Route::get('student/index',['as'=>'index','uses'=>'StudentController@index']);
Route::get('student/index', 'StudentController@index')->name('index');
//
public function index($id=1){
   
        return route('index');
}

(6)路由群组
路由组允许你在大量路由之间共享路由属性,例如中间件或命名空间,而不需要为每个路由单独定义这些属性。共享属性应该以数组的形式传入 Route::group 方法的第一个参数中

// http://ip.com/my/test1  http://ip.com/my/test2
Route::group(['prefix'=>'my'],function(){
   
    Route::get('test1',function(){
   
        return 'test1';
    });
    Route::get('test2',function(){
   
        return 'test2';
    });
});
2、 控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
   
    public function index(){
   
        return 123;
    }
}

路由与控制器关联2种方法

//方法1
Route::get('index',[
    'uses'=>'StudentController@index',
    'as'=>'test'
]);
//方法2
Route::get('index','StudentController@index');
3、视图

视图文件一般存放于 resources/views 目录下。
例:
(1)在resources/views/student 新建index.blade.php文件

我是{
   {
   $name}}

(2)控制器

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class StudentController extends Controller
{
   
  public function index(){
   
        //方式1
        //return view('student/index',['name'=>'im']);
        //方式2
        return view('student.index',['name'=>'im']);
    }
}

(3)路由

Route::get('student/index','StudentController@index');

(4)访问
http://ip.com/laravel/public/index.php/student/index

4、模型关联
5、数据库

Laravel提供原生sql、查询构造器、Eloquent ORM 3种数据库操作方式

(1)原生sql
$student=DB::select('select * from students');//array()
$bool=DB::insert('insert into students(name,age) values(?,?)',['tom',23]);//bool(true)
$num=DB::update('update students set name=? where id=?',['ii',1]);//int(1)
$num=DB::delete('delete from students where id=?',[3]);//int(1)
(2)查询构造器

Laravel 的数据库查询构造器为创建和运行数据库查询提供了一个方便的接口。Laravel 的查询构造器使用 PDO 参数绑定来保护您的应用程序免受 SQL 注入攻击。

①增加
 $bool= DB::table('students')->insert([
         ['name'=>'a','age'=>'20'],
         ['name'=>'b',
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值