【PHP学习笔记】Laravel初探与对比JAVA技术栈总结

版权声明:本文为博主原创文章,转载请注明出处!!!(●'◡'●) 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>

猜你喜欢

转载自blog.csdn.net/Small_Mouse0/article/details/81200854
今日推荐