laravel 安装:
composer down 下来 首先确定 php是否在计算机的环境变量里 其次在确定composer是否在环境变量里 这关乎你能不能实行这种方法
cd到你的本地环境根目录 运行 composer global require "laravel/installer"
包down了之后 可以用 laravel new app-name (文件夹名字)
也可以用 composer来创建 (当前一种不行的时候用这种 或者直接用这种) composer create-project laravel/laravel --prefer-dist blog
创建过后打开命令行或者cmd 敲上php artisan serve 就可以访问了
路由:
路由是一个项目的根基 laravel的路由相比其他的框架 (接触的不多)他的路由不同 他的路由是由 App\Providers\RouteServiceProvider 这个类载入的一个路由群组(就是一个很多单个路由在一起) ,接受到参数然后进入指定的控制器方法 这个路由文件放在哪呢 app\http\route.php
当然这种参数接受方法 可以很多样可以指定 可以匹配 只要你会玩 能玩好 都可以 这路由会有一些中间件提供一些session的状态和crsf的保护 举个栗子:
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
如何注册你自己想要的路由呢 看下面
Route::get('home/index', ['as'=>'index','uses'=>'indexController@home']);
接受到home/index 后将跳到index控制器下的home方法下去 as指定路由名称 use 指定控制器与方法名用@符间隔
插一个 中间件的概念 中间件是laravel 为过滤进入应用的 HTTP 请求提供了一套便利的机制 包含权限控制,认证,表单验证(crsf)等等一些中间件
控制器:
控制器存放如app\Http\Controllers 下 可以通过PHP artisan make:Controler name(控制器名) 没什么特殊情况就用这个 为什么 便利
创建自己的方法 创建控制器后 干嘛呢 渲染模板啊 对吧 上面 就有 view方法 第一个是文件位置 文件放哪呢 文件放在resource\views 可以自己建文件夹 很自由大胆建
laravel 的模板引擎是blade引擎 所以自己创建的时候 记得加blade
视图层:
视图层的主要就是上面所说的blade模板引擎 先说接受PHP传过来的数据吧 就是上面那个name 可以用{{ $name }} 接收 说完简单的变量接受 如果我们是一个数组的话怎么办叻
循环@foreach($a as $b) @endforeach @for( $i=1;$i<5;$i++) @endfor 不一一列举 懂就好 判断@if (count($records) === 1) @endif
最后一个包布局 包样式 这个东西是常见的东西 先说布局
我在views下创建一个layout文件夹放一个top_layout.blade.php
代码如下:
<html>
<head>
<title>HomePage - @yield('title')</title>
</head>
<body>
@section('sidebar')
This is the master sidebar.
@show <!-- 展示子视图同名section的位置 -->
<div class="demo">
@yield('content') <!-- 展示子视图指定section的位置 -->
</div>
</body>
</html>
然后有views\home\home.blade.php文件 代码:
@extends('layouts.home.top_layout')<!-- 包过来父级视图的文件位置 -->
@section('title', 'Mr.Knowledgeable')<!-- title -->
@section('sidebar')
@parent<!-- 放入上级视图位置 -->
<p>This is appended to the {{$name}} sidebar.</p>
@endsection
@section('content')
@foreach($list as $users)
<p>This is user {{ $users->member_name }}</p>
@endforeach
@endsection
这样差不多凑合用 那我想在引用点js css 啊 怎么办 5 之前是可以直接用这个html方法的 现在没了 就要composer了
composer require illuminate/html 5.*
包down下来之后 在你的 config/app.php
注册服务提供者到 providers 数组
(至于有些说还要加这个 我想说的是我的5.2的 加了这行后 框架会起不来 暂时还不知道什么原因 所以我注释了他 一样的用 如果有知道 可以告诉我 )
'providers' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate\Auth\AuthServiceProvider::class,
Illuminate\Broadcasting\BroadcastServiceProvider::class,
Illuminate\Bus\BusServiceProvider::class,
Illuminate\Cache\CacheServiceProvider::class,
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
Illuminate\Cookie\CookieServiceProvider::class,
Illuminate\Database\DatabaseServiceProvider::class,
Illuminate\Encryption\EncryptionServiceProvider::class,
Illuminate\Filesystem\FilesystemServiceProvider::class,
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
Illuminate\Hashing\HashServiceProvider::class,
Illuminate\Mail\MailServiceProvider::class,
Illuminate\Pagination\PaginationServiceProvider::class,
Illuminate\Pipeline\PipelineServiceProvider::class,
Illuminate\Queue\QueueServiceProvider::class,
Illuminate\Redis\RedisServiceProvider::class,
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
Illuminate\Session\SessionServiceProvider::class,
Illuminate\Translation\TranslationServiceProvider::class,
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
//Illuminate\Html\HtmlServiceProvider::class,
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
],
注册门面到 aliases 数组
'aliases' => [
'App' => Illuminate\Support\Facades\App::class,
'Artisan' => Illuminate\Support\Facades\Artisan::class,
'Auth' => Illuminate\Support\Facades\Auth::class,
'Blade' => Illuminate\Support\Facades\Blade::class,
'Cache' => Illuminate\Support\Facades\Cache::class,
'Config' => Illuminate\Support\Facades\Config::class,
'Cookie' => Illuminate\Support\Facades\Cookie::class,
'Crypt' => Illuminate\Support\Facades\Crypt::class,
'DB' => Illuminate\Support\Facades\DB::class,
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
'Event' => Illuminate\Support\Facades\Event::class,
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
'Mail' => Illuminate\Support\Facades\Mail::class,
'Password' => Illuminate\Support\Facades\Password::class,
'Queue' => Illuminate\Support\Facades\Queue::class,
'Redirect' => Illuminate\Support\Facades\Redirect::class,
'Redis' => Illuminate\Support\Facades\Redis::class,
'Request' => Illuminate\Support\Facades\Request::class,
'Response' => Illuminate\Support\Facades\Response::class,
'Route' => Illuminate\Support\Facades\Route::class,
'Schema' => Illuminate\Support\Facades\Schema::class,
'Session' => Illuminate\Support\Facades\Session::class,
'Storage' => Illuminate\Support\Facades\Storage::class,
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'Html' => Illuminate\Html\HtmlFacade::class,
'Form' => Illuminate\Html\FormFacade::class,
],
然后在把你想引用的文件放在public下是css 就叫css js就js whatever you like
使用方法:
1>
{!!Html::style('css/style.css')!!}
{!!Html::script('js/script.js')!!}
{!!Html::style('//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css')!!}
{!!Html::script('//code.angularjs.org/1.2.13/angular.js')!!}
2>
<link rel="stylesheet" href="{{ URL::asset('//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css') }}">
<link rel="stylesheet" href="{{ URL::asset('css/bootstrap.css') }}"><script type="text/javascript" src="{{ URL::asset('js/jquery.min.js') }}"></script>
今天就到这吧 学完了 弄明白了再来 。
热门评论
有不妥或者错的地方欢饮指出 新手需要学习 谢谢 !(夸我 不然别说话 手动微笑#)