Github: https://github.com/pronist ยท Email: pronist@naver.com
ใAI ๋ฆฌํฐ๋ฌ์: ๋น์ ๊ณต์๋ฅผ ์ํ ์์ฑํ AI ์ ๋ฌธใ ๊ฐ์
ใ์ด์ธ ๋ผ๋ผ๋ฒจใ ์ ์
ใPHP 7+ ํ๋ก๊ทธ๋๋ฐใใPHP 7+ ํ๋ก๊ทธ๋๋ฐ: ๊ฐ์ฒด์งํฅใใPHP 8, ์๋ก์ด ๊ธฐ๋ฅ ์์๋ณด๊ธฐใ ๊ฐ์
ํฐ์คํ ๋ฆฌ ํ๋ ์์ํฌ ใTidoryใ, ํฐ์คํ ๋ฆฌ ์คํจ ใhELLOใ ๋ฉ์ธํ ์ด๋
Courses
Reviews
- PHP 8, New Features
- PHP 8, New Features
- PHP 7+ Programming: Object-Oriented
- PHP 7+ Programming: Object-Oriented
Posts
Q&A
๋๋ง์ ํ๋ ์์ํฌ ์์ฑ ํ, ์ด์ํ๊ฒฝ ๋ฐฐํฌ์ ๊ดํ ๋ฌธ์ ๋๋ ค์
์๋ ํ์ธ์. ์ฐ์ , ๋ผ์ฐํ ์ ๋จผ์ ํ์ธํด๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. /call ์ ๋ถ๋ ์ ๋ index.php ๊ฐ ์คํ๋์๋ค๋ ๊ฒ์ ์ผ๋จ OK, ๊ทธ ๋ค์์ index.php, ์ฆ ํ๋ก ํธ ์ปจํธ๋กค๋ฌ์์ ์คํ๋ ๋ผ์ฐํฐ์ ์ํด ์ฌ์ฉ์์ ์์ฒญ์ด /call ์ ๋๋ฌํ์ฌ ์ปจํธ๋กค๋ฌ๊ฐ ์คํ๋๋์ง ํ์ธํ๋ ๊ฒ์ธ๋ฐ, ๋ด์ฅ ์๋ฒ์์๋ ๋์ํ๋, ๋ฒ์ฉ ์น์๋ฒ์์ ๋์ํ์ง ์๋ ๊ฒฝ์ฐ $_SERVER ๋ฅผ ํ์ธํด๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋์ ์ง๋ฌธ์ ์ฐธ๊ณ ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.https://www.inflearn.com/questions/52447/apache%EC%97%90-%EC%98%AC%EB%A6%B4%EA%B2%BD%EC%9A%B0์์ ๋ด์ฉ์ ์ํ์น์์ ์คํํ ๊ฒ์ด์ง๋ง, nginx ์์๋ ๊ฐ์ ๋งฅ๋ฝ์ผ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ์๋ ์์ต๋๋ค.
- 0
- 1
- 360
Q&A
35๊ฐ ๋ฏธ๋ค์จ์ด์์ ์ธ์ฆ ๊ณผ์ ์ Authํด๋์ค๋ก ๋ง๋ค๋ฉด, ์ด๋ ๋๋ ํ ๋ฆฌ์ ๋๊น์?
์๋ ํ์ธ์. ๊ฐ์๋ฅผ ๋ค์ ๋ณด๋ ์ ๊ฐ ๋ผ๋ผ๋ฒจ์ Auth ๋ฅผ ์๋ก ๋ค์๋ค์.์๋ก ๋ ๋ผ๋ผ๋ฒจ์ Auth ํด๋์ค์ ์ฌ์ฉ๋ฒ์ ๊ฐ๋จํ๊ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ผ๋ผ๋ฒจ์์ Illuminate\Support\Facades\Auth ํด๋์ค๋ ์ฌ์ฉ์๊ฐ ์ธ์ฆ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํด์ฃผ๋ ํฌํผ ํด๋์ค๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋์ ๋ด๋ถ์ ๊ตฌํ๊ณผ๋ ๊ด๊ณ์์ด ์ฌ์ฉ์๊ฐ ๋จ์ํ ํํ๋ก ์ฌ์ฉํ ์ ์๋ ํํ์ ๋๋ค.use Illuminate\Support\Facades\Auth; if (Auth::check()) { // The user is logged in... }๋ก๊ทธ์ธ๋ Auth::attempt() ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ผ๋ผ๋ฒจ์์๋ ํฌํผ ํด๋์ค๋ฅผ ์ง์นญํ ๋ ํ์ฌ๋(Facades)๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํ๋๋ฐ, ๋ ๊ฑฐ์ ํ๊ฒฝ์์๋ Auth ํด๋์ค๋ฅผ ๋จ์ํ ํฌํผ ํด๋์ค๋ก ์ทจ๊ธํ์ฌ Helpers ๋ผ๋ ๋ค์์คํ์ด์ค ๋ฐ ๋๋ ํ ๋ฆฌ์ ์์น์ํค๋ ๊ฒ์ ๊ณ ๋ คํด๋ณผ ์ ์์ต๋๋ค.if (Auth::attempt($credentials)) { $request->session()->regenerate(); return redirect()->intended('dashboard'); }๋ค๋ง, ๋ผ๋ผ๋ฒจ์ ํฌํผ ํด๋์ค๋ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํ ๋ Auth::attempt()์ ๊ฐ์ ํํ๋ฅผ ๋ํ๋ด๊ณ ์์ง๋ง, ๋ด๋ถ์ ์ผ๋ก๋ ์๋น์ค ์ปจํ ์ด๋ ๋ฐ์ธ๋ฉ์ ํตํด AuthManager, StatefulGuard ์ ๊ฐ์ ํด๋์ค์ ์ธํฐํ์ด์ค์ ๋ฉ์๋๋ฅผ ํ๋ก์ํฉ๋๋ค. ์ด ๋ถ๋ถ์ ๋ผ๋ผ๋ฒจ์ ๋ํ ๋ด์ฉ์ด๋ฏ๋ก ์ด ๊ฐ์์๋ ๋ฌด๊ดํ ์ด์ผ๊ธฐ์ด๊ธฐ์ ์ฌ๊ธฐ์ ์๋ตํ๊ฒ ์ต๋๋ค๋ง, ์๋ฌดํผ ๊ฐ์์์ ์์๋ฅผ ๋ ๋ถ๋ถ์ ์ฝ๋์์ ์๋ฅผ ๋ ๊ฒ์ฒ๋ผ ํฌํผ ํด๋์ค๋ก ์ทจ๊ธํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ ์ด์ผ๊ธฐํฉ๋๋ค.
- 0
- 1
- 289
Q&A
ํฐ๋ฏธ๋์ ๊ธ์ด ์์จ์ง๋๋ค.
์๋ ํ์ธ์. :)ํฐ๋ฏธ๋์ ๋ณด์ํ๋ cmd ํน์ powershell ์ธ ๊ฒ์ผ๋ก ํ์ ๋ฉ๋๋ค. ์๋์ฐ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์นํ๋ฉด ๋ ์ค์ ํ๋๋ก ๋์ด์์ ๊ฑฐ์์. ๊ฐ์์์ ์ฌ์ฉํ ํฐ๋ฏธ๋์ git bash ์ ๋๋ค. ๋ํ ํฐ๋ฏธ๋์์ ์๋ฒ๋ฅผ ์ผ๊ณ ๋ค๋ฅธ ๋ช ๋ น์ด ์ ๋ ฅ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ํฐ๋ฏธ๋ ์ค๋ฅธ์ชฝ ์๋จ์ ์๋ + ์ ๋๋ฌ์ ์๋ก์ด ํฐ๋ฏธ๋์ ์ด๊ณ ์์ ํด์ฃผ์๋ฉด ๋๊ฒ ์ต๋๋ค. VSCode ์์ ๊ธฐ๋ณธ ํฐ๋ฏธ๋์ ๋ณ๊ฒฝํด์ ์ฌ์ฉํ์ ๋ ๋๊ณ , ํฐ๋ฏธ๋์ ๋ณ๋๋ก ์ด์ด์ ์ฌ์ฉํ์ ๋ ๋ฉ๋๋ค.
- 0
- 1
- 555
Q&A
iosํ๊ฒฝ์์๋ ์ด๋ป๊ฒ ์ค์นํด์ผ ํ๋์?
์๋ ํ์ธ์. ๋งฅ์ ์ ๊ฐ ํ ๋ฒ๋ ์จ๋ณธ ์ ์ด ์์ด์ ๋ต๋ณ์ ๋๋ฆฌ๊ธฐ ์ด๋ ต์ต๋๋ค. Homebrew ๋ฅผ ์ฌ์ฉํด์ ์ค์น๊ฐ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ์๊ฐ๋ฉ๋๋ค.
- 0
- 1
- 390
Q&A
๋ผ๋ผ๋ฒจ(php) ๋ฐฐํฌ ๋ฌธ์
์๋ ํ์ธ์.๋ผ๋ผ๋ฒจ์ ๋ฐฐํฌํ๊ธฐ ์ํ ํ๊ฒฝ๊ณผ PHP ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ ํ๊ฒฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๊ฐ์ต๋๋ค. ์ํ์น ์๋ฒ๊ฐ PHP ๋ฅผ ์คํํ ์ ์๋ ์ํ์ฌ์ผ ํ๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ๋ผ๋ผ๋ฒจ์ ์คํํ๊ธฐ ์ํ ํ์ฅ๊ณผ ์น์๋ฒ์ ์ค์ ์ด ํ์ํฉ๋๋ค. ์ด์ ๋ํ ๋ด์ฉ์ ๋ผ๋ผ๋ฒจ์ ๊ณต์๋ฌธ์๋ฅผ ํตํด ํ์ธํ์ค ์ ์์ต๋๋ค. ์ํ์น๋ฅผ ์ํ ์ค์ ์ ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ์ .htaccess ์ ๋ช ์๋์ด ์์ ๊ฒ์ ๋๋ค. ํ ์์ ์ ๋ผ๋ผ๋ฒจ์ ์ต์ ๋ฒ์ ์ 10.x ์ด๋ ๊ฐ๋ฐํ๊ณ ๊ณ์ ๋ผ๋ผ๋ฒจ์ ๋ฒ์ ์ด 8.x ์ด๋ฏ๋ก ์ด์ ํด๋นํ๋ ๋ฌธ์์ ๋งํฌ๋ฅผ ๋ช ์ํฉ๋๋ค.https://laravel.com/docs/8.x/deployment๊ทธ ๋ฐ์ ๋ฐฐํฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ๊ฐ์ฅ ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก, FTP ๋ฅผ ์ฌ์ฉํด๋ ๋๊ณ , ๊นํ๋ธ ์ก์ ๋ฑ์ ์ฌ์ฉํ์ฌ CI/CD ๋ฅผ ๊ตฌ์ถํ์ ๋ ๋ฉ๋๋ค. ๋ค๋ง, ์นดํ24 ํธ์คํ ์ ๋ผ๋ผ๋ฒจ ํ๋ก์ ํธ ๋ฐฐํฌํ๊ธฐ๋ฅผ ์ดํดํ์ง ๋ชปํ์ ๊ฒฝ์ฐ CI/CD ๋ฅผ ๊ตฌ์ถํ๋ ์ผ์ ๋ฒ๊ฑฐ๋กญ๊ธฐ ๋๋ฌธ์ ๋จ์ํ๊ฒ ํ์ผ์ ์ ๋ก๋ํ๋ ๋ฐฉ์์ธ FTP ๋ฅผ ํตํ ๋ฐฐํฌ๋ฅผ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
- 0
- 1
- 1.5K
Q&A
์ http://localhost/ ๋ก ์ ๊ทผํ๋ฉด public/index.php ๊ฐ ์คํ๋๋์?
์๋ ํ์ธ์~~์ผ๋ฐ์ ์ผ๋ก ์น์๋ฒ์์ ๋ฃจํธ URL์ ํด๋นํ๋ / ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฐ์ด index.html ๋๋ index.php ๋ก ์ง์ ๋ฉ๋๋ค. ํ๋ก ํธ ์ปจํธ๋กค๋ฌ(Front Controller)๋ผ๊ณ ๋ ํฉ๋๋ค. ์๋ฒ์์ ๋ณ๋๋ก ์ง์ ์ ํด์ฃผ์ง ์๊ณ ๋ index.php ๊ฐ ํ์ ์ํ ํ์ผ๋ก ์ง์ ๋ฉ๋๋ค. / ๋ก ์์ฒญ์ ํ๋ฉด index.php ๋ก ์์ฒญ์ด ๋ฉ๋๋ค. ๋ํ /posts ์ ๊ฐ์ด ์์ฒญ์ ํด๋ index.php ๋ก ์์ฒญ๋ฉ๋๋ค. ์ํ์น๋ฅผ ์ฌ์ฉํ ๋๋ .htaccess ๋ก ์ค์ ํด์ฃผ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- 0
- 1
- 2K
Q&A
http://localhost:8080/posts/1 ์ ๊ทผ์ ๋ฐฐ์ด 0๊ฐ ํ๊ธฐ ์ค๋ฅ
์๋ ํ์ธ์. $id ๊ฐ์ ๋ชป ์ฝ์ด์ค๋ ๊ฒฝ์ฐ, ๋ผ์ฐํธ ์ฃผ์๋ฅผ ํ์ฑํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ์๋ ์์ต๋๋ค. ์ด๋ด ๋๋ RequestContext::match() ๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐ์์ ์ฐ์ธ ์๋ณธ ์์ค์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ก์ง์ด ์๋ชป ์ฒ๋ฆฌ๋ ๊ณณ์ด ์๋์ง ์ ๊ฒ ํ ๋ค์ ์๋ํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.์๋์ ์์ค์ฝ๋๋ URL ์ / ๋ก ๋ถ๋ฆฌํ ๋ค, ์ ๊ท์์ ์ฌ์ฉํด์ ํ๋ผ๋งคํฐ๊ฐ ์๊ตฌ๋๋ ํจํด์ธ์ง ํ์ ํ๊ณ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์ฃผ์์ ๋งคํ์์ผ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค. public function match($url) { $urlParts = explode('/', $url); $urlPatternParts = explode('/', $this->path); if (count($urlParts) === count($urlPatternParts)) { $urlParams = []; foreach ($urlPatternParts as $key => $part) { if (preg_match('/^\{.*\}$/', $part)) { $urlParams[$key] = $part; } else { if ($urlParts[$key] !== $part) { return null; } } } return count($urlParams) $urlParts[$k], array_keys($urlParams)); } }
- 0
- 1
- 331
Q&A
์ผ๋ฐ์ ์ผ๋ก ์ฐ์ด์ง ์๋ ํฐํธ ๋ถ๋ถ
์๋ ํ์ธ์.๊ฐ์์์ ์ฌ์ฉ๋ ํฐํธ๋ ๋ค์ด๋ฒ์์ ์ ์ํ ์คํ์์ค ํฐํธ์ธ D2Coding ์ ๋๋ค. ๋ํ ๊ธฐํธ๊ฐ ์ผ๋ฐ์ ์ธ ํฐํธ์ ๋ค๋ฅธ ์ด์ ๋ Ligature ๊ฐ ์ ์ฉ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. Ligature ์คํ์ผ์ ๋ถ๋ฆฌ๋์ด ์๋ ๋ ๊ฐ ์ด์์ ๊ธ์๋ฅผ ํฉ์ณ์ ํํํ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฐ์ฐ์ ๊ฐ์์ ์ฐ์ธ ๋ชจ๋ ๋ด์ฉ์ ์ด์ผ๊ธฐํ๊ธฐ์๋ ๋ด์ฉ์ด ๋ง๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ ์๋ก ํํํ๊ฒ ์ต๋๋ค. ๊ทธ ์๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.(์ฌ์ง)
- 0
- 1
- 407
Q&A
localhost ์ ๊ทผํ์๋ ์ต์ด ํ์ด์ง๊ฐ ๊ทธ๋ ค์ง๊ธฐ๊น์ง์ href๋์๋ฌธ์
์๋ ํ์ธ์. MVC ๋ฅผ ์ฒ์ ์ ํ์๋ ๊ฑฐ๋ผ๋ฉด ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ ๋ ๋ ๊ฑฐ์์์ MVC ๋ฅผ ์ดํดํ๊ธฐ๊น์ง๋ ์๊ฐ์ด ์ ๋ฒ ๊ฑธ๋ ธ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ฐ์ ์คํ๋ง ํ๋ ์์ํฌ์ ๊ฐ์ ๊ณณ์์๋ ์ผ์์ ์ผ๋ก ์ฐ์ด๊ณ ์์ผ๋ PHP ์์๋ ๋ ๊ฑฐ์์์ ๋์๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ ๊ทธ๋ด ๊ฒ์ ๋๋ค.์์์ ๋ํ ์ดํด๋ ์ ํ์ ๊ฒ์ผ๋ก ์๊ฐ๋ฉ๋๋ค. ๋ค์ ํ ๋ฒ ์ดํด๋ณด๊ธฐ ์ํด ์ด ๋ด์ฉ์ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช ํ๋ ๊ฒ์ด ์กฐ๊ธ ๋ ๋ช ํํ๋ฏ๋ก ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๊ฒ ์ต๋๋ค. ์ฌ์ฉ์๊ฐ / ๋ผ๋ ๊ฒฝ๋ก๋ก ์์ฒญ์ ํ์ ๋๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. (์ฌ์ง)์ฌ์ฉ์์ ์์ฒญ์ public/index.php ๋ก ๋ชจ๋ ๋ชจ์ด๊ฒ๋๋ฉฐ, ๊ทธ ๋ค์ ๋ถํธ์คํธ๋ํ(Bootstrapping) ๊ณผ์ ์ ๊ฑฐ์น ์ดํ, routes/web.php, routes/api.php ์ ๋ช ์๋ ๋ผ์ฐํธ์์ ์ฌ์ฉ์๊ฐ ์์ฒญํ ๋ผ์ฐํธ์ ๋ฑ๋ก๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์คํํฉ๋๋ค. ํด๋น ์ปจํธ๋กค๋ฌ์์ view ๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ํจ๊ป ๋ฐํํ ์ ์์ผ๋ฉฐ, view ์์๋ ๋ ์ด์์์ ํฌํจํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํฉ๋๋ค. ์ ๋ํ ๋ด์ฉ์ HTML ๊ณผ ๊ด๋ จ๋ ๋ด์ฉ์ด๋ฏ๋ก ์ ๊ฐ ๋ต๋ณ๋๋ฆฌ๊ธฐ ๋ณด๋ค๋ MDN ์ ์ฐธ๊ณ ํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค.
- 0
- 1
- 614
Q&A
readmore ํด๋ฆญ์ ์ฟผ๋ฆฌ๋ด์ฉ ๋ฐ์์ค๋๊ฒ ์ดํด๊ฐ ์๋์
์๋ ํ์ธ์. ์ ์์ฐ์ ๋๋ค :DDomparser ์ฌ์ฉํด์ html์ ์๋ก ๊ทธ๋ฆฐ๋ค๋๊ฑด ์๊ฒ ๋๋ฐ get๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ด์ ๊ฐ ์๋์?์ค์ํ์ง ์์ ์ ๋ณด์ ๊ฒฝ์ฐ GET ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๊ณ , '์ฝ๊ธฐ' ๋๋ '์ ๋ณด ์์ฒญ' ์ ๊ฒฝ์ฐ GET ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๊ฒ์์ด์ ๋ํด์๋ GET ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ ์ ๊ฐ์ ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ์๋น์ค์ ์ฌ๋ก์์๋ ํ์ธํ์ค ์ ์์ต๋๋ค. ๋ธ๋ก๊ทธ๋ ๊ฒ์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.page๊ฐ์ด ๋ณ๊ฒฝ๋ ์๋ก์ด ์ฟผ๋ฆฌ๋ฅผ ์คํ์์ผ ์คํ๋ ๊ฐ๋ค์ ์ ์ฅํ๋ ์ฝ๋๊ฐ ์ด๋๋ถ๋ถ์ธ๊ฑธ๊ฐ์?page ์ฟผ๋ฆฌ ํ๋ผ๋งคํฐ๋ฅผ ๋ฐ์์ค๋ ๋ถ๋ถ์ index.php ์ ์ด๋ฐ๋ถ ์ฝ๋์ธ ๋ค์๊ณผ ๊ฐ์ ๋ถ๋ถ์ ๋๋ค. page ๋ฅผ ๋ฐ์์ค์ง ๋ชปํ๋ฉด, ์ฆ ์ฟผ๋ฆฌ ํ๋ผ๋งคํฐ๊ฐ ์ฃผ์ด์ง์ง ์์ ๊ฒฝ์ฐ $page ?: 0 ์ ์ํด ๊ฑฐ์ง์ผ๋ก ํ๋จ๋์ด 0 ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ SELECT * FROM posts ORDER BY id DESC LIMIT 3 OFFSET 0 ๊ฐ ์ต์ข ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.$page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT); $page = $page ?: 0; $stmt = mysqli_prepare($GLOBALS['DB_CONNECTION'], 'SELECT * FROM posts ORDER BY id DESC LIMIT 3 OFFSET ?'); $page = $page * 3; mysqli_stmt_bind_param($stmt, 'i', $page);๊ทธ๋ฌ๋ /?page=1 ๊ณผ ๊ฐ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ $page ?: 0 ๊ฐ ์ฐธ์ผ๋ก ์ฒ๋ฆฌ๋๋ฏ๋ก $page ์ ์ด๊ธฐ ๊ฐ์ผ๋ก 1 ์ด ํ ๋น๋๊ณ , ๊ทธ ์ดํ $page * 3 ์ ์ํด 3 ์ด ํ ๋น๋ฉ๋๋ค. ๋ฐ๋ผ์ ๊ฒฐ๋ก ์ ์ผ๋ก SELECT * FROM posts ORDER BY id DESC LIMIT 3 OFFSET 3 ๋ก ์ฟผ๋ฆฌ๊ฐ ์คํ๋ฉ๋๋ค. ์ฟผ๋ฆฌ ํ๋ผ๋งคํฐ์ ๋ฐ๋ผ ๋ฐํํ๋ ๊ฒฐ๊ณผ ํ์ด์ง๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒ์ ์ด ๋๋ฌธ์ ๋๋ค.
- 0
- 1
- 454