lumen 相关问题

Lumen是一个建立在Laravel组件之上的“微框架”,是Laravel的官方微框架。 Lumen的目标是微服务 - 小型,松散耦合的组件,通常支持和增强核心项目。

Lumen 中的 CSRF 保护,辅助功能异常

根据 Laravel Lumen 的文档,可以使用 CSRF 辅助函数来生成 CSRF 令牌。但是,当我继续使用 csrf_field 函数或

回答 2 投票 0

从json自动填充对象

我有一个 JSON: { “id”:1, “姓名”:“约翰”, “名字”:“多伊” } 服务器端,我这样做: $input = $request->json()->all(); $user = 新使用...

回答 2 投票 0

在 Laravel Lumen 中迭代连接的查询数据

类别和课程是两个表。基于类别,可以将“n”个数据插入到课程中。获取 API 响应时,应该如下所示。 控制器 公共职能

回答 1 投票 0

计算失败报告redis键为空但存在

我有一个使用 Laravel lumen 框架的函数: // 定义示例支付交易 $交易 = [ ['transaction_id' => 1, '金额' => 100, '状态' => '成功', '

回答 1 投票 0

lumen - LengthAwarePaginator::resolveCurrentPage() 始终为 1

对于流明,我遇到的问题是它始终为 1,当我转到 /artikel?page=2 时也是如此: LengthAwarePaginator::resolveCurrentPage(); 完整代码: 对于流明,我遇到的问题是这始终是1,当我转到/artikel?page=2时也是如此: LengthAwarePaginator::resolveCurrentPage(); 完整代码: <?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; class ArtikelController extends Controller { public function index() { $dir = '../resources/views/artikel/'; $files = array_diff(scandir($dir), array('..', '.')); $artikel = array(); foreach($files as $k => $v) { $id = substr($v,0,1); $artikel[$id]['id'] = $id; $artikel[$id]['name'] = substr($v,0,strpos($v,'.blade.php')); } //Get current page form url e.g. &page=6 $currentPage = LengthAwarePaginator::resolveCurrentPage(); #dd($currentPage); //Create a new Laravel collection from the array data $collection = new Collection($artikel); //Define how many items we want to be visible in each page $perPage = 2; //Slice the collection to get the items to display in current page $currentPageResults = $collection->slice($currentPage * $perPage, $perPage)->sortByDesc('id')->all(); //Create our paginator and pass it to the view $paginatedResults = new LengthAwarePaginator($currentPageResults, count($collection), $perPage); $paginatedResults->setPath('artikel'); return view('artikel', ['artikel' => $paginatedResults]); } 我找不到错误。可能是什么原因? (我也更新到"laravel/lumen-framework": "5.1.*") 您可以使用这个简单的方法来获取当前页面: $currentPage = (int) app('request')->get('page', $default = '0');

回答 1 投票 0

如何删除 Laravel 分页响应元对象中的链接?

Laravel 默认分页为我提供了默认分页格式的响应,但我想在页面响应中删除元对象中的链接 我使用下面的代码来获取页面数据: 公开

回答 6 投票 0

在 Lumen 8 中获取 CORS 错误的请求结果

当 Axios 向我的 Lumen 应用程序发送 GET HTTP 时,我遇到了 CORS 问题,发送 POST HTTP 似乎没问题。我有一个处理 CORS 的中间件,下面是代码 当 Axios 向我的 Lumen 应用程序发送 GET HTTP 时,我遇到了 CORS 问题,发送 POST HTTP 似乎没问题。我有一个处理 CORS 的中间件,下面是代码 <?php namespace App\Http\Middleware; use Closure; class CorsMiddleware{ /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $headers = [ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE', 'Access-Control-Allow-Credentials' => 'true', 'Access-Control-Max-Age' => '86400', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With' ]; if ($request->isMethod('OPTIONS')) { return response()->json('{"method":"OPTIONS"}', 200, $headers); } $response = $next($request); foreach($headers as $key => $value) { $response->header($key, $value); } return $response; } } 然后添加到 bootstrap/app.php $app->middleware([ App\Http\Middleware\CorsMiddleware::class, // cors middleware ]); 使用 POST 请求时,一切正常,但是在执行 GET 请求时,会发生 CORS 错误。非常感谢任何帮助、想法,提前致谢。 我的前端应用程序在 http://localhost:3000 (NUXT) 上运行,Lumen 应用程序在 http://localhost:8000 上运行 下图是错误的屏幕截图。 此问题的另一种解决方案可以是: 在CatchAllOptionsRequestsProvider.php目录下创建App\Providers <?php namespace App\Providers; use Illuminate\Support\ServiceProvider; /** * If the incoming request is an OPTIONS request * we will register a handler for the requested route */ class CatchAllOptionsRequestsProvider extends ServiceProvider { public function register() { $request = app('request'); if ($request->isMethod('OPTIONS')) { app()->options($request->path(), function() { return response('', 200); }); } } } CorsMiddleware.php <?php namespace App\Http\Middleware; use Closure; class CorsMiddleware { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { //Intercepts OPTIONS requests if($request->isMethod('OPTIONS')) { $response = response('', 200); } else { // Pass the request to the next middleware $response = $next($request); } // Adds headers to the response $response->header('Access-Control-Allow-Methods', 'HEAD, GET, POST, PUT, PATCH, DELETE'); $response->header('Access-Control-Allow-Headers', $request->header('Access-Control-Request-Headers')); $response->header('Access-Control-Allow-Origin', '*'); // Sends it return $response; } } 在bootstrap/app.php中添加以下代码 $app->middleware([ App\Http\Middleware\CorsMiddleware::class ]); $app->register(App\Providers\CatchAllOptionsRequestsProvider::class); Lumen 不允许使用 OPTIONS 方法,并且会返回状态响应 405 MethodNotAllowed,因此我们需要将其显式添加到路由中。 修改ServiceProvider.php: <?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { $request = app('request'); // ALLOW OPTIONS METHOD if($request->getMethod() === 'OPTIONS') { app()->options($request->path(), function () { return response('OK',200) ->header('Access-Control-Allow-Origin', '*') ->header('Access-Control-Allow-Methods','OPTIONS, GET, POST, PUT, DELETE') ->header('Access-Control-Allow-Headers', 'Content-Type, Origin'); }); } } } CorsMiddleware.php <?php namespace App\Http\Middleware; use Closure; class CorsMiddleware { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $response = $next($request); $response->header('Access-Control-Allow-Origin','*'); return $response; } } 参考cors教程 希望这对你有用!! 如果您使用 laravel lumen,请使用此链接 此外,在部署过程中,请记住在已部署的应用程序上重新运行以下命令 php artisan 缓存:清除

回答 3 投票 0

在 Lumen 中发送邮件失败

我正在尝试在服务提供商中进行自定义电子邮件配置,当尝试发送电子邮件时,我收到此错误传递给 Illuminate\Mail\MailManager::getConfig() 的参数 1 必须属于

回答 2 投票 0

Docker + Laravel 队列:工作

我尝试在容器启动并运行后运行以下命令。 php artisan 队列:work -n -q & “&”之所以存在,是因为守护进程选项已被弃用,后来被删除...

回答 5 投票 0

迁移中的外来 ID,其表名不是本地键的复数形式

如何使用引用名称与列名称不相关的表的列创建 Lumen 迁移? 例子: 以下内容会抛出 user_destinations can't be f 的错误...

回答 1 投票 0

迁移中的外来 ID,其表名不是本地键的复数形式

如何使用引用名称与列名称不相关的表的列创建 Lumen 迁移? 例子: 以下内容会抛出 user_destinations can't be f 的错误...

回答 1 投票 0

从多个表中获取Json数组

我的数据库中有两个表。 device_category('id_category', 'name_category'); 设备('id_device','name_device','category_device'); 我有一个带有 get() 方法的 DeviceController: 公共功能...

回答 1 投票 0

Lumen PHP 更改 JSON 中的字段名称

我的数据库中有一个表,其中包含一些字段: ID 姓名 xx 当我调用 API 时,我从数据库中获取一项并将其返回: $table = MyTable::select('table.*')->where('id', $id)->first();

回答 1 投票 0

有没有办法强制关系在 Lumen/Laravel 模型中按特定顺序加载?

我有一个 Lumen (8) 模型,其关系依赖于另一个关系。我希望能够做到以下几点, 公共函数 getThingId(): int { 返回 $this->t...

回答 1 投票 0

如何从 Angular 中的 php API (laravel lumen) 获取数据数组

我陷入了困境,因为这是我第一次使用 Angular,我可能不理解一些基础知识。 我制作了一个 PHP API,它从 MySQL 数据库返回数据,并使用 HttpClient 以角度方式获取它们。 ...

回答 1 投票 0

在标头中发送 api_token

我正在为 Laravel 构建一个 API,我想在标头中发送 api_token 而不是表单帖子。这是已经内置的东西还是我必须走计算路线......

回答 2 投票 0

Lumen:可选路由参数未正确解析

使用 Laravel 的 Lumen 9.1.6 我正在遵循文档,但仍然对如下定义的可选尾随路由参数有问题: 路线/web.php $router->group(['前缀' => '

回答 1 投票 0

如何在lumen中使用与laravel相同的auth系统

我需要保护一些路线。没有制作任何 API,只是一个带有路由的简单应用程序。但 Lumen 不支持像 Laravel 那样的身份验证会话。 想要在l中添加基于会话的登录身份验证系统...

回答 1 投票 0

如何访问lumen中上传的文件?

我尝试了谷歌上的很多方法,但没有任何效果。我这几天在谷歌上搜索,但仍然没有成功。我正在尝试使用 Lumen API 上传图像,效果很好。但我不是

回答 1 投票 0

为什么 lumen 中的查询生成器的工作方式与 MySQL Workbench 中的工作方式不同

我正在使用 lumen 框架作为 api 服务。 现在假设, 我有一个选择查询,我在其中为特定列分配别名,然后在 order by 子句中使用相同的列名

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.