縲娠HP縲践TTP繝ャ繧ケ繝昴Φ繧ケ蜃ヲ逅縲伸aravel縲
PHP縺ァHTTP繝ェ繧ッ繧ィ繧ケ繝医ョ荳ュ霄ォ繧呈歓蜃コ縺励◆繧翫√Ξ繧ケ繝昴Φ繧ケ縺ァ繝輔ぃ繧、繝ォ繧偵ム繧ヲ繝ウ繝ュ繝シ繝峨☆繧九↑縺ゥ縺ョ蜃ヲ逅繧貞叙謇ア縺縺縺薙→縺後≠繧翫∪縺吶
PHP縺ァ菴懊j霎シ繧縺薙→繧ゅ〒縺阪∪縺吶′縲髱「蛟偵¥縺輔′繧翫&繧薙ッ繝輔Ξ繝シ繝繝ッ繝シ繧ッ繧剃スソ縺」縺ヲ繧オ繧ッ繝縺ィ螳溯」縺励∪縺励g縺縲ゅ→縺縺縺薙→縺ァ縲∽サ雁屓縺ッHTTP繝ェ繧ッ繧ィ繧ケ繝医サ繝ャ繧ケ繝昴Φ繧ケ蜃ヲ逅縺ォ縺、縺縺ヲ縺ョ讖溯ス繧呈紛逅縺励※縺縺セ縺吶
Laravel縺郡ymfony縺ィ縺縺繝輔Ξ繝シ繝繝ッ繝シ繧ッ繧偵吶シ繧ケ縺ォ縺励※縺縺セ縺吶ョ縺ァ縲√ラ繧ュ繝・繝。繝ウ繝医bSymfony縺ョ繧オ繧、繝医r蜿り縺ォ縺励※縺ソ繧九→縺縺縺ァ縺励g縺縲
Symfony HTTPFoundation繝峨く繝・繝。繝ウ繝
Laravel 8縺ァ蜍穂ス懊r遒コ隱阪@縺ヲ縺縺セ縺吶7莉・蜑阪ョ繝舌シ繧ク繝ァ繝ウ縺ァ繧ゅ⊇縺ィ繧薙←蜍輔″縺セ縺吶
繝輔ぃ繧、繝ォ繧偵ム繧ヲ繝ウ繝ュ繝シ繝峨&縺帙k
荳逡ェ蛻ゥ逕ィ逕ィ騾斐′螟壹>縺九b縺励l縺セ縺帙s縲CSV縺ェ縺ゥ縺ョ繝輔ぃ繧、繝ォ繧偵Θ繝シ繧カ縺ォ繝繧ヲ繝ウ繝ュ繝シ繝峨@縺ヲ繧ゅi縺縺ィ縺阪↓蛻ゥ逕ィ縺励∪縺吶Laravel縺ョ繧ウ繝ウ繝医Ο繝シ繝ゥ縺ァ縺ッ縺昴ョ縺セ縺セ蛻ゥ逕ィ縺ァ縺阪k縺ッ縺壹
return response()->download($pathToFile)
$pathToFile縺ョ驛ィ蛻縺ォ縺ッ繝繧ヲ繝ウ繝ュ繝シ繝峨&縺帙k繝輔ぃ繧、繝ォ縺ク縺ョ繝代せ繧呈ク。縺励∪縺吶ゅ◆縺」縺溘%繧後□縺代〒繝繧ヲ繝ウ繝ュ繝シ繝牙ヲ逅縺悟ョ梧舌〒縺吶
繝輔ぃ繧、繝ォ繝繧ヲ繝ウ繝ュ繝シ繝牙セ後↓隧イ蠖薙ヵ繧。繧、繝ォ繧貞炎髯、縺励◆縺
繧ウ繝ウ繝医Ο繝シ繝ゥ縺ァ繝輔ぃ繧、繝ォ繧偵Ξ繧ケ繝昴Φ繧ケ縺励※縺繧九°繧峨√Ξ繧ケ繝昴Φ繧ケ蜃ヲ逅蠕後↓繝輔ぃ繧、繝ォ蜑企勁縺ァ縺阪↑縺縺倥c繧薙→諤昴▲縺ヲ縺縺溘i縲√■繧繧薙→讖溯ス縺梧署萓帙&繧後※縺縺セ縺励◆縲
return response()->download($pathToFile)->deleteFileAfterSend(true);
deleteFileAfterSend繧剃スソ縺縺ィ縲√ム繧ヲ繝ウ繝ュ繝シ繝牙ヲ逅螳御コ蠕後↓隧イ蠖薙ヵ繧。繧、繝ォ繧貞炎髯、縺励∪縺吶り牡縲謔ゥ繧薙〒縺縺溘i縺薙ョ讖溯ス縺ォ霎ソ繧顔捩縺阪∪縺励◆縲ゅげ繧ー繧雁鴨螟ァ莠九
false繧呈欠螳壹☆繧九→繝輔ぃ繧、繝ォ繧貞炎髯、縺励↑縺縺薙→繧呈守、コ縺ァ縺阪∪縺吶
繝ェ繧ッ繧ィ繧ケ繝医°繧峨い繧ッ繧サ繧ケ蜈医ヱ繧ケ繧貞叙蠕
$request->getPathInfo()
蜃コ蜉帷オ先棡繧オ繝ウ繝励Ν
string縲"/admin/user"
縺ゥ縺薙↓蜷代¢縺ヲ縺ョ繝ェ繧ッ繧ィ繧ケ繝医°繧貞叙蠕励〒縺阪∪縺吶
繝ェ繧ッ繧ィ繧ケ繝医倥ャ繝縺九i繝代Λ繝。繝シ繧ソ蜿門セ
$request->headers->get('Accept')
蜃コ蜉帷オ先棡繧オ繝ウ繝励Ν
string縲"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
get縺ョ驛ィ蛻縺ァ繧ュ繝シ繧貞叙蠕励☆繧九%縺ィ縺ァ縲√Μ繧ッ繧ィ繧ケ繝医倥ャ繝縺ョ繝代Λ繝。繝シ繧ソ繧貞叙蠕励〒縺阪∪縺吶ゅΜ繧ッ繧ィ繧ケ繝医倥ャ繝縺ォ繝ュ繧ク繝繧ッ縺ォ蠢隕√↑繝代Λ繝。繝シ繧ソ繧貞性繧薙〒縺繧句エ蜷医ッ縺薙■繧峨r蛻ゥ逕ィ縺吶k縺ィ縺縺縺ァ縺励g縺縲
繝ャ繧ケ繝昴Φ繧ケ菴懈
縺薙%縺九i繝ャ繧ケ繝昴Φ繧ケ縺ォ髢「縺吶k讖溯ス縺ォ縺ェ繧翫∪縺吶ゅΞ繧ケ繝昴Φ繧ケ縺ッ繝懊ョ繧」繧ゅ倥ャ繝繧ょ九縺ォ菴懈舌@縺ヲ縺縺上%縺ィ繧ゅ〒縺阪∪縺吶
return response($content)
->header('Content-Type', $type)
->header('X-Header-One', 'Header Value')
->header('X-Header-Two', 'Header Value');
繝悶Λ繧ヲ繧カ縺ォcookie繧呈ク。縺励※蛻カ蠕。繧定。後>縺溘>蝣エ蜷医ッ縺薙ョ繧医≧縺ェ險倩ソー繧定。後>縺セ縺吶
return response('繝ャ繧ケ繝昴Φ繧ケ縺吶k繧ウ繝ウ繝繝ウ繝')->cookie(
'fruits', 'apple', 10
);
險ュ螳壹@縺ヲ縺繧句、縺ッ荳玖ィ倥ョ騾壹j縺ァ縺吶
| cookie縺ョkey | fruits |
| cookie縺ョvalue | apple |
| cookie譛牙柑譛滄剞シ亥シ | 10 |
險ュ螳壹@縺歡ookie縺ョ蛟、繧貞叙蠕励☆繧九↓縺ッ縲?TTP繝ェ繧ッ繧ィ繧ケ繝医°繧牙叙蠕励@縺セ縺吶
$request->cookie('fruits')
豁」縺励¥cookie縺瑚ィュ螳壹&繧後※縺繧後ー縲√径pple縲阪→縺縺譁蟄怜励′蜿門セ励〒縺阪∪縺吶
cookie縺ッIlluminate\Http\Response繧、繝ウ繧ケ繧ソ繝ウ繧ケ繧貞茜逕ィ縺励※縺繧後ー縺昴ョ縺セ縺セ險ュ螳壹〒縺阪∪縺吶ョ縺ァ縲√◎繧薙↑譖ク縺肴婿繧ゅ〒縺阪∪縺吶
$error = new MessageBag([
'title' => '繧ィ繝ゥ繝シ縺檎匱逕溘>縺溘@縺セ縺励◆',
]);
return back()->withInput()->with(compact('error'))->cookie(
'error_lock', 'lock_message', 10
);
繧ィ繝ゥ繝シ縺檎匱逕溘@縺溘i10蛻髢捺怏蜉ケ縺ェ縲憩rror_lock縲阪→縺縺cookie繧堤匱陦後@縺ヲ縺縺セ縺吶ゆセ九∴縺ー縲√お繝ゥ繝シ逋コ逕溘@縺溘i荳螳壽悄髢薙ヶ繝ゥ繧ヲ繧カ縺九i縺ョ謫堺ス懊r繝ュ繝繧ッ縺励◆縺蝣エ蜷医↓蛻ゥ逕ィ縺ァ縺阪∪縺吶
cookie縺ョ譛牙柑譛滄剞縺悟繧後k縺議ookie縺梧カ医&繧後k縺ィ蜀榊コヲ蛻ゥ逕ィ縺ァ縺阪k繧医≧縺ォ縺ェ繧倶サ慕オ縺ソ縺ァ縺吶ュ縲
Cache-Control繧定ィュ螳壹☆繧
繧ウ繝ウ繝繝ウ繝縺ォ繧医▲縺ヲ縺ッ繝悶Λ繧ヲ繧カ縺ォ繧ュ繝」繝繧キ繝・縺輔○縺溘¥縺ェ縺繧ゅョ繧ゅ≠繧翫∪縺吶ゅ◎縺ョ蝣エ蜷医ッCache-Control繧貞茜逕ィ縺励※縲√ヶ繝ゥ繧ヲ繧カ蛛エ縺ォ縲後%縺ョ繧ウ繝ウ繝繝ウ繝縺ッ繧ュ繝」繝繧キ繝・縺励↑縺縺ァ縺ュシ√縺ィ謨吶∴縺ヲ縺ゅ£繧句ソ隕√′縺ゅj縺セ縺吶
$response->setCache([
'no_cache' => true,
]);
縺薙l縺ァno_chache繧定ィュ螳壹☆繧九%縺ィ縺後〒縺阪∪縺吶
莉悶↓繧Cache-Control縺ァ蛻ゥ逕ィ縺ァ縺阪k繧ゅョ縺ゅj縺セ縺吶′縲∝ソ隕√↑繧ゅョ縺縺題ィュ螳壹☆繧後ー蝠城。後≠繧翫∪縺帙s縲
$response->setCache([
'must_revalidate' => false,
'no_cache' => false,
'no_store' => false,
'no_transform' => false,
'public' => true,
'private' => false,
'proxy_revalidate' => false,
'max_age' => 600,
's_maxage' => 600,
'immutable' => true,
'last_modified' => new \DateTime(),
'etag' => 'abcdef',
]);
繝ャ繧ケ繝昴Φ繧ケ縺ァ繝ェ繝繧、繝ャ繧ッ繝亥域欠螳
繧医¥菴ソ繧上l繧九ョ縺ッ繧ィ繝ゥ繝シ逕サ髱「縺ァ縺吶°縺ュ縲ゅΘ繝シ繧カ縺ョ繝ェ繧ッ繧ィ繧ケ繝医→縺ッ蛻・縺ョ繝壹シ繧ク縺ォ驕キ遘サ縺輔○縺溘>蝣エ蜷医↓縲√ヶ繝ゥ繧ヲ繧カ縺ク繝ェ繝繧、繝ャ繧ッ繝医r謖遉コ縺励◆縺蝣エ蜷医↓菴ソ縺縺セ縺吶
use Illuminate\Http\RedirectResponse;
$response = new RedirectResponse('http://example.com/',302);
隨ャ莠悟シ墓焚縺ョ驛ィ蛻繧堤怐逡・縺励◆蝣エ蜷医ッ繝繝輔か繝ォ繝医ョ302(Moved Temporarily)縺瑚ィュ螳壹&繧後∪縺吶301(PermanentツRedirect)繧呈欠螳壹@縺溘>蝣エ蜷医ッ縲∫ャャ莠悟シ墓焚縺ォ301繧定ィュ螳壹@縺セ縺吶
繝ェ繝繧、繝ャ繧ッ繝医′險ュ螳壹&繧後k縺ィ縲√Θ繝シ繧カ縺後←縺ョ繝壹シ繧ク縺ォ繝ェ繧ッ繧ィ繧ケ繝医r縺励※縺薙h縺縺後敬ttp://example.com/縲阪↓繝ェ繝繧、繝ャ繧ッ繝医&繧後∪縺吶
API縺ァjson繧偵Ξ繧ケ繝昴Φ繧ケ
Content-Type繝倥ャ繝繝励Ο繝代ユ繧」縺ォ縲径pplication/json縲阪b莉倅ク弱&繧後k縺ョ縺ァ萓ソ蛻ゥ縺ァ縺吶
return response()->json([
'category' => 'fruits',
'name' => 'apple',
]);
application/json縺御サ倅ク弱&繧後※縺繧後ー縲(npud繝励Ο繝代ユ繧」縺ァjson驟榊励ョ隕∫エ縺ォ繧「繧ッ繧サ繧ケ縺ァ縺阪∪縺吶
$name = $request->input('fruits');
縺セ縺ィ繧
HTTP繝ェ繧ッ繧ィ繧ケ繝医サ繝ャ繧ケ繝昴Φ繧ケ蜃ヲ逅縺ォ蛻ゥ逕ィ縺ァ縺阪◎縺縺ェ讖溯ス繧呈紛逅縺励∪縺励◆縲ゅd繧翫◆縺縺薙→縺ッ螟ァ謚オ繝輔Ξ繝シ繝繝ッ繝シ繧ッ縺ァ螳溽樟縺ァ縺阪∪縺吶ョ縺ァ縲∬ェソ譟サ縺ッ縺ィ縺ヲ繧ょ、ァ莠九
蛻ゥ逕ィ鬆サ蠎ヲ縺碁ォ倥◎縺縺ェ讖溯ス繧呈軸霈峨@縺ヲ縺縺セ縺吶′縲∽サ悶↓繧ゆセソ蛻ゥ縺昴≧縺ェ繧ゅョ縺後≠繧後ー霑ス險倥@縺ヲ縺縺阪◆縺縺ィ諤昴>縺セ縺吶


