1
  1. 简介

    web开发框架 
    mvc的开发模式
        路由解析 
        数据库 
        缓存 
        会话 
        文件上传  
  2. 版本的选择

    5.1版本
  3. mvc

    model 获取服务器资源的封装
    control 解析参数 处理数据 响应数据
    view 展示数据
  4. 开发环境

    下载mamp 
  5. 安装

    官网直接下载源代码
    composer安装
  6. 核心目录的介绍

    app //业务代码
    bootstrap //自动加载目录
    config //配置文件
    database //数据库文件
    public //入口文件
    resources //模版文件
    storage //缓存日志文件
    vender //框架核心文件
    tests //单元测试文件
  7. 路由

    • 路由简介
    将用户的请求转发给相应的控制器(应用程序)
    建立url和程序之间的映射
    get post put
    • 基本路由
    //get
    Route::get('/', function () {
        return view('welcome');
    });
    //post
    Route::post('/default', function () {
        return 'This is a request from  post';
    });
    • 多请求路由
    Route::match(['get', 'post'], 'foo', function () {
        return 'This is a request from get or post';
    });
    
    Route::any('bar', function () {
        return 'This is a request from any HTTP verb';
    });
    • 参数路由
    Route::get('user/{id}', function ($id) {
        return 'User ' . $id;
    });
    //可以设置默认值
    Route::get('user/{name?}', function ($name=null) {
        return 'User ' . $name;
    });
    //可以添加正则约束
    Route::get('user/{name?}', function ($name=null) {
        return 'User ' . $name;
    })->where('name', '[A-Za-z]+');
    //多个正则约束
    Route::get('good/{id}/{name?}', function ($id, $name=null) {
        return 'Good name=' .$name.' id='.$id ;
    })->where(['id'=>'[0-9]+', 'name'=>'[A-Za-z]+']);
    • 路由别名
    Route::get('user/member-center', ['as'=>'center', function () {
        return route('center'); //优化url后 添加别名后不用更改业务逻辑
    }]);
    • 路由群组
    Route::group(['prefix'=>'member'], function () {
        //添加多个路由
        Route::get('user/center', ['as'=>'center', function () {
            return route('center'); //优化url后 添加别名后不用更改业务逻辑
        }]);
        Route::get('index', function () {
            return view('welcome');
        });
    });
    • 路由视图
    Route::get('/default', function () {
        return view('welcome');
    });
    
    Route::view('/index', 'index', ['website'=>'laravel学院']);
  8. 控制器

    • controller文件编写
    /app/http/controller/MemberController.php
    <?php
    namespace App\Http\Controllers;
    
    class MemberController extends Controller{
    
        public function info($id) {
            //return route('memberinfo');
            return '返回参数 id= '.$id;
        }
    }
    • 路由文件编写
    //普通控制器
    Route::get('/member/info', 'MemberController@info');
    //加别名
    Route::get('/member/info', [
        'uses'=>'MemberController@info',
        'as' => 'memberinfo'
    ]);
    //加参数
    Route::get('/member/info/{id}', [
        'uses'=>'MemberController@info',
        'as' => 'memberinfo'
    ]);
  9. 视图

    • 新建视图
    views/ 下新建模版文件
    views/member 也可以自定义目录
    • 输出视图
    class MemberController extends Controller{
    
        public function info($id) {
            //return view('member/info');
            //分配变量
            return view('member/info', ['name'=>'mengyuan', 'age'=>18]);
        }
    }
    • 模版变量
    {{$name}} {{age}}
  10. 模型

    • 新建模型
    /app/Member.php
    <?php
    namespace App;
    
    use Illuminate\Database\Eloquent\Model;
    
    class Member extends Model {
        public static function getMember() {
            return 'member name is mengyuan';
        }
    }
    • 使用模型
    <?php
    namespace App\Http\Controllers;
    
    use App\Member;
    
    class MemberController extends Controller{
    
        public function info($id) {
            return Member::getMember();
        }
    }

梦缘
0 声望1 粉丝

一蓑烟雨任平生,也无风雨也无晴


下一篇 »
go学习笔记-1