从chai的api你有这样的代码:
.exist
Asserts that the target is neither null nor undefined.
var foo = 'hi'
, bar = null
, baz;
expect(foo).to.exist;
expect(bar).to.not.exist;
expect(baz).to.not.exist;
Run Code Online (Sandbox Code Playgroud)
如何存在部分工作?expect函数返回一个对象,然后在"to"对象上只有一个属性查找.这只是一个房产评估,不是吗?对我来说唯一有意义的是,如果存在属性是一个getter方法.
怎么回事?
我是Laravel的新手,我已经了解了模型,视图,刀片,控制器和路线以及它们如何协同工作.到目前为止,一切都顺利进行.
我虽然遇到了麻烦.
当我使用Laravel附带的AuthController并使用POST请求命中auth/register时,我注册的用户的数据会插入到users表中(使用mysql),我确实得到了一个带有"Location"的响应标题重定向到/喜欢它开箱即用.它会像它应该重定向.但在相同的响应中,没有设置/发送"Set-Cookie"标头.Laravel的会话部分对我不起作用.对于POST到auth/login,这是相同的,它正确地进行身份验证并重定向到配置文件页面,但在响应中没有发回会话cookie.
我正在使用:
已安装Laravel所需的所有php模块.我用php内置的web服务器运行应用程序.我用sudo运行它.我运行的确切命令是这样的:
sudo php -S localhost:8888 -t public/
Run Code Online (Sandbox Code Playgroud)
所有路线都得到了妥善回应.
我通过laravel可执行文件和composer create-project尝试了安装文档推荐的两种安装Laravel的方法.仍然没有设置cookie.我已经制作了laravel项目mod 777的所有文件和目录.如果有任何不同,app键设置为.env.
config/session.php文件正在使用会话的文件驱动程序.设置会话后,storage/framework/sessions目录中没有会话文件.
当我尝试使用会话函数设置会话时,就像它在文档中所述:
session(['sesskey' => 'somevalue']);
Run Code Online (Sandbox Code Playgroud)
同样,在响应中没有发送"Set-Cookie"标头,也没有创建会话文件.我应该添加没有报告的错误消息.
当我使用上面的会话函数设置会话密钥时,我可以返回该值,然后将其回送到浏览器,如下所示:
echo session('sesskey');
Run Code Online (Sandbox Code Playgroud)
所以它似乎至少在php的内存中保存它.
当我尝试使用withCookie方法设置cookie时,我确实得到了Set-Cookie标头集的正确响应:
return response()->view('welcome')->withCookie(cookie("test", "val" , 3600));
Run Code Online (Sandbox Code Playgroud)
我试着沿着照亮的兔子洞走下去,看看我是否能找到问题,但这有点超过我的头脑.
任何帮助都会很有帮助,谢谢!