Laravel ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” dd()๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด XDebug๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ํฐ ์–ด๋ ค์›€์€ ์—†์ง€๋งŒ XE ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๊ณ  debugPrint()๋ฅผ ์ฐ์–ด๊ฐ€๋ฉฐ ํ™•์ธํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊น…์ด ์‰ฝ์ง€ ์•Š๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” XDebug๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๋‹ค.

# XDebug ์„ค์น˜

pecl install xdebug

# ์„ค์น˜ํ™•์ธ

$php -v

PHP 7.1.18 (cli) (built: May 25 2018 19:18:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
    with Zend OPcache v7.1.18, Copyright (c) 1999-2018, by Zend Technologies

# ext-xdebug.ini ์œ„์น˜ ์ฐพ๊ธฐ

๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋ณ„๋„์˜ ext-xdebug.ini ํŒŒ์ผ์€ ์—†๊ณ  php.ini์— xdebug ์„ค์ •์ด ํฌํ•จ๋จ.

php --ini

# ๋ชจ๋“ˆ ์ ์šฉ ํ™•์ธ ๋ฐ ํ™œ์„ฑํ™”

์„ค์ • ํŒŒ์ผ์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ™œ์„ฑํ™”

[xdebug]
zend_extension="/usr/local/lib/php/pecl/20160303/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_autostart = 1

# Visual Studio Code์—์„œ PHP Debug ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜

  • ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ PHP Debug ์„ค์น˜

# ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •

.bashrc๋‚˜ .zshrc์— ์•„๋ž˜์˜ ๊ฐ’์„ ์ถ”๊ฐ€

export XDEBUG_CONFIG="idekey=VSCODE"

๊ฐ’์„ ์ˆ˜์ •ํ•œ ๋’ค์—๋Š” ์ ์šฉ

. ~/.zshrc

๋˜๋Š”

. ~/.bashrc

# ๋””๋ฒ„๊น… ํ…Œ์ŠคํŠธ

  • ๋””๋ฒ„๊ทธ(โ‡งโŒ˜D) ๋ณด๊ธฐ๋กœ ํ•œ ํ›„ ์‹œ์ž‘๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋””๋ฒ„๊น…์„ ์‹œ์ž‘ํ•œ๋‹ค.
  • ํ™˜๊ฒฝ ์„ ํƒ ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉด PHP ์„ ํƒ
  • PHP๋ฅผ ์„ ํƒํ•˜๋ฉด launch.json ํŒŒ์ผ์ด ๋‚˜์˜ค๋Š”๋ฐ ๊ธฐ๋ณธ ์„ค์ •ํŒŒ์ผ์ด๊ณ  ํŠน๋ณ„ํžˆ ๋ณ€๊ฒฝํ•  ํ•„์š”๋Š” ์—†๋‹ค.
  • ์œ„์˜ ์„ค์ •ํŒŒ์ผ์„ ๋‹ซ๊ณ  Laravel์˜ ExampleTest.php ํŒŒ์ผ์„ ์—ด์–ด๋ณธ๋‹ค.
  • testBasicTest()๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •
public function testBasicTest()
{
    $foo = 'bar';

    $this->assertTrue(true);
}
  • $foo ๋ผ์ธ ์ขŒ์ธก์„ ํด๋ฆญํ•ด์„œ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•œ๋‹ค.
  • ํ„ฐ๋ฏธ๋„์—์„œ phpunit์„ ์‹คํ–‰ํ•œ๋‹ค.
  • ์ขŒ์ธก์˜ ๋””๋ฒ„๊น… ๋ทฐ๋ฅผ ๋ณด๋ฉด ์ฒ˜์Œ์—๋Š” uninitialized ์ƒํƒœ์˜€๋˜ $foo๊ฐ€ ๋‹จ๊ณ„๋ณ„ ์‹คํ–‰ ํ›„ "bar"๋กœ ๋ฐ”๋€Œ์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธ

# ์ฐธ๊ณ