lumen 框架的特殊使用】的更多相关文章

新人从java转php,到新公司搭建lumen框架,lumen官方文档的坑不是一般的多,对新手极其不友好,记录下我搭建过程,希望对小白们有所帮助. 首先看下官方文档:https://lumen.laravel-china.org/docs/5.3/installation 确认自身系统满足官方要求: PHP >= 5.5.9 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension 然后文档说要用Composer来安装lumen…
一.前言    首先,我先阐述下,为什么要做这件事.lumen是一款比较轻型的PHP框架,但是,作为项目开发来说,它还是缺少很多东西,比如Response返回值规范的自定义,异常抛出格式的自定义,以及架构的分层等.下面我一点点讲解,如何在基础框架之上,为其丰富功能,增加易用性.内容过多,我分为几篇文章来为大家一点点,详细讲解. Lumen官方文档:https://lumen.laravel.com/docs/5.5 我的项目地址:https://github.com/BusinessL/big-…
该博文是集合几个博客踩坑得来的,百度热搜前几篇都是缺胳膊少腿的,所以结合几篇博客实现了一遍. 一.lumen使用Elasticsearch 首先需要搭建好的elasticsearch环境: http://xxx.xxx.xxx:9200/ http://xxx.xxx.xxx:8200/ http://xxx.xxx.xxx:7200/ (1) lumen使用composer引入Elasticsearch插件 在lumen 的 composer.json 包依赖管理里加入如下插件. "requi…
为避免浪费时间--先上解决方案 在Model中重写 CREATED_AT 和 UPDATED_AT 两个类常量就可以了,这两个常量分别是创建时间和更新时间的字段名. =============================================== 以下只是简单的介绍和十分逗比的解决过程 Laravel 是十分强大的全栈PHP框架,其衍生品 Lumen 则更加专精一些,官方将其定位在微服务和API开发领域. Lumen 也是我目前采用的 API 开发框架,作为 Laravel 的子集…
仓储层与逻辑层搭建  Lumen官方文档:https://lumen.laravel.com/docs/5.5 我的项目地址:https://github.com/BusinessL/big-lumen 1.Lumen基础框架中,并不包含仓储层,与业务逻辑层,所以我们在app文件夹下,新建两个文件夹(Repositories.Services).另外新建Models文件夹,用来存放数据源文件. 别害怕在Lumen预设目录以外建立其他目录,根据SOLID的单一职责原则,class功能越多,责任也越…
介绍 当你开始一个新的Lumen项目的时候,错误和异常功能,已经在框架中注入了.此外,Lumen还集成了Monolog日志函数,支持和提供多种强大的日志处理功能. 配置 错误详情 大量的错误信息在你的应用程序中是否显示,取决于你在.env文件中的APP——DEBUG参数配置. 大家在本地开发的时候,应该吧APP_DEBUG参数设置为true.在你线上环境中,应该设置为false. Monolog配置 如果你想要在你的项目中使用Monolog,你应该使用configureMonologUsing函…
LUMEN作为一款API导向很浓的框架,配置极简化,默认只支持一路DB配置 然而随着业务复杂度的提高,引入多个数据库连接似乎无法避免,下面介绍一下LUMEN连接多个数据库的配置方法: 修改.env文件,增加新DB配置,如下: //DB1 配置 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=dbname DB_USERNAME=dbname DB_PASSWORD=password DB_TIMEOUT=4 //DB2…
1,获取配置 app(); 说明:app()返回的是全局唯一的application对象,该对象的原型是Laravel\Lumen\Application 加载配置文件(config/app.php): app()->configure($base); $config = config($key); 说明:app加载config/$base.php配置文件,并且读取$key配置:例如$base=app, $key=log_dir app()这个全局变量还有其它的方法,参见Laravel\Lume…
使用命令 ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.xxx'进行压测,并同时进行了交叉测试,结果如下: 高并发情况下数据目前没有出错. Redis性能和框架封装的Cache性能差的不多. 1. Redis 1.1. Redis自增 ab -c 20000 -n 100000 'http://127.0.0.1:9050/v1/api.store.redis.add' This is ApacheBench, Version…
简介 Laravel 包含一些多样化的 PHP 辅助函数函数.许多在 Laravel 自身框架中使用:如果你觉得实用,也可以在你应用当中使用. 可用方法 数组 array_add array_collapse array_divide array_dot array_except array_first array_flatten array_forget array_get array_has array_only array_pluck array_pull array_set array_…
1. 配置代码格式管理工具: composer require squizlabs/php_codesniffer, 使用 php artisan cs 检查代码格式: 2.单元测试用例编写 1./database/factories/ModelFactory.php 中配置每个表的模拟数据,例: $factory->define(App\Models\Task::class, function (Faker\Generator $faker) { return [ 'description'…
引入自定义的functions.php文件,首先把functions.php文件放在app的目录下,然后通过根目录的composer.json文件引入,具体操作如下图: 引入类文件也是一样,具体可参考: https://segmentfault.com/a/1190000010832055…
环境是windows 10 版本1809,docker 版本18.09.0 首先是下载docker.git, 具体可以参考 http://laradock.io/ 要求 Docker >= 17.12 启动docker git clone https://github.com/Laradock/laradock.git 进入laradock文件下,复制env-example重名为.env cd laradock && cp env-example .env // 没测过 构建容器 (…
Lumen 设置 timezone 时区 2015-06-19| wid| 后端开发 今天用 Lumen 框架写代码时, 也是初次体验 Lumen, 遇到了一个问题, 从数据库里查出的时间比数据库里保存的 TIMESTAMP 时间慢了8个小时, 很明显这是一个时区设置的问题, 本以为可以在1分钟内解决的, 但是我错了. 根据 Laravel 4.x 和 5.0 的经验, 只需要到 config/app.php 中设置下 ‘timezone’ 参数为 ‘PRC’ 就好了, 找到 Lumen 的 c…
这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 php 的 lumen 框架,他是laravel 的简化版,因为比较轻量,所以这也是我的选择; 先说下我这边的环境: 系统:Mac os 10.12; 服务器:apache 2.2; php:7.0; lumen:5.4; vue:2.0以上; 这是 lumen 的官网 https://lumen.la…
1.安装composer,具体请百度 2.composer 切换中国镜像,好处自己体会,命令如下 composer config -g repo.packagist composer https://packagist.phpcomposer.com 3.下载安装lumen框架 composer create-project --prefer-dist laravel/lumen blog 这样安装下来的lumen框架是完全的,即是有vendor目录的. 接下来如何输出hello world,…
这几天我在研究前台框架和后台框架融合的问题,进行了一些尝试; 我前台选择的是 vue,当然也可以选择 react 等其他 mvvm 框架,不过 vue 对于我来说是最熟悉的; 后台话,我选择的是 php 的 lumen 框架,他是laravel 的简化版,因为比较轻量,所以这也是我的选择; 先说下我这边的环境: 系统:Mac os 10.12; 服务器:apache 2.2; php:7.0; lumen:5.4; vue:2.0以上; 这是 lumen 的官网 https://lumen.la…
FatalErrorException in Model.php line 3339: Call to a member function connection() on null 挺简单的一个lumen框架 连接数据库查询练习,就是搞不出数据来,把别人的代码对了好几遍也没头绪 看看报错处的代码 一时看不出名堂.Google一下 在外网找到了一条: bootstrap\app.php 下面的两个注释 一定要去掉,影响 lumen 连数据库的 是 withEloquent $app->withFa…
(1/1) Error Call to a member function connection() on nullin Model.php line 1201at Model::resolveConnection(null)in Model.php line 1167at Model->getConnection()in Model.php line 997at Model->newBaseQueryBuilder()in Model.php line 912at Model->new…
Lumen与laravel的区别   困惑 一直都无法很友好的理解Lumen与Laravel之间的区别,只知道他们是非常相似的两个php框架,使用方法什么的都差不多. 为什么要解惑 最近接手了公司的一个项目,有专门的后台管理系统,也有专门的供前端调用的系统(就是API啦)!这是一个项目.果然,后台管理系统是用Laravel框架写的,而API是用Lumen框架写的,这我就有点想笑了,统一下,用成一样的框架不就行了吗,然而,历史我们是无法改变的,我们能做的只能是改变我们自己,让自己更加适合这两个框架…
背景 很多初级php甚至中级php都会陷入框架选择困难症,要么必须使用什么框架,要么一定不使用什么框架,而对框架的选择带来的效益和负担的成本并不是很清晰 框架大概分为以下这些 1. 简单轻量:tp,ci (类似tp这种所谓很菜的框架在国内毫无疑问很流行) 2. 号称优秀框架,大而全重量,各种面向对象设计模式,与时俱进,风靡全球:yii, laravel 等 3. api框架:lumen,slim 4. c编写底层的框架:Phalcon, yaf,swoole框架,腾讯PSF等 5. 个人开发,非…
Lumen实现用户注册登录认证 前言 Lumen是一个基于Laravel的微框架,号称是以速度为生.截用Lumen官网的一段,号称是比silex和slim还要快. 本文将用Lumen来实现一个完整的用户注册.登录及获取用户信息的API. Lumen官方网站:https://lumen.laravel.com/Lumen中文网站:http://lumen.laravel-china.org/ 安装 composer create-project --prefer-dist laravel/lume…
重定向: return redirect()->to('http://www.baidu.com'); 重定向到内部路由 return redirect()->route(‘name’); lumen 框架加载静态资源 <script type="text/javascript" src="{{ url('js/amazeui.min.js') }}"></script>…
为lumen添加session支持,同时配置全局函数csrf_token可用 首先laravel和lumen框架的版本要一致,我这里版本都是5.4 1.复制laravel框架config目录下的session.php到lumen框架config目录下 2.修改bootstrap目录下的app.php 添加 //加载配置 $app->configure('session'); //注册中间件 $app->middleware([    Illuminate\Session\Middleware\…
今天用 Lumen 框架写代码时, 也是初次体验 Lumen, 遇到了一个问题, 从数据库里查出的时间比数据库里保存的 TIMESTAMP 时间慢了8个小时, 很明显这是一个时区设置的问题, 本以为可以在1分钟内解决的, 但是我错了. 根据 Laravel 4.x 和 5.0 的经验, 只需要到 config/app.php 中设置下 'timezone' 参数为 'PRC' 就好了, 找到 Lumen 的 config 目录, 在/vendor/laravel/lumen-framework/…
1. 什么是Guard 在Laravel/Lumen框架中,用户的登录/注册的认证基本都已经封装好了,开箱即用.而登录/注册认证的核心就是: 用户的注册信息存入数据库(登记) 从数据库中读取数据和用户输入的对比(认证) 上述两步是登录/注册的基本,可以看到都会涉及到数据库的操作,这两步框架底层已经帮我们做好了,而且考虑到了很多情况,比如用户认证的数据表不是user表而是admin_user,认证字段是phone而不是email,等等一些问题都是Guard所要解决的,通过Guard可以指定使用哪个…
本文章转载自: https://segmentfault.com/a/1190000005602011 最近在研究php的lumen框架和phalcon框架,这两个框架的底层架构都用到了IoC,DI,关于这两个概念自己一直没理解更清晰,找到一篇写得非常好的博文,在此做个备份记录. 基本概念 依赖倒置原则(DIP)(Dependency Inversion Principle):一种软件架构设计的原则(抽象概念). 控制反转(IoC)(Inversion of Control):一种反转流.依赖和…
此段代码摘自lumen框架: xx/vendor/illuminate/validation/Validator.php /** * Validate that a required attribute exists. * * @param string $attribute * @param mixed $value * @return bool */ protected function validateRequired($attribute, $value) { if (is_null($…
介绍 Laravel 是一款 MVC架构. 目前最流行的 PHP框架. Laravel的优点在于: 丰富的composer类库支持, 优雅的代码, 未来的主流框架(目前市场占有率最高的框架) Laravel的缺点在于: 过于优雅(我们只需要编写极少的代码即可实现功能,意味着底层极其复杂的封装)导致程序的执行效率略低, 和thinkphp等国内主流框架相比,上手难度略高(因为它为我们集成了很多其他的功能,甚至你还需要学习nodeJS相关的知识). 本项目,是完全使用 Laravel框架 内的所提供…
larav 官方手册有详细的步骤 https://learnku.com/articles/6504/laravel-cross-domain-solution 我们在用 laravel 进行开发的时候,特别是前后端完全分离的时候,由于前端项目运行在自己机器的指定端口 (也可能是其他人的机器) , 例如 localhost:8000 , 而 laravel 程序又运行在另一个端口,这样就跨域了,而由于浏览器的同源策略,跨域请求是非法的.其实这个问题很好解决,只需要添加一个中间件就可以了. 1新建…