laravel初级1

目录

1,目录文件

2,运行原理

3,用laravel开发简单展示界面

  <1>框架连接数据库

<2>设置路由(并创建控制器与方法)

<3>链接数据库并打印数据

<4>新建页面

4,环境配置(.env)

<1>应用程序密钥

<2>APP_DEBUG默认(true)

<3>获取环境配置

5,php artisan (php 工具匠)

6,路由

路由中name的使用:

资源路由的使用

7,模板继承 和 区块

8,路由搭建(用group前后台分开)

9,控制器搭建

10,中间件


1,目录文件

2,运行原理

3,用laravel开发简单展示界面

  <1>框架连接数据库

env文件

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=studyla
DB_USERNAME=root
DB_PASSWORD=zhaoheng

<2>设置路由(并创建控制器与方法)

Route::get('/', function () {
    return view('welcome');
});
// 自定义路由
Route::get('/user',"IndexController@Index");

访问/user,发现IndexController不在

D:\laravel\studyla>php artisan make:controller IndexController
Controller created successfully.
class IndexController extends Controller
{
    public function index(){
    	echo "我找到了Index Controller下的index方法";
    }
}

<3>链接数据库并打印数据

public function index(){
    	$data = DB::table("users")->get();
    	dd($data);
    }

 

<4>新建页面

 

4,环境配置(.env)

<1>应用程序密钥

若是删掉密钥,则会提示

新生成一个密钥

 

<2>APP_DEBUG默认(true)

网站开发时开启,上线后必须关闭将开发模式关闭

<3>获取环境配置

 

5,php artisan (php 工具匠)

<1>本身就是一些php文件,可以在命令行下执行

 可以完成  创建控制器,创建中间件,生成密钥等

<2>eg:网站上下线

 

php artisan down

php artisan up

   网站下线默认展示页面:

 <3>eg:查看路由列表

 

6,路由

注意:命名空间

 

路由中name的使用:

辅助函数 route 可以用于为指定路由生成 URL,就算路由的 URL 有任何更改,都不需要对 route 函数调用进行任何更改,减少了耦合度

例如:

Route::get('user_addresses/create','UserAddressesController@create')->name('user_addresses.create');

在页面中使用时:

<a href="{{route('user_addresses.create')}}" class="float-right">新增收货地址</a>

这样在url要发生更改时,不需要在页面进行更改

 

资源路由的使用

不仅节省很多代码,且严格遵循了 RESTful URI 的规范, 


 Route::resource('users', 'UsersController', ['only' => ['show', 'update', 'edit'] ])

 相当于

 Route::get('/users/{user}', 'UsersController@show')->name('users.show');
 Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit'); 
 Route::patch('/users/{user}', 'UsersController@update')->name('users.update');

7,模板继承 和 区块

@yield 指令是用来显示指定部分的内容

<div class="container">
            @yield('content')
</div>

 

@extends('layouts.app')
@section('content')
    <p>这是主体内容。</p>
@endsection

@section 指令定义了视图的一部分内容

<title>App Name - @yield('title')</title>
@extends('layouts.app')

@section('title', 'Page Title')

8,路由搭建(用group前后台分开)

// 前台路由
Route::group(['namespace' => "Home"],function(){
	// 控制器在"App\Http\Controllers\Home"命名空间下
	Route::get('/',"IndexController@index");
	Route::get('/home/user',"UserController@index");
	Route::get('/home/goods',"GoodsController@index");
});
// 后台路由,通过路由组,提取公共路由空间和前缀
Route::group(['namespace' => "Admin",'prefix' => 'admin'],function(){
	// 控制器在"App\Http\Controllers\Admin"命名空间下
	Route::get('/',"IndexController@index");
	Route::get('user',"UserController@index");
	Route::get('goods',"GoodsController@index");
});

9,控制器搭建

10,中间件

<1>路由书写

Route::group(['namespace' => "Admin",'prefix' => 'admin',"middleware" => "addminLogin"],function(){
	// 控制器在"App\Http\Controllers\Admin"命名空间下
	Route::get('/',"IndexController@index");
	Route::get('user',"UserController@index");
	Route::get('goods',"GoodsController@index");
});

<2>新建中间件

D:\laravel\studyla>php artisan make:middleware adminLogin
Middleware created successfully.

<3>注册中间件

Http的Kernel文件下

'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'adminLogin' => \App\Http\Middleware\adminLogin::class,

<4>编写中间件

用session检测管理员是否登录,若未登录则跳转到登录界面

路由设置:

Route::get('admin/login',"LoginController@index");
Route::post('admin/check',"LoginController@check");

中间件:

public function handle($request, Closure $next)
    {
        if(session("adminUser")){
            return $next($request);
        }else{
            return redirect("admin/login");
        }
    }

登录检查,若登陆成功则设置相关session:

public function index(){
    	return view("admin.login");
    }

    public function check(){
    	if($_POST["name"]=="zhaoheng" && $_POST["pass"]=="zhaoheng"){
    		session(["adminUser" => $_POST["name"]);
    		return "登录成功";
    	}else{
    		return view("admin.login");
    	}
    }
发布了107 篇原创文章 · 获赞 18 · 访问量 6343

猜你喜欢

转载自blog.csdn.net/qq_43109978/article/details/99473967
今日推荐