그러나 Laravel 프레임 워크를 사용하고 있습니다.이 대답은 프레임 워크 지식 없이도 대답 할 수 있어야합니다.PHP에서 어떻게 리팩터링 할 수 있습니까?
나는 images라는 데이터베이스 테이블을 가지고 있습니다. 내 웹 사이트의 경우 각 비디오에는 기본 비디오 이미지, 더 작은 기능 이미지, 풍경 및 세로 이미지, gallery_six (6 개의 그림이있는 그림)가 있습니다. 모든 다른 이미지는 normal_image로 분류됩니다. 이 같은
테이블보기 : 이제
id | gallery_id | link | alt | video_image | feature_image | gallery_landscape | gallery_portrait | gallery_six | normal_image
내가 갤러리를 만들 때, 나는 데이터베이스에 레코드를 삽입하려고하지만 내 코드를 그냥 지저분한 외모와 나는이 리팩토링 수있는 방법을 확실 해요 . 내 게시물의 요청이 컨트롤러를 통해 올 때
그것은 다음과 같습니다
내 방법에서array(
[video_image_link] => 'link'
[video_image_alt] => 'alt'
[feature_image_link] => 'link'
[feature_image_alt] => 'alt'
[gallery_landscape_image_link] => 'link'
[gallery_landscape_image_alt] => 'alt'
[gallery_portrait_image_link] => 'link'
[gallery_portrait_image_alt] => 'alt'
)
내가이 일을 해요 :
public static function uploadMainImages($request,$gallery_id)
{
//upload video image
Image::create([
'gallery_id'=>$gallery_id,
'link'=>$request['video_image_link'],
'alt'=>$request['video_image_alt'],
'video_image'=>1,
'feature_image'=>0,
'gallery_landscape'=>0,
'gallery_portrait'=>0,
'gallery_six'=>0,
'normal_image'=>0,
]);
//upload feature image
Image::create([
'gallery_id'=>$gallery_id,
'link'=>$request['feature_image_link'],
'alt'=>$request['feature_image_alt'],
'video_image'=>0,
'feature_image'=>1,
'gallery_landscape'=>0,
'gallery_portrait'=>0,
'gallery_six'=>0,
'normal_image'=>0,
]);
등등을 ...
데이터베이스를 변경하지 않고 현재 형식의 게시물 데이터 만 사용하여이 작업을 수행하는 더 좋은 방법이 있습니까?
너에게 지저분 해 보인다면 ... 너 자신이 프로그래머가 될만큼 충분히 오래 살지 않았다! –
그것은 지저분하지 않다는 것을 의미합니까? – virepo
전혀 아닙니다! 코드가 제대로 작동하도록하십시오. –