这两个中哪一个更好,更准确,更优化
选项A还是选项B?
请告诉我哪一个是错的,我很困惑:
谢谢!
选项A
class nameMyController extends Controller {
protected $locationId = 0;
protected $roomId = 0;
protected $participants = 0;
protected $startDate = null;
protected $endDate = null;
protected $request;
public function abc(Request $request) {
$requestLocation = $request->input('office_site');
$requestRoom = $request->input('rooms');
$requestParticipants = $request->input('participants');
$requestStartDate = $request->input('start_date');
$requestEndDate = $request->input('end_date');
$this->request = $request->all();
if ($requestLocation != '') $this->locationId = $requestLocation;
if ($requestRoom != '') $this->roomId = $requestRoom;
if ($requestParticipants != '') $this->participants = $requestParticipants[0];
if ($requestStartDate != '') $this->startDate = Carbon::parse($requestStartDate)->format(config('constants.DB_DATE_FORMAT'));
if ($requestEndDate != '') $this->endDate = Carbon::parse($requestEndDate)->format(config('constants.DB_DATE_FORMAT'));
}
}或者这个选项B,
class nameMyController extends Controller {
protected $locationId = 0;
protected $roomId = 0;
protected $participants = 0;
protected $startDate = null;
protected $endDate = null;
protected $request;
public function abc(Request $request) {
$this->request = $request->all();
if ($request->input('office_site') != '') $this->locationId = $request->input('office_site');
if ($request->input('rooms') != '') $this->roomId = $request->input('rooms');
if ($request->input('participants') != '') $this->participants = $request->input('participants')[0];
if ($request->input('start_date') != '') $this->startDate = Carbon::parse($request->input('start_date'))->format(config('constants.DB_DATE_FORMAT'));
if ($request->input('end_date') != '') $this->endDate = Carbon::parse($request->input('end_date'))->format(config('constants.DB_DATE_FORMAT'));
}
}我想知道哪个运行得更快、更好、更优化、更可重用。将值传递给对象属性比作为参数传递给类/对象中的函数好吗?
发布于 2019-04-30 17:29:38
为只使用一次的值创建变量是一种好做法吗?
这在很大程度上取决于上下文。如果将来你需要以某种方式在中间修改这个值,或者这将增加代码的可读性,那么可能是这样的。
从性能的角度来看,我认为在引擎盖下,它将以相同的速度产生相同的结果,但这只是我的观点,没有任何测试证明。
https://stackoverflow.com/questions/55917625
复制相似问题