一、安装composer(开启vpn)
curl -sS https://getcomposer.org/install | php
二、移动composer
为了方便管理,因此我们有必要将composer移动到自己指定文件夹内
mv composer.prar /usr/local/bin/composer
三、安装laravel
composer create-project laravel/laravel laravel
之前有整理过一篇文章:
四、启动laravel服务
方法1
php -S localhost:8765 -t public
方法2
php artisan serve
或者有更多方法。。。。。
五、laravel创建控制器
php artisan make:contaoller TestController
或者你使用更粗暴的方法。。。。。
六、路由规则
Route:: 方式('参数',控制器@方法)
例如:
Route::get('/login','LoginController@index');
七、变量输出
return view('public/login',$data);
或
return view('public.login')->with('data',$data);
其中模版 public/login 等同于 public.login ;传参可在 view第二参数 ,易可添加 with($data)
在模版输出时利用blade模版引擎
输出方式⑴不转义: { {$data}} ⑵转义: {!!$data!!}
代码分割时可以将相同部分分离出来新建文件夹app.blade.php作为主模版框架使用,并且写入@yield('content'),@yield可以理解为作用域,在子模版先继承主模版@extend('app') ,然后@section('content')<h1>hello word</h1>@stop即可
注:@section('***') 与 @stop 是一对标签;
文件:app.blade.php
Title @yield('content')
文件:hellp.blade.php
@extends('app')@section('content')hello word
@stop
if标签
@if($type == 1)jack@elsebob@endif
foreach标签
- @foreach($data as $value)
- { {$value}} @endforeach
八、配置文件
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],
这里为什么要使用env()方法??
首先考虑到版本控制,其次在共享代码时可以不让其他人查看
git提交不会检查env文件,重要配置卸载.env文件里,当使用env方法时先判断env是否有设置,若为空取默认值(第二参数);
九、Migrage
在laravel中,migrage也是一个便利操作之一,migrage可方便管理数据库;
在目录 /database/migrations/ 下可看到laravel初始的实例文件,
利用migrate生成数据库
php artisan make:migrate create_articles_table --create=articlesphp artisan migrate
在这里可能会遇到一些问题:
经百度后得知laravel 5.4 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你可能会碰到下面这个错误
我们可以在 AppServiceProvider.php 文件里的 boot 方法里设置一个默认值:
完美!!!
假如在数据操作失误时可以执行命令(可理解为撤销)
php artisan migrate:rollback
若使用migrate给表新加一字段
先创建migrate文件
php artisan make:migration add_intro_clumn_to_articles --table=articles
然后添加字段
string('intro'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('articles', function (Blueprint $table) { // $table->dropColumn('intro'); }); }}
注:若使用dropColumn 不正常可检查是否引入 doctrine/dbal
安装方法: composer require doctrine/dbal