精华内容
下载资源
问答
  • laravel社区链接

    2018-07-12 14:26:43
    完整内容请参考:http://blog.maptoface.com/post/35

    完整内容请参考:http://blog.maptoface.com/post/35 

    展开全文
  • laravel 打印完整sql语句

    万次阅读 2018-05-16 11:20:30
    laravel5 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出...

    laravel5

    用DB自带的getQueryLog方法直接打印:

    DB::connection()->enableQueryLog();  // 开启QueryLog
    \App\User::find(1);
    dump(DB::getQueryLog());

    得到的结果语句与参数是分开的,非常不方便验证

    [
      0 => array:3 [▼
        "query" => "select * from `mall_users` where `mall_users`.`id` = ? limit 1"
        "bindings" => array:1 [▼
          0 => 1
        ]
        "time" => 11.87
      ]
    ]

    若要打印出完整的sql语句,可将以下代码复制到AppServiceProvider中的boot方法中:

    \DB::listen(
        function ($sql) {
            foreach ($sql->bindings as $i => $binding) {
                if ($binding instanceof \DateTime) {
                    $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
                } else {
                    if (is_string($binding)) {
                        $sql->bindings[$i] = "'$binding'";
                    }
                }
            }
    
            // Insert bindings into query
            $query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql);
    
            $query = vsprintf($query, $sql->bindings);
    
            // Save the query to file
            $logFile = fopen(
                storage_path('logs' . DIRECTORY_SEPARATOR . date('Y-m-d') . '_query.log'),
                'a+'
            );
            fwrite($logFile, date('Y-m-d H:i:s') . ': ' . $query . PHP_EOL);
            fclose($logFile);
        }
    );

    日志在storage/log/xxx_query.log


     
    转载来源:https://blog.csdn.net/buer2202/article/details/75364465

    展开全文
  • 这应该是相对明智的,因为bootstrap 4最终版本已经发布了,那么这里有一个好消息,就是你不需要一步步执行下面的步骤了,你可以通过安装一个插件来快速使用上boostrap 4了,插件链接:laravelnews/laravel-twbs4,...
  • 原文链接:www.pilishen.com/posts/integ… 2018年1月23日更新: 如果你是想在laravel5.5上直接使用bootstrap 4,这应该是相对明智的,因为bootstrap 4最终版本已经发布了,那么...插件链接:laravelnews/laravel...

    原文链接:www.pilishen.com/posts/integ…

    2018年1月23日更新: 如果你是想在laravel5.5上直接使用bootstrap 4,这应该是相对明智的,因为bootstrap 4最终版本已经发布了,那么这里有一个好消息,就是你不需要一步步执行下面的步骤了,你可以通过安装一个插件来快速使用上boostrap 4了,插件链接:laravelnews/laravel-twbs4,具体如何使用就不赘述了,按照插件文档进行就好了。 如果你是在laravel5.5之前的版本整合bootstrap 4,那么你还是需要走一遍下面的流程:

    (一)安装bootstrap及相应依赖

    npm install bootstrap@4.0.0-beta popper.js --save-dev
    复制代码

    bootstrap-sasspackage.json中删除,然后再执行npm install

    (二)在你的app.scss文件中引入新的bootstrap的sass文件

    //替换掉之前bootstrap-sass的引入
    //如果你是laravel 5.5及以后的版本,这里的node_modules换成~符号
    @import "node_modules/bootstrap/scss/bootstrap";
    复制代码

    (三)编译bootstrap的js文件

    在这一步可能你会想直接复制一份你的bootstrap.min.js文件到public目录,然后引用,但实际上这样是不行的,因为bootstrap 4的js组件还依赖jqueryPopper.js,默认的bootstrap.min.js文件并没有编译进去。

    方法一 使用bootstrap.min.js来编译

    这个时候我们需要在webpack.mix.js添加这么几行:

    mix.autoload({
        jquery: ['$', 'window.jQuery',"jQuery","window.$","jquery","window.jquery"],
        'popper.js/dist/umd/popper.js': ['Popper']
    });
    mix.js([
            'node_modules/bootstrap/dist/js/bootstrap.min.js'
            ],'public/js/bootstrap.min.js')
    复制代码

    可以看到,我们通过mix.autoload()方法自动加载jqueryPopper.js,这样在下面mix.js()方法编译bootstrap.min.js文件的时候就把相应的依赖编译进去了,最后我们将编译好的文件发送到了public/js/目录下,然后在需要的地方调用即可。

    方法二 使用bootstrap.bundle.min.js来编译

    如果你到bootstrap的node_modules/bootstrap/dist/js/目录下,会发现还有一个bootstrap.bundle.min.js文件,这个文件里其实已经预先编译了Popper.js进去,但是没有jquery,所以刚才的webpack.mix.js文件里,我们其实也可以这样来写:

    mix.autoload({
        jquery: ['$', 'window.jQuery',"jQuery","window.$","jquery","window.jquery"]
    });
    mix.js([
            'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js'
            ],'public/js/bootstrap.min.js')
    复制代码

    最终压缩出来的文件都是一样的,如果你是用npm run dev来编译,那么第二种方法压缩出来的文件要小一点,但如果是到了生产环境,也即npm run production,那么两者的大小都是一样的。

    当然,第二种方法除了少写一行,还有一个好处,就是在最开始的时候,就不需要npm install popper.js了,无可厚非了,少下载个组件而已。

    (四)加载bootstrap 4的分页视图(pagination blade)

    至此,大家就可以按照bootstrap 4文档在blade视图中实际使用了,或者将已有的bootstrap 3的改成4的,因为这是bootstrap的一次相对颠覆性的升级,所以无法向下兼容,取决于你的项目大小,但一般而言将bootstrap 3的改成4是需要费一阵子功夫的。

    具体的不多谈,这期间可能比较困惑的就是如何升级bootstrap 4的分页样式,方法也很多,这里提供一个最简单最快速的:

    首先,找到你的resources/views/vendor/pagination目录,这是laravel默认的分页样式视图文件,如果没有执行一下php artisan vendor:publish就有了

    default.blade.php
    bootstrap-4.blade.php
    
    simple-default.blade.php
    simple-bootstrap-4.blade.php
    复制代码

    可以看到laravel其实默认就已经为我们准备好了bootstrap 4的分页模板文件,这个时候最简单的就是改一下文件名字即可,之前的default.blade就是原来的bootstrap 3的,所以我们可以将其改成bootstrap-3.blade.php,然后将bootstrap-4.blade改成默认的default.blade,这样laravel加载分页的时候用的就是4的样式了。

    固然,你也可以像laravel文档上说的,在每一次渲染分页的时候指定具体的分页视图文件,比如:

    $paginator->links('vendor.pagination.bootstrap-4') 
    复制代码

    但这样太麻烦,知道即可。

    展开全文
  • 一套完整的系统随时可以插入任何laravel应用程序。 您甚至可以选择仅使用我们的API,并禁用网络路由和已发布的前端资产。 笔记/即将发布 如果在您的配置中启用了我们的事件侦听器,那么您的工作人员必须使用的队列...
  • Laravel共享模型 从您的口才模型生成可共享的链接。 文献资料 您可以在找到完整的文档。 执照 麻省理工学院
  • LaraEstimate是由Laravel 7和VueJS组成的完整的动态估算/报价系统。 该系统具有以下功能: 允许使用动态定价创建估算(以便您的客户可以模拟总价格选择/取消选择的项目) 允许发送估算链接 允许将估算值发送到...
  • 在日常开发中,对数据库查询结果进行分页也是一个非常常见的需求,我们可以基于之前介绍的查询方法和前端 HTML 视图实现分页功能,不过从 Laravel 5.3 开始,Laravel 框架就已经为我们提供了非常完整的分页解决方案...

    通过前面的系列教程,我们已经介绍完了 Laravel 框架支持的所有对数据库相关基础功能。在日常开发中,对数据库查询结果进行分页也是一个非常常见的需求,我们可以基于之前介绍的查询方法和前端 HTML 视图实现分页功能,不过从 Laravel 5.3 开始,Laravel 框架就已经为我们提供了非常完整的分页解决方案,包括后端 API 和前端视图。不管你使用查询构建器还是 Eloquent 模型类,都可以在一分钟内完成分页功能,Laravel 还为我们提供了丰富的自定义支持,不管是后端的分页器,前端的分页链接,还是整个分页视图,都可以按需进行定制化开发,非常方便。

    关于如何使用 Laravel 自带的分页功能进行分页,可以参考官方文档中的分页章节,说的非常清楚,在这篇教程中我们就不再一一演示了,不过 Laravel 自带的分页器实现的分页链接是动态 URL,不利于 SEO,如果你想要实现伪静态的分页链接,可以参考这篇教程:通过自定义分页器实现伪静态分页链接以利于 SEO。

    这篇教程我们将着重探讨如何结合 Bootstrap 和 Vue 组件实现异步分页功能,补充官方文档中没有实现的细节。

    定义后端 API 接口

    由于我们要实现的是基于 Vue 的异步分页组件,所以我们需要在后端定义好分页数据获取 API 接口。以文章首页列表为例,先准备好一个资源控制器 PostController 并定义好对应路由,而这些工作我们已经在控制器教程中已经做好。

    除此之外,还要在 PostController 控制器中定义一个 fetch 方法用于异步获取分页数据:

    public function fetch(){
        // 每页显示6篇文章,如果页码太多,当前页码左右只显示2个页码
        $posts = Post::paginate(6)->onEachSide(2)->withPath(url('post'));
        // 处理页码及对应分页URL(页码过多,部分页码省略)
        $window = UrlWindow::make($posts);
        $pages = array_filter([
            $window['first'],
            is_array($window['slider']) ? '...' : null,
            $window['slider'],
            is_array($window['last']) ? '...' : null,
            $window['last'],
        ]);
        return response()->json([
            'paginator' => $posts,
            'elements' => $pages
        ]);
    }

    我们会在分页组件中显示分页链接,所以调用 paginate 方法进行分页,每页显示 6 篇文章,然后调用 onEachSide 方法指定页码过多时,只在当前页码左右各显示两个页码,做后我们还要通过 withPath 方法指定真正的分页请求路由。此外,我们参考了 Laravel 自带分页器显示分页链接的方法,将其逻辑移到这里,主要用于处理页码及对应分页 URL,以及页码过多时,隐藏部分页码。最后,我们将分页数据以 JSON 格式返回给调用方进行处理。

    然后,我们在 routes/api.php 中定义一个指向该控制器方法的 API 路由:

    Route::get('/posts/fetch''PostController@fetch');

    这样,我们就可以测试下后端这个 API 接口了,在浏览器中请求 http://blog.test/api/posts/fetch,返回 JSON 格式数据如下:

    3eb6f62a7ce68ff9dfb6e55be5cc903e.png

    paginator 对应字段描述信息如下:

    • current_page:当前页,默认为1

    • data:当前页文章数据数字,遍历该字段在列表页渲染文章数据

    • first_page_url:第一页链接

    • last_page_url:最后一页链接

    • pre_page_url:上一页链接(没有则为 null)

    • next_page_url:下一页链接(没有则为 null)

    • path:页面 URL(不带请求参数)

    • last_page:最后一页的页码(循环设置分页码时用到)

    • per_page:每页显示文章数

    • from:当前页起始文章 ID

    • to:当前页终止文章 ID

    • total:文章总数量

    elements 中包含的是页面与对应页面URL之间的映射关系,如果页码很多时,返回数据格式如下(中间部分页码省略):

    7601286c764597c2cd1db89b1f6f1bcb.png

    我们在 Vue 组件中将基于以上 JSON 数据渲染文章列表和分页挂件。

    然后我们在该控制器的文章首页列表方法 index 中,返回一个视图用于渲染文章列表:

    public function index(){
        return view('post.index');
    }

    这样,后端接口和路由都已经准备好了,接下来我们到前端编写视图文件和 Vue 组件。

    创建文章列表视图

    首先我们来创建文章列表视图,在 resources/views 目录下创建一个子目录 post,然后在该目录下创建视图文件 index.blade.php,并编写视图代码如下:

    html>
    <html lang="{{ app()->getLocale() }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="csrf-token" content="{{ csrf_token() }}">

        <title>Laravel分页组件title>

        <link href="{{ asset('css/app.css')  }}" rel="stylesheet">
    head>
    <body>
        <div id="app">
            <pagination-component page-type="posts">pagination-component>
        div>
        <script src="{{ asset('js/app.js') }}">script>
    body>
    html>

    在这个视图中,我们初始化了页面布局,并且引入 /css/app.css/js/app.js 文件,最后在主体部分通过以下代码引入 Vue 分页组件:

    <div id="app">
        <pagination-component page-type="posts">pagination-component>
    div>

    我们通过 pagination-component 引入分页组件,并且从当前页面传递参数 page-type 到组件中,从而提高了组件的复用性,实际上,除了文章列表之外,你还可以将这个组件应用到评论、用户等所有其它需要分页的地方。另外,div#app 元素不能省略,因为 Vue 组件默认配置为挂载到 #app 元素上。

    目前,我们在视图文件中没有编写任何可视化的代码,所有文章渲染和分页链接功能都将集成到 Vue 组件中完成,接下来,就让我们来编写这个 Vue 组件。

    创建 Vue 分页组件

    resources/js/components 目录下创建一个新的 Vue 组件 PaginationComponent.vue,并初始化代码如下:

    <style scoped>style>

    <template>

    template>

    <script>export default {}script>

    然后,我们在 resources/js/app.js 中注册这个组件,以便在视图文件中生效:

    Vue.component('pagination-component'require('./components/PaginationComponent.vue'));

    此时编译前端资源,文章列表页还是空的,因为我们的组件还没有渲染任何内容,回到 PaginationComponent.vue,编写组件代码如下:

    <style scoped>.container .row{margin-top10px;
        }
    style>

    <template>
        <div class="container">
            <div class="row">
                <ul class="posts list-group">
                    <li v-for="post in paginator.data" class="list-group-item">
                        {{ post.title }}
                    li>
                ul>
            div>

            <div class="row text-center">
                <ul class="pagination" role="navigation" v-if="paginator">

                    <li class="page-item" v-if="paginator.prev_page_url">
                        <a class="page-link" v-bind:href="paginator.prev_page_url" rel="prev">a>
                    li>
                    <li class="page-item disabled" aria-disabled="true" v-else>
                        <span class="page-link" aria-hidden="true">span>
                    li>

                    <template v-for="element in elements">
                        <template v-if="element === '...'">
                        <li class="page-item disabled" aria-disabled="true">
                            <span class="page-link">{{ element }}span>
                        li>
                        template>
                        <template v-for="(url, page) in element" v-else>
                            <li class="page-item active" aria-current="page" v-if="page == paginator.current_page">
                                <span class="page-link">{{ page }}span>
                            li>
                            <li class="page-item" v-else-if="page > 0">
                                <a class="page-link" v-bind:href="url">{{ page }}a>
                            li>
                        template>
                    template>

                    <li class="page-item" v-if="paginator.next_page_url">
                        <a class="page-link" v-bind:href="paginator.next_page_url" rel="next">a>
                    li>
                    <li class="page-item disabled" aria-disabled="true" v-else>
                        <span class="page-link" aria-hidden="true">span>
                    li>
                ul>
            div>
        div>

    template>

    <script>export default {props: ['pageType'],
            data() {return {paginator: {},elements: []
                }
            },
            created() {this.fetchPaginationData();
            },methods: {
                fetchPaginationData() {
                    axios.get('/api/' + this.pageType + '/fetch', {params: {pagethis.getQueryString('page')
                        }
                    }).then(function (response{this.paginator = response.data.paginator;this.elements = response.data.elements;
                    }.bind(this)).catch(function ({console.log('获取分页数据失败');
                    });
                },
                getQueryString(name) {let reg = `(^|&)${name}=([^&]*)(&|$)`;let r = window.location.search.substr(1).match(reg);if (r != null)return unescape(r[2]);return 1;
                }
            }
        }
    script>

    由于我们引入了 Bootstrap CSS 框架(Bootstrap 4),所以编写模板代码的时候,都遵循了 Bootstrap 的默认约定,以便渲染的时候生效。关于 Vue 组件的基本结构,我们在编写第一个Vue组件教程中已经讨论过,这个分页组件比我们之前编写的 Vue 组件都要复杂一些,我们在这个组件中应用了更多的 Vue 特性,包括从父视图中传入属性,定义模型属性,在模板中动态绑定数据,以及列表渲染等。下面我们简单讲一下这几个功能特性。

    使用prop传递属性

    我们在父视图中声明组件的时候传递了一个属性 page-type 到组件,用于标识该组件应用的页面类型,然后在组件中,我们可以通过 props 声明从父视图/组件中传递进来的属性(转化为驼峰格式,以便在 JavaScript 代码中使用)。这样,就可以在组件中通过对应的属性名访问属性值了,在 JavaScript 代码中使用需要加上 this. 前缀。比如在此例中,我们将该属性用于请求分页数据接口 URL 的拼接,获取对应资源的分页数据。

    动态设置组件模型属性

    我们可以将组件用到的动态数据设置为模型属性,这些属性值发生变更后会实时更新引用它的视图元素,反之视图元素输入值的变更也会同步到模型属性,这称之为双向绑定,通过这个特性可以大大提高编写客户端代码的效率。在本例中,我们就用到这个特性,比如我们设置了两个模型属性 paginatorelements,分别用于装载接口返回分页数据和组装分页页码及对应URL数据。

    我们会在组件 created 阶段调用 fetchPaginationData() 方法初始化这两个属性,代码比较简单,需要注意的是,这里我们会根据当前页面 URL 中的 page 参数动态获取分页数据,因为不同页码返回的分页数据是不一样的。

    通过列表渲染显示分页数据和链接

    在设置好 paginatorelements 属性值之后,就可以在模板中通过列表渲染和动态绑定显示文章信息和分页信息了,具体可以查看 template 标签中的代码,这部分的功能和 Laravel 自带的分页视图 vendor/laravel/framework/src/Illuminate/Pagination/resources/views/bootstrap-4.blade.php 实现功能完全一致,只不过将其转化为 Vue 组件来实现。如果你对相应的 Vue 语法不熟悉,请参考 Vue 中文文档。

    测试异步分页组件

    接下来,我们来测试下这个分页组件。在此之前,先运行 npm run dev 重现编译前端资源让分页组件生效。然后在浏览器访问 http://blog.test/post,页面显示如下:

    632565d9440bfc9cbf0f8062009588c7.png

    访问其它页码:

    e93a15a0b82c39b2cfdaef56e8265e80.png

    F12 打开开发者工具栏,可以在「Network」中看到对分页数据接口的异步请求:

    c80e0cc7e14e27771ad0ed8eab7b7eee.png

    或者在「Vue」中查看 Vue 组件数据:

    ec786752496ce457f9916c43ce10757e.png

    如果调整为每页显示3篇文章,则可以测试下页码过多时的显示效果:

    b4cd5dc61ab924bf1f5dd9edec6b1e3a.png

    至此,我们的异步分页组件就编写完成了,你还可以将其复用到其他资源的异步分页功能中。

    本系列教程首发在Laravel学院(laravelacademy.org),你可以点击页面左下角阅读原文链接查看最新更新的教程。

    展开全文
  • laravel 5.5 中文文档

    2017-09-15 10:56:28
    此文档由 Laravel China 社区 用户协同翻译产生,本次 5.5 版本翻译的完整参与人员列表请见 :Laravel 5.5 译者 。 感谢这些可爱的译者,感谢他们的热情。 相关讨论 Laravel 5.5 文档翻译召集 Laravel 5.5 中文文档...
  • 完整Laravel 6身份验证和资源集成 轻松执行,让您掌控一切 现场,行动和批量行动助手类 脚手架命令为您创建文件 直观的响应式UI设计 AJAX验证和响应 易于使用和定制 感兴趣的链接: 安装 需要包装: composer ...
  • 但是,此程序包是为我们的特定用例构建的,功能不如上面的链接完整。 它仅处理.mbtiles文件,并且元数据验证的健壮性较差,因为我们对源数据的创建拥有更多控制权。 如果我们的需求发生变化,将来可能会扩展它。 ...
  • laravel jwt权限

    2020-11-23 16:18:07
    非常全 ***可用 auth('api')->方法 代替 $this->auth->方法 链接: JWT 完整使用详解.
  • Laravel 面试题

    万次阅读 2017-12-01 20:26:04
    性能提升了两倍 结合比较运算符 () ...匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义 …… 了解更多查看文章底部链接 PHP7 新特性为什么 PHP7 比 PHP
  • Laravel改造完整版传送门 基础用法参考链接: https://learnku.com/docs/laravel/7.x/routing/7458 由于Laravel内置只有routes/api.php与routes/web.php两个文件明显不够用,都写在一个文件太过拥挤不易维护,如果用...
  • 后台首页及文章列表页的视图文件里的链接也需要修改。 <ol><li>修改 <code>learnlaravel5/resources/views/admin/home.blade.php</code> 中的 <code>{<!-- -->{ url('admin/article') }}</code> 为 <code>{...
  • 更多 Error 错误可以进行异常处理匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义…… 了解更多查看文章底部链接 PHP7 新特性为什么 PHP7 比 PHP5 性...
  • 本项目为学习项目,完整项目已上传至: https://github.com/KreaWu/laravel54 开发工具:phpstorm+navicat 本项目内容包括 1.Laravel安装及启动 使用composer安装Laravel54:https://pkg.phpc...
  • laravel面试及相关题型

    千次阅读 2019-09-04 10:57:31
    ... 性能提升了两倍 结合比较运算符 (<=>) ... 匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义 …… 了解更多查看文章底部链接 PHP...
  • Exercicio_Chronos | CRUD-客户 ...下载链接https://laragon.org/download/index.html直接从完整版本直接下载链接: https : //sourceforge.net/projects/laragon/files/releases/4.0/laragon-full.exe
  • Laravel Validator 默认返回的是英文的提示消息,而大多数情况我们需要自定义错误返回提示消息,本文将介绍一下如何自定义错误消息,并在前端展示。 自定义错误消息 别怪我太直接,代码奉上 $messages = [ '...
  • 完整文档链接- 安装 系统要求 以下是CRUDBooster系统的要求 PHP 7.3或更高版本 Laravel 7或8(推荐) 作曲家 OPCache PHP扩展(非常推荐!) BCMath PHP扩展 Ctype PHP扩展 JSON PHP扩展 Mbstring PHP扩展 ...
  • 完整链接链接链接完整链接: ://sourceforge.net/projects/laragon/files/releases/4.0/laragon-full.exe PHP 链接段Dowload做PHP 7.4.zip段窗口 Mova o arquivo zip做一个PHP baixado面食“ C:/ laragon / bin /...
  • 如果您想显示更多详细信息并能够管理订阅,则可以单击“管理”链接,这将带您进入具有完整管理功能的屏幕。 当前,此软件包仅适用于Laravel Casher for Stripe,尚不支持Braintree。 安装及使用 您可以使用...
  • 是不是很漂亮啊现在我们就开始搭建一套完整的,首先我们需要重新下载一个项目或者使用现在原有的mylaravel就可以前面写的东西可以继续保留废话不多说我们直接开始 在安装前我们要保证数据库链接正确 使用命令 开始...
  • 1.asset():用于引入静态文件,如 css/JavaScript/images,文件必须存放在public文件目录下 ...2.url():生成完整路径,一般用于a链接 <a href="{{ url('/member/create') }}"> 转载于:https://www...
  • 它提供数据和代码的完整性,并通过集中化的方法提供应用程序更新和升级。可伸缩性是使用应用存储服务器的另一个原因和好处,应用存储服务器可以连接到数据库。这意味着企业可以在不增加数据库连接数量的情况下扩展...
  • string '/questions/14611149/laravel-how-to-temporarily-store-eloquent-models-in-db-without-a-proper-schem' (length=97) 104 => string '/users/291557/duality' (length=21) 105 => string '/...
  • 重要信息:如果您使用的是Laravel> = 5.8,请确保您的版本为> 2.1.0。 随时给我一个信息,在或鸣叫我在 。 快速开始使用API​​令牌(有关OAuth,请阅读下文) $ token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx' ; $ ...
  • 这是一个比较完整用lumen 5.7写的REST API例子。使用了dingo/api ,jwt实现登录,功能上很简单,登录,注册,发帖,评论,单元测试(正在补充)。 lumen5.x请看对应的分支 有需要随时联系我 lumen / laravel / ...
  • docs:Larawiz文档-源码

    2021-04-03 09:18:10
    动作链接 特征 页脚 真的 /assets/img/mage.png 劳拉维兹 您想要但从未获得过的Laravel脚手架,直到现在! 立即搭建您的数据库→ /快速开始 标题 细节 记住,没有工匠 忘了从头开始制作许多空文件。 标题 细节 ...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

laravel完整链接