前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始学Laravel

从零开始学Laravel

作者头像
Ewdager
发布2020-07-14 14:34:03
1.3K0
发布2020-07-14 14:34:03
举报
文章被收录于专栏:Gvoidy备份小站Gvoidy备份小站

Laravel5.5的安装

安装好WAMP环境后,在wampmanager.ini文件中将PHP版本更改为php7,查看php版本可以通过phpinfo()函数查看。 ,下载好后解压至Apache工作目录下。启动wamp服务后,正常情况下访问localhost/laravel/public就能显示Laravel的欢迎界面。

PhpStrom安装

编程还是离不开JB全家桶的~这步没有省略主要是因为jb全家桶更新3.4后大量激活方法和激活服务器集体失效。这里使用了ilanyu大佬提供的本地反向代理激活方法,或者自己手撸一个反代程序,不过比较麻烦的是每次打开IDE都需要进行授权认证,因此本地激活的IDE每次运行都需要启动一次反代程序,有条件最好挂在云服务器上。不过有条件还是要支持正版~

Laravel教程使用碰到的一些坑

  • vagrant下composer create-project laravel/laravel Laravel --prefer-dist "5.5.*"报错, 解决方法:更换Composer国内镜像即可 composer config -g repo.packagist composer https://packagist.phpcomposer.com

Laravel的路由

Laravel5.5版本中把路由的routes文件拿出来单独建立了一个routes文件。这里感觉和django的urls.py文件很类似,也是起到了Controller的作用,值得一提的是必须制定http请求类型

路由选项

代码语言:javascript
复制
// 基础路由
Route::get('/', function () {
    return view('welcome');
});

Route::post('test', function(){
    return 'hello test';
});

//多请求路由
Route::match(['get', 'post'], 'test2', function(){
    return 'hello test2';
});

Route::any('test3', function (){
    return 'hello test3';
});

路由参数

这里虽然写起来比django的要复杂,但是个人感觉比urls.py中的逻辑要清楚。

代码语言:javascript
复制
//路由参数
Route::get('user/{id}', function ($id){
    return 'id '. $id;
});

Route::get('user/{name?}', function ($name = null){
    return 'name '. $name;
});

Route::get('user/{id}/{name?}', function ($id, $name){
    return 'id '. $id. ' '. 'name '. $name; 
})->where(['id' => '[0-9]+', 'name' => '[A-Za-z]+']);

路由命名

命名的好处是可以直接通过命名之后的路由进行重定向,带参数的路由可以指定初始值,相当于给这个url一个名字,可以直接使用route()生成对应的url。

代码语言:javascript
复制
$app->get('user/{id}/profile', ['as' => 'profile', function ($id) {
    //
}]);

$url = route('profile', ['id' => 1]);

生成重定向

代码语言:javascript
复制
return redirect()->route('profile',1);

这样就会重定向到 user/1/profile;

路由群组

这个相比django就比较代码上繁琐了,但是逻辑还是很好的

代码语言:javascript
复制
//此处为前缀群组
Route::group(['prefix' => 'member'], function(){
    Route::get('hello', function(){
        return 'hello';
    });

    Route::get('world', function(){
        return 'world';
        });
});

这个时候想显示hello时就不能直接访问hello,要访问member/hello 才行了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Laravel5.5的安装
  • PhpStrom安装
  • Laravel教程使用碰到的一些坑
  • Laravel的路由
    • 路由选项
      • 路由参数
        • 路由命名
          • 路由群组
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档