Skip to content

Latest commit

ย 

History

History
121 lines (82 loc) ยท 4.03 KB

File metadata and controls

121 lines (82 loc) ยท 4.03 KB

link ํƒœ๊ทธ

CLink๋ฅผ ์‚ฌ์šฉํ•œ link ํƒœ๊ทธ ์ƒ์„ฑ

์ด ๋ฌธ์„œ์—์„œ๋Š” CLink ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HTML link ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. CLink ํด๋ž˜์Šค๋Š” jiny/html ํŒจํ‚ค์ง€์˜ ์ผ๋ถ€๋กœ, a ํƒœ๊ทธ๋ฅผ ๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

CLink ํด๋ž˜์Šค

CLink ํด๋ž˜์Šค๋Š” CTag ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ HTML์˜ a ํƒœ๊ทธ๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. CLink ํด๋ž˜์Šค๋Š” a ํƒœ๊ทธ์˜ ๋งํฌ URL, ํƒ€๊ฒŸ, ํ™•์ธ ๋ฉ”์‹œ์ง€ ๋“ฑ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

CLink ๊ฐ์ฒด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ a ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ์ž์—์„œ ๋งํฌ ํ…์ŠคํŠธ์™€ URL์„ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

use html\src\CLink;

$link = new CLink('Click Here', 'https://example.com');
echo $link->toString();

์ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ HTML์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค:

<a href="https://example.com">Click Here</a>

URL ์„ค์ •

setHref ๋ฉ”์„œ๋“œ ๋˜๋Š” setUrl๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ a ํƒœ๊ทธ์˜ href ์†์„ฑ์— ๋งํฌ URL์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

$link = new CLink();
$link->setHref('https://example.com');
$link->addItem('Visit Example');
echo $link->toString();
$link = new CLink();
$link->setUrl('https://example.com');
$link->addItem('Visit Example');
echo $link->toString();

์ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ HTML์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค:

<a href="https://example.com">Visit Example</a>

ํƒ€๊ฒŸ ์„ค์ •

setTarget ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งํฌ๊ฐ€ ์—ด๋ฆฌ๋Š” ๋ฐฉ์‹์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒˆ ํƒญ์—์„œ ๋งํฌ๋ฅผ ์—ด๋ ค๋ฉด _blank๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

$link = new CLink('Open in New Tab', 'https://example.com');
$link->setTarget('_blank');
echo $link->toString();

์ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ HTML์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค:

<a href="https://example.com" target="_blank">Open in New Tab</a>

SID ์ถ”๊ฐ€

addSID ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ URL์— sid ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. sid ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” POST ๋ฐฉ์‹์œผ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ฃผ๋กœ ์„ธ์…˜ ์‹๋ณ„์ž์™€ ๊ฐ™์€ ๋ณด์•ˆ ์ •๋ณด๋ฅผ URL์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:

$link = new CLink('Secure Link', 'https://example.com');
$link->addSID();
echo $link->toString();

์ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ HTML์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค (์‹ค์ œ URL์€ ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค):

<a href="javascript:void(0)" onclick="javascript: return Confirm('Are you sure?') && redirect('https://example.com?sid=YOUR_SESSION_ID', 'post', 'sid', true)">Secure Link</a>

ํ™•์ธ ๋ฉ”์‹œ์ง€ ์ถ”๊ฐ€

addConfirmation ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งํฌ ํด๋ฆญ ์‹œ ํ™•์ธ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

$link = new CLink('Delete Item', 'https://example.com/delete');
$link->addConfirmation('Are you sure you want to delete this item?');
echo $link->toString();

์ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ HTML์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค:

<a href="https://example.com/delete" onclick="javascript: return Confirm('Are you sure you want to delete this item?');">Delete Item</a>

์ „์ฒด ์˜ˆ์ œ

๋‹ค์Œ์€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ a ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ „์ฒด ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค:

use Jiny\Html\CLink;

$link = new CLink('Submit Form', 'https://example.com/submit');
$link->setTarget('_blank')
     ->addSID()
     ->addConfirmation('Are you sure you want to submit the form?');

echo $link->toString();

์ด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ HTML์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค:

<a href="javascript:void(0)" onclick="javascript: return Confirm('Are you sure you want to submit the form?') && redirect('https://example.com/submit?sid=YOUR_SESSION_ID', 'post', 'sid', true)" target="_blank">Submit Form</a>

์ด ๋ฌธ์„œ์—์„œ๋Š” CLink ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ a ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , URL, ํƒ€๊ฒŸ, ํ™•์ธ ๋ฉ”์‹œ์ง€ ๋“ฑ์˜ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. CLink ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ a ํƒœ๊ทธ๋ฅผ ๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.