laravel java框架_php---laravel5框架的使用

路由器的使用:

//在浏览器直接访问,跳转到welcome视图,视图路径在public/resources/views/

Route::get('/', function () {

return view('welcome');

});

//在浏览器直接访问,返回hello world

Route::get("route1", function () {

return "hello world";

});

//因为是post请求,不可以在浏览器地址栏直接访问

Route::post("route2", function () {

return "hello world";

});

//match: 可以定义接收get或post请求

Route::match(['get','post'], "reute3", function () {

return "hello world";

});

//any: 可以接收get和post请求

Route::any("route4", function () {

return "hello world";

});

//路由接收参数,php中的字符串拼接用 "."

Route::get("user1/{id}", function($id){

return "id-->" . $id;

});

//在user2/{id?} 后面加个问号代表参数不是必要的,可以在function中给个默认值

Route::get("user2/{id?}", function($id = 5){

return "id-->" . $id;

});

//参数校验,在最后面加上正折表达,这里代表username只能是字母

Route::get("user3/{username}", function($username) {

return "username-->" . $username;

})->where("username","[A-Za-z]+");

//路由别名,只要在后面加个数组,注意数组第一个元素是"as" => "center" ,第二个元素是function

Route::get("user4/mamber-center", ["as" => "center" , function(){

//使用routes可以返回对应的路径

return route("center");

}]);

//路由群组,加前缀,member.可以通过member/user1访问到第一个,

//通过member/user2访问到第二个

Route::group(["prefix" => "member"], function(){

Route::get("user1",function(){

return "hello world";

});

Route::get("user2",["as" => "group_route", function(){

return route("group_route");

}]);

});

路由器绑定控制器的方法:

//路由和控制器进行绑定,第一个是访问地址,第二个是控制器名称和方法名称,用@符号隔开

Route::get("member", "MemberController@info");

//路由和控制器进行绑定,第二种方法

Route::get("member1", ["uses" => "MemberController@info"]);

//起别名的方法

Route::get("member2", ["uses" => "MemberController@info", "as" => "memter"]);

//控制器接收参数的方法

Route::get("member3/{id}","MemberController@info")->where("id", "[0-9]+");

创建控制器:

namespace App\Http\Controllers;

//在app/http/controllers/下新建一个文件,类名和文件名相同,然后要extends controller

class MemberController extends Controller{

public function info($id){

return "id->" . $id;

}

}

创建视图,一般一个控制器对应一个视图文件夹:

7acd9c521bd43b860c124547e83d9288.png

.blade.php是默认模板视图文件

在控制器中返回视图代码:

class MemberController extends Controller{

public function info(){

//返回/member/info.blade.php

return view("/member/info");

}

}

在视图里面获取控制器传过来的参数:

视图文件:使用{{$name}} 双大括号加参数名

{{$name}} === {{$age}}

控制器文件:在返回视图后加一个数组,里面存放参数

public function info(){

//返回/member/info.blade.php

return view("/member/info",

["name" => "php", "age" => 123]);

}

Model视图的创建:

namespace App;

use Illuminate\Database\Eloquent\Model;

//创建一个视图类,extends Model

class Member extends Model{

//为了方法调用,写成静态方法

public static function info(){

return "this is model";

}

}

控制器调用视图:

public function info(){

return Member::info();

}

连接数据库:

config/database.php --》mysql的配置

.env --》根目录下的配置文件,里面存放连接要用的数据

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_DATABASE=shopping

DB_USERNAME=root

DB_PASSWORD=

根据要连接的数据库配置一下就可以了

在Conrtoller中连接数据库写sql语句

用DB::select,DB::update,DB::insert,DB::delete,

public function getUserInfo($username){

$user = DB::select("select id,username from user where username=?",

[$username]); //中括号放参数,增删改查写法类似

return dd($user);

}

查询构造器的使用(更快更方便):

插入:

//查询构造器的使用,在user表中插入数据,可以用二维数组插入多条数据

public function query(){

$rowCount = DB::table("user")->insert(

[

["username" => "larvel2", "password" => "admin"],

["username" => "larvel3", "password" => "admin"]

]);

if($rowCount > 0){

return "success";

}

return fail;

}

修改:

//查询构造器的使用,在user表中修改数据,注意要加上where条件

public function query2(){

$rowCount = DB::table("user")

->where("username","root")

->update(["password" => "456"]);

var_dump($rowCount);

if($rowCount > 0){

return "success";

}

return "fail";

}

删除:

//使用查询构造器删除数据

public function query3(){

$rowCount = DB::table("user")

->where("id", ">=" ,13)

->delete();

var_dump($rowCount);

if($rowCount > 0){

return "success";

}

return "fail";

}

查询:

//使用查询构造器查询数据

public function query4(){

//查询所有数据

$userList = DB::table("user")->get();

//查询第一条数据,可以指定排序方法->order("id","desc")

$user1 = DB::table("user")->first();

//查询指定条件的数据

$user2 = DB::table("user")->where("id", ">=" ,14)->get();

//查询指定条件的数据,多条件版

$user3 = DB::table("user")->whereRaw("id >= ?", [12])->get();

//查询指定的字段

$usernameList = DB::table("user")->pluck("username");

//查询之后用键值对的方式显示

$usernameAndId = DB::table("user")->lists("username","id");

//查询指定的字段

$selectUser = DB::table("user")->select("username","password")->get();

//一次查询n条,可以用return停止查询

echo "

";

$selectN = DB::table("user")->chunk(2,function($user){

var_dump($user);

});

}

使用mysql的函数:

//聚合函数的使用

public function query5(){

$count = DB::table("user")->count();

var_dump($count);

$max = DB::table("user")->max("id");

var_dump($max);

}

ORM框架:

查找:

public function orm1(){

echo "

";

//User定义的一个pojo,他有all(),find(),findOrFail()等方法

$users = User::all();

$user1 = User::findOrFail(15);//查找指定id,如果查不到就报错

$user2 = User::where("id",">",1)->orderBy("id","desc")->first();

$count = User::count(); //聚合函数的使用

$max = User::max("id");

dd($max);

}

插入:

public function orm2(){

$user = new User(); //新建一个用户

$user->username = "orm"; //设置用户属性

$user->password = "admin";

//直接用save()方法保护到数据库,

//orms框架会自动处理creaet_at和update_at

//如果数据库表没有这两个字段,会报错

$bool = $user->save();

//用create方法直接保护到数据库

$user1 = User::create(["username" => "imooc", "password" => "admin"]);

//在数据库查找,如果找不到就插入一条新的

$user2 = User::firstOrCreate(["username" => "cai", "password" => "admin"]);

//在数据库查找,如果找不到就new一个对象,不会插入数据库

$user3 = User::firstOrNew(["username" => "caijun", "password" => "admin"]);

$user3->save();

dd($user3);

}

修改:

//orm,修改

public function orm3(){

//把id大于40的密码修改为123456

$rowCount = User::where("id", ">", 40)->update(["password" => "123456"]);

var_dump($rowCount);

}

删除:

//orm,删除

public function orm4(){

//通过模型删除

$user1 = User::find(41);

$user1->delete();

//通过主键删除

User::destroy(42);

User::destroy([43,44]);

//指定条件删除

User::where("id", ">", "15")->delete();

}

Blade模板的使用:

在resources中创建一个模板文件:layous.blade.php

div{

margin: 5px;

border-style: solid;

border-color: black;

float: left;

}

.header{

width: 100%;

height: 200px;

}

.sidebar{

width: 200px;

height: 500px;

}

.content{

width: 600px;

height: 500px;

}

@section("header")

header

@show

@section("content")

content

@show

ab8e9940ed9064970fd85567ca115200.png

创建一个section.blade.php文件,引用模板

@extends("layous")

@section("header")

@parent

section 1 => header

@stop

@section("sidebar")

@parent

section 1 => sidebar

@stop

@section("content")

@parent

section 1 => content

@stop

模板文件的使用:

@section("content")

{{$username}}

{{ time() }}

{{ date("Y-m-d H:i:m"),time() }}

{{ in_array($username,$arr) ? "true" : "false"}}

{{var_dump($arr)}}

@{{$username}}

{{-- 址注释在浏览器中看不到 --}}

@include("user/childView",["message" => "success"])

@stop

模板中流程控制:

@section("sidebar")

@if($username == "immoc")

i am immoc

@else

i am not immoc

@endif

@for($i = 0; $i < 9; $i ++)

{{$i}}

@endfor

@foreach($users as $user)

{{$user->username}}

@endforeach

@forelse($users as $user)

{{$user->usrname}}

@empty

null

@endforelse

@stop

模板中的URL:url()和route()比较常用

@section("header")

@parent

section 1 => header

url()

action();

route()

@stop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值