我正在生成一个CSV,我希望Laravel强制下载,但是文档只提到我可以下载已经存在于服务器上的文件,我想这样做而不将数据保存为文件.
我设法做了这个(有效),但我想知道是否有另一种更整洁的方式.
$headers = [
'Content-type' => 'text/csv',
'Content-Disposition' => 'attachment; filename="download.csv"',
];
return \Response::make($content, 200, $headers);
Run Code Online (Sandbox Code Playgroud)
我也尝试使用SplTempFileObject(),但是我收到以下错误:The file "php://temp" does not exist
$tmpFile = new \SplTempFileObject();
$tmpFile->fwrite($content);
return response()->download($tmpFile);
Run Code Online (Sandbox Code Playgroud) 在PHP7中,当方法设置给定的参数类型和结果类型时,是否有必要在PHPDoc中再次记录它们?
以来
function foo(string $text): bool
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
相当于
/**
* @param string $text
* @return bool
*/
function foo($text) {
return true;
}
Run Code Online (Sandbox Code Playgroud)
是否有必要复制这些信息?
/**
* @param string $text
* @return bool
*/
function foo(string $text): bool
{
return true;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我不使用PHPDoc生成我的代码文档,而是在PHPStorm的帮助下为我和我的同事保持方法的一致性.
我正在使用 Angular Universal 创建一个网站。它将进行服务器端渲染,以便搜索引擎可以对其进行索引。
我已经编码了 404 后备路由,它正确显示了其组件,但它显示了 HTTP 200 标头代码。
如何强制使用特定的标头代码?我用谷歌搜索了一些查询,但我发现的所有内容似乎都是关于读取HTTP 调用的状态代码,而没有关于如何将其写入浏览器的内容。
我正在使用Angular更新一个旧网站,我必须满足的一个要求是所有路由都应该保持原样(出于搜索引擎优化的目的).
很多老网站的路线完成以斜杠(像/my/route/),其中一些完成了.html,像/my/route.html.
问题是routerLink删除了每个路由中的最后一个斜线(斜线是我的路线/my/route).
如何routerLink保持尾随斜线?
这里可以看到一个很好的例子:AngularTrailingSlash.
我正在尝试制作一个函数,该函数将返回不带重音的给定字符串,但是iconv的//TRANSLIT选项似乎只将重音和字母分开,而没有去除重音。
这是我的功能:
<?php
function strRemoveAccents($str)
{
return iconv(mb_detect_encoding($str), 'us-ascii//TRANSLIT', $str);
}
Run Code Online (Sandbox Code Playgroud)
这是我的结果:
测试1
测试2
测试3
一些精度:
mb_detect_encoding 对于我的所有测试,返回“ UTF-8”,并且用返回值替换该函数不会更改任何内容。LC_COLLATE=C;LC_CTYPE=French_France.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=Cen_US.UTF-8(我检查过:语言环境已成功更新),但是函数的返回值仍然相同c/fr_FR.UTF-8/c/c/c/c的问题仍然相同。我可能会丢失一些东西,但我看不到。
编辑:正如@jasonwubz在回答中提到的那样,仅在使用libinconv时出现问题,而在使用glibc时不存在。使用这些实现中的任何一种时,是否有办法使其工作?
我正在关注着名的Angular教程,英雄之旅,但我正在努力迈出一步.
在第六个课程HTTP上,我们使用了一个模仿API调用API的工具.
我想我已经遵循了所有步骤,到目前为止,它已经说明了以下内容:
刷新浏览器.英雄数据应该从模拟服务器成功加载.
但我可能错过了一些东西:http调用都给出了错误的http 500标题Object(...) is not a function.
我错过了创建路线的一些方法吗?我觉得inMemory wep API似乎不需要路由,这似乎很奇怪.
我的测试代码可以在这里找到:https://github.com/MarcBrillault/tourOfHeroes/tree/StackOverflow
在官方文档中,提到了以下列:
我没有在文档中找到他们的类型的任何解释.有人可以帮我,告诉我他们是什么?
如果我只想重新排序项目列表(我不需要任何嵌套),我也想知道它们是否都是强制性的.