我对Laravel环境工作的理解是,您在不同的环境中拥有不同的环境.因此,如果您在本地运行应用程序,则可以拥有一个.env.local文件.如果您正在测试或正在进行生产,您可以使用.env.testing或.env.production.(如果我错了,请纠正我.)
默认情况下,我们获取.env可以编辑的文件.但任何人都可以告诉我在Laravel中改变环境的工作流程是什么.我尝试了文档,但我无法得到它.请帮我.
php environment-variables production-environment test-environments laravel
假设我有一个简单的联系表格.
<form action="/message" method="post">
{!! csrf_field() !!}
<div class="form-group">
<label>Name: </label>
<input type="text" name="name" class="form-control">
</div>
<div class="form-group">
<label>Email: </label>
<input type="email" name="email" class="form-control">
</div>
<div class="form-group">
<label>Your Message: </label>
<textarea name="message" class="form-control"></textarea>
</div>
<div class="form-group">
<button class="btn btn-primary">Submit Message</button>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器来处理该请求:
public function sendMessage(ContactRequest $request)
{
dd($request->all());
}
Run Code Online (Sandbox Code Playgroud)
请注意,我正在注入ContactRequest对象,因此验证工作正常.
如何在联系表单中恢复旧的输入值?这样用户就不必重新填充所有字段.
我有这个Comment模型属于关系。
class Comment extends Model
{
public function user()
{
return $this->belongsTo('App\User');
}
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
public function store(Request $request)
{
$comment = $this->dispatch(
new StoreCommentCommand($request->body, Auth::user()->id, $request->post_id)
);
return $comment;
}
Run Code Online (Sandbox Code Playgroud)
当我返回$comment我还想要嵌套的用户对象时,我该怎么做?
我正在使用Laravel的Socialite包(版本2.0.0).它对谷歌和github很有用但是当我尝试用facebook登录时,我得到了这个:
ErrorException in FacebookProvider.php line 89:
Undefined index: first_name
Run Code Online (Sandbox Code Playgroud)
在FacebookProvider.php错误是从这个方法:
protected function mapUserToObject(array $user)
{
return (new User)->setRaw($user)->map([
'id' => $user['id'], 'nickname' => null, 'name' => $user['first_name'].' '.$user['last_name'],
'email' => isset($user['email']) ? $user['email'] : null, 'avatar' => $this->graphUrl.'/'.$this->version.'/'.$user['id'].'/picture?type=normal',
]);
}
Run Code Online (Sandbox Code Playgroud)
如果我在这个映射之前dd()的$user参数.我只获得身份验证和经过身份验证的Facebook用户的名称.所以,这意味着我没有收到Facebook用户的电子邮件.我至少需要name和email用户.
经过dd()这种方法看起来是这样的:
protected function mapUserToObject(array $user)
{
dd($user);
return (new User)->setRaw($user)->map([
'id' => $user['id'], 'nickname' => null, 'name' => $user['first_name'].' '.$user['last_name'],
'email' => isset($user['email']) ? $user['email'] : null, …Run Code Online (Sandbox Code Playgroud) 我正在使用Laravel 5.1.一般来说,我做的工作php artisan make:job SomeJobName.这基本上会SomeJobName在app/Jobs目录中创建一个作业.但是,如果我的应用程序是巨大的.我最终会在该文件夹中包含大量文件.我想整理一下.我想创建子目录,如:
app/Jobs/Users/
Store.php
Update.php
Delete.php
app/Jobs/Posts
Store.php
Update.php
Delete.php
Run Code Online (Sandbox Code Playgroud)
建议的方法是什么?
laravel ×5
php ×4
laravel-5.1 ×2
eloquent ×1
facebook ×1
json ×1
laravel-5 ×1
rest ×1
validation ×1