版权声明:本文为博主原创文章,转载请注明出处!!!(●'◡'●) https://blog.csdn.net/Small_Mouse0/article/details/81200854
初学Laravel第二天的感(敢)想
【1】路由
根据网上教程给的路径死活找不到,,原来在这里,名字也变了,,
连名字也变了,,web.php,,,似曾相识哎,,web.xml,有木有熟悉??
路由也就是servlet中常说的映射,,
servlet中叫它,,servlet映射
<!--配置和映射Servlet-->
<!--配置Servlet-->
<servlet>
<servlet-name>FristServlet</servlet-name>
<servlet-class>com.hello.com.FristServlet</servlet-class>
</servlet>
<!--映射Servlet -- >
<servlet-mapping>
<servlet-name>FristServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
Spring系列框架中有另一个名子叫请求映射,,可以用注解:@RequestMapping
PHP中叫做路由
Route::get('/', function () {
return view('welcome');
});
Route::post('welcome2', function () {
return view('helloview');
});
//多请求路由
Route::match(['get', 'post'], 'multy1', function () {
return "multy1";
});
Route::any('welcome2', function () {
return view('helloview');
});
//路由参数
Route::get('user/{name}', function ($name) {
return "必须传参数:" . $name;
});
Route::get('user/{name?}', function ($name = "小明") {
return "必须传参数" . $name;
});
//路由参数正则表达式验证
Route::get('user2/{name?}', function ($name = "abcd") {
return "正则表达式验证通过:" . $name;
})->where('name', '[A-Z]*');
【2】MVC
MVC已经不是某语言的专属了,而是一种思想,,教程太多了,,,熟悉MVC的学习Laravel是很快的
Laravel中的Controller在这个目录中
【示例代码】
<?php
/**
* Created by PhpStorm.
* User: smallzheng
* Date: 2018/7/24
* Time: 17:06
*/
namespace App\Http\Controllers;
use App\MyInfo;
use App\User;
use Illuminate\Support\Facades\DB;
class UserController extends Controller
{
public function test1()
{
return dd($info = DB::select("SELECT * FROM user_info"));
//返回bool值,,成功与否
return var_dump(DB::insert("INSERT INTO user_info(id,name,age) VALUES(?,?,?)",
['10010', '小白', 10]));
返回变动行数
return var_dump(DB::update("UPDATE user_info SET age = ? WHERE id = ?", [11, "10008"]));
//删除行数
return var_dump(DB::delete('DELETE FROM user_info WHERE age > ?', [15]));
}
}
Laravel中的Model在这个目录中(Model主要是为了关联数据库,很方便)
【示例代码】
<?php
/**
* Created by PhpStorm.
* User: smallzheng
* Date: 2018/7/24
* Time: 16:44
*/
namespace App;
use Illuminate\Database\Eloquent\Model;
class MyInfo extends Model
{
//制定表名
protected $table = 'user_info';
//如果不设置就会多两个字段。。`updated_at`, `created_at`,,插入报错
public $timestamps = false;
//指定允许批量赋值的字段
protected $fillable = ['name','age'];
//指定不允许批量赋值的字段
protected $guarded = [];
public static function getInfo()
{
return "my name is smallzheng";
}
//插入时时间格式
protected function getDateFormat()
{
return time();//自定义插入时间戳
}
//查找出来的时间内容
protected function asDateTime($value)
{
return $value; //自定义查找时间值
}
}
Laravel中的View在这个目录中
【示例代码】
<!DOCTYPE html>
<html lang="{{ config('app.locale') }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
<!-- Styles -->
<style>
html, body {
background-color: #fff;
color: #636b6f;
font-family: 'Raleway', sans-serif;
font-weight: 100;
height: 100vh;
margin: 0;
}
.full-height {
height: 100vh;
}
.flex-center {
align-items: center;
display: flex;
justify-content: center;
}
.position-ref {
position: relative;
}
.top-right {
position: absolute;
right: 10px;
top: 18px;
}
.content {
text-align: center;
}
.title {
font-size: 84px;
}
.links > a {
color: #636b6f;
padding: 0 25px;
font-size: 12px;
font-weight: 600;
letter-spacing: .1rem;
text-decoration: none;
text-transform: uppercase;
}
.m-b-md {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="flex-center position-ref full-height">
@if (Route::has('login'))
<div class="top-right links">
@if (Auth::check())
<a href="{{ url('/home') }}">Home</a>
@else
<a href="{{ url('/login') }}">Login</a>
<a href="{{ url('/register') }}">Register</a>
@endif
</div>
@endif
<div class="content">
<div class="title m-b-md">
smallzheng
</div>
<div class="links">
<a href="https://laravel.com/docs">Documentation</a>
<a href="https://laracasts.com">Laracasts</a>
<a href="https://laravel-news.com">News</a>
<a href="https://forge.laravel.com">Forge</a>
<a href="https://github.com/laravel/laravel">GitHub</a>
</div>
</div>
</div>
</body>
</html>