感谢指挥部,空降成功
我没有描述清楚吧,想把if的这个判断放在Presenters里,发现$errors这个变量不能放进去
比如:
namespace App\Presenters;
class UserPresenter
{
/**
* 性別欄位為M,就顯示Mr.,若性別欄位為F,就顯示Mrs.
* @param string $gender
* @param string $name
* @return string
*/
public function getFullName($gender, $name)
{
if ($gender == 'M')
$fullName = 'Mr. ' . $name;
else
$fullName = 'Mrs. ' . $name;
return $fullName;
}
}
將原本在 blade 用 @if...@else...@endif
寫的邏輯,改寫在 presenter。
再比如
namespace App\Presenters;
use App\User;
class UserPresenter
{
/**
* 是否顯示email
* @param User $user
* @return string
*/
public function showEmail(User $user)
{
if ($user->show_email == 'Y')
return '<h2>' . $user->email . '</h2>';
else
return '';
}
}
將 @if()
的 boolean 判斷,封裝在 presenter 內。
我的难点是$errors有时候有,有时候没有,不知道应该怎样改写,如果要依赖注入,该如何操作
如何将如下代码的判断放在Presenters里,$errors只有表单验证失败时才会有的变量,不知道应该如何改造
@if($errors->first('name'))
{!! Form::text('name',null,['class'=>'input-text error','id'=>'name']) !!}
<label id="name-error" class="error" for="name"> $errors->first('name') </label>
@else
{!! Form::text('name',null,['class'=>'input-text','id'=>'name']) !!}
@endif
你先说清楚你想要做什么。
如果你想要让a.com和b.com打开显示的是同样的内容,把这两个域名解析在同一个ip或者cname上,同时nginx的servername配置两个域名
不想使用完全的前后端分离开发,想整合使用,不知道该如何传递变量给vue使用
前后端分离的理解,是不是前端和后端分别是一个独立的项目?
新建时候有vue文件,这个是怎么做的呢?现在装了插件,识别vue的文件,但新建那个是怎么做的?
最后做完后的代码,推荐用jsfiddle展示出来
定位到了namespace Illuminate\View;类名是view
收藏关注ing