[Áöµð³ÝÄÚ¸®¾Æ]¸¹Àº ÄÁÅÙÆ®°¡ Æ÷ÇԵǴ À¥»çÀÌÆ®ÀÇ °³¹ßÀÚ¶ó¸é Áö±Ý±îÁö ¾Æ·¡¿Í °°Àº ±â´ÉÀ» Áö¿øÇÏ´Â ¼Ö·ç¼ÇµéÀ» ¿©·¯°³ ºÁ¿ÔÀ» °ÍÀÌ´Ù. ¹Ù·Î ÄÁÅÙÆ®¿ë µ¥ÀÌÅͺ£À̽º, ÄÁÅÙÆ®¿¡¼
GUI¸¦ ºÐ¸®ÇÏ´Â ÅÛÇø´ ½Ã½ºÅÛ, µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅ͸¦ °ü¸®ÇÏ´Â »ç¿ëÀÚ ÁöÇâ ÀÎÅÍÆäÀ̽º, ±×¸®°í °ÔÁ¦µÈ À¥ÆäÀÌÁöÀÇ ¿Ü°üÀ» ÅëÁ¦ÇÏ´Â ±â´É µîÀÌ ±×°ÍÀÌ´Ù.
ÀÌ ±â»ç¿¡¼ ¼Ò°³ÇÒ ¾ßÇÇ(Yappi)´Â ÀÌ Áß »ó´çÈ÷ Èï¹Ì·Î¿î Á¦Ç°ÀÌ´Ù.
¾ßÇÇ´Â µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåµÈ ÄÁÅÙÆ®¿¡ Á¢±ÙÇÏ´Â ÀÚü ¸Þ½îµå¸¦ Á¦°øÇÏ´Â
PHP Ŭ·¡½º´Ù. ÇÔ²² ¹øµéµÈ °ü¸® ¸ðµâÀº µ¥ÀÌÅ͸¦ º¸´Ù ½±°Ô °ü¸®ÇÒ ¼ö ÀÖµµ·Ï Çϸç
API ÀÚüµµ
CMS¿¡ ÇÊ¿äÇÑ °¡Àå ÀϹÝÀûÀÎ ÀÛ¾÷µéÀ» ¼öÇàÇϴµ¥ ¸ðÀÚ¶÷ÀÌ ¾ø´Ù.
¼³Ä¡
¾ßÇǸ¦ ¼³Ä¡ÇÏ°í »ç¿ëÇÏ·Á¸é ¾ÆÆÄÄ¡¿Í °°Àº PHP ȣȯ À¥¼¹ö¿Í PHP, ¸¶ÀÌSQL µ¥ÀÌÅͺ£À̽º ¼¹ö°¡ ÇÊ¿äÇÏ´Ù. ¾ßÇǸ¦ ´Ù¿î·Îµå¹Þ¾Æ ¼¹öÀÇ ·çÆ® ¾Æ·¡¿¡ ¾ÐÃàÀ» Ǭ´Ù.
¶ÇÇÑ ¾ßÇÇ µ¥ÀÌÅÍ ±¸Á¶¸¦ ÀúÀåÇϱâ À§ÇÑ ¸¶ÀÌSQL µ¥ÀÌÅͺ£À̽º¸¦ ±¸ÃàÇØ¾ß ÇÑ´Ù. ¼Ò½º ¾ÆÄ«À̺꿡¼ yaapi.sql ÆÄÀÏÀ» »ç¿ëÇØ µ¥ÀÌÅͺ£À̽º¸¦ ¸¸µç ´ÙÀ½ Ŭ·¡½º ÄÁ½ºÆ®·°ÅÍÀÎ article.class.php ÆÄÀÏ¿¡¼ ¾ßÇÇ ¼³Á¤À» Ȱ¼ºÈÇØÁØ´Ù. ±×¸®°í µ¥ÀÌÅͺ£À̽º¿ë À̸§°ú Á¢±Ù ÆÄ¶ó¹ÌÅ͵µ ÇÔ²² ¾÷µ¥ÀÌÆ®ÇÑ´Ù.
ÄÁÅÙÆ® Ãß°¡
µ¥ÀÌÅͺ£À̽º¿¡ ÄÁÅÙÆ®¸¦ Ãß°¡ÇÏ·Á¸é http://your-server/yaapi-root/admin/¿¡ ÀÖ´Â ¾ßÇÇ °ü¸® ¸ðµâÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ¾ßÇǸ¦ ¼³Ä¡ÇÑ ¼¹öÀ̸§À¸·Î ¡®your-server¡¯¸¦ ´ëüÇÏ°í ¾ßÇÇÀÇ ¾ÐÃàÀ» Ǭ µð·ºÅ丮 °æ·Î¸íÀ¸·Î ¡®yappi-root¡¯¸¦ ´ëüÇ϶ó. ÀÌ °ü¸® ¸ðµâÀ» »ç¿ëÇØ ÄÁÅÙÆ® Ä«Å×°í¸®¸¦ »ý¼º, »èÁ¦Çϰí Ä«Å×°í¸®¿¡ Ç׸ñÀ» ¿Ã¸± ¼ö ÀÖ´Ù. ´ÙÀ½Àº ÀÌ·± °úÁ¤¿¡¼ ¸¶ÁÖÄ¡°Ô µÉ Çʵåµé¸¦ °£´ÜÈ÷ Á¤¸®ÇÑ °ÍÀÌ´Ù.
- Ä«Å×°í¸® : Ç׸ñÀÇ Ä«Å×°í¸®
- ¼½¼Ç ID : ±â»ç¿¡ 2´Ü°è °èÃþ±¸Á¶°¡ ÀÖ´Ù¸é ÀÌ ÆÄ¶ó¹ÌÅÍ·Î µÎ¹øÂ° ·¹º§À» Á¤ÀÇÇÑ´Ù.
- ŸÀÌÆ² : Ç׸ñÀÇ Á¦¸ñ
- ÀúÀÚ : Ç׸ñÀÇ ÀúÀÚ
- À̸ÞÀÏ : ÀúÀÚÀÇ À̸ÞÀÏ ÁÖ¼Ò
- ½ÂÀÎ : ÇØ´ç Ç׸ñÀÌ Ç¥½ÃµÉ ¼ö ÀÖ´Â ½ÂÀÎÀ» ¹Þ¾Ò´ÂÁö ¿©ºÎ¸¦ ´ã´Â ²¿¸®Ç¥
- À̹ÌÁö : Ç׸ñ°ú °ü·ÃµÈ À̹ÌÁö URL(¿É¼Ç)
- ÄÁÅÙÆ® : Ç׸ñÀÇ ÄÁÅÙÆ®
À§ ¸ñ·Ï¿¡ ¸¶Áö¸·À¸·Î ÄÁÅÙÆ®¿¡ ´ëÇÑ ÁÖÀÇ»çÇ× Çϳª¸¦ µ¡ºÙÀδÙ. ¾ßÇÇ´Â ¾Æ·¡¿¡¼ º¸´Â °Íó·³ ÇÑÁ¤ÀÚ(delimiter)¸¦ »ç¿ëÇØ Å« Ç׸ñÀ» ³ª´ ¼ö ÀÖ´Ù.
¼¹®
#intro#
ÆäÀÌÁö 1 ³»¿ë
#page#
ÆäÀÌÁö 2 ³»¿ë
#page#
ÆäÀÌÁö 3 ³»¿ë
#page#
±âŸ µîµî
| |
Ç׸ñÀ» ÀÔ·ÂÇÑ ÈÄ ²À ½ÂÀÎ ÀýÂ÷¸¦ °ÅÃÄ¾ß ÇÑ´Ù. ½ÂÀÎµÈ Ç׸ñ¸¸ÀÌ API¸¦ ÅëÇØ ÃßÃâµÉ ¼ö ÀÖ´Ù.
Ä«Å×°í¸®¿Í ¸ñ·ÏÀÇ ÃßÃâ
µ¥ÀÌÅͺ£À̽º¿¡ ÄÁÅÙÆ®°¡ ÀúÀ嵯À¸¸é API¸¦ ÀÌ¿ëÇØ À̸¦ ÃßÃâ, Ç¥ÁØ HTML ÅÛÇø´¿¡ ä¿ï ¼ö ÀÖ´Ù. ÅÛÇø´Àº »çÀÌÆ®ÀÇ µðÀÚÀο¡ ¸Â°Ô º¯°æÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡¿¡ ÀÖ´Â ¸®½ºÆ® 1¿¡´Â ÅÛÇø´¿ë ±âº» Äڵ尡 ³ª¿Í ÀÖ´Ù.
| |
<html>
<head>
<basefont face="Arial">
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="5" align="CENTER" valign="TOP" height="450" border="1">
<tr>
<td colspan="3" width="100%" align="CENTER">
<p> </p>
<h1>Welcome to my site</h1>
<p> </p>
</td>
</tr>
<tr height="400">
<td width="25%" align="LEFT" valign="TOP"> Menu here</td>
<td width="50%" align="LEFT" valign="TOP"> Article List/Display here</td>
<td width="25%" align="LEFT" valign="TOP"> Ads here</td>
</tr>
</table>
</body>
</html> | |
 |
¾ßÇǸ¦ »ç¿ëÇØ ƯÁ¤ Ä«Å×°í¸® ³»ÀÇ ¸ðµç Ç׸ñÀ» ÃßÃâÇϰí Áß¾Ó ºí·Ï¿¡ Á¦¸ñ, ÀúÀÚ¿Í ¼¹®À» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. ¸®½ºÆ® 2¿¡ ¿©±â¿¡ ÇÊ¿äÇÑ PHP ÄÚµå¿Í ¾ßÇÇ API È£ÃâÀÌ ³ª¿Í ÀÖ´Ù. ÀÌ Äڵ忡 ´ëÇÑ Ãß°¡ ¼³¸íÀÌ ¾Æ·¡ ½ÃÀ۵ȴÙ.
| |
<?php
// accurately return the number of elements in an array
function number_of_elements($array) {
// initialize count variable to 0
$count = 0;
// check if the element passed is a valid array
if(is_array($array)) {
while (list($key, $value) = each($array)) {
if ($value) {
$count++;
}
}
}
return $count;
}
// include files
include("./article.class.php");
// initialize objects
$article = new article;
// the $id variable should always have a value
if(!isset($_GET["id"]) || $_GET["id"] == "") {
$category_id = 5; // set this to a default category id
} else {
$category_id = $_GET["id"];
}
?>
<html>
<head>
<basefont face="Arial">
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="5" align="CENTER" valign="TOP" height="450" border="1">
<tr>
<td colspan="3" width="100%" align="CENTER">
<p> </p>
<h1>Welcome to My Site</h1>
<p> </p>
</td>
</tr>
<tr height="400">
<td width="25%" align="LEFT" valign="TOP">Menu comes here</td>
<td width="50%" align="LEFT" valign="TOP">
<?php
// get the articles for the selected category
$articles = $article->get_titles($category_id);
if(number_of_elements($articles) == 0) {
echo "Sorry, no articles in this category";
} else {
for ($count = 0; $count < number_of_elements($articles); $count++) {
// get the title, intro and author details for the article
$my_article = $article->get_article($articles[$count]['id']);
echo "<P><A HREF=\"article.php?id=".$articles[$count]['id']."\" >".$my_article->title."</A></P>";
echo "<P>by <A HREF=\"mailto:".$my_article->email."\" >".$my_article->author."</A> on ".$my_article->date."</P>";
echo "<P>".$my_article->content."</P>";
echo "<DIV ALIGN=\"CENTER\"><HR WIDTH=\"75%\" NOSHADE></DIV>";
}
}
?>
</td>
<td width="25%" align="LEFT" valign="TOP">Ads here</td>
</tr>
</table>
</body>
</html> | |
 |
¾ßÇÇ »ç¿ëÀÇ Ã¹ ¹øÂ° ´Ü°è´Â Ŭ·¡½º ¿ÀºêÁ§Æ® »ç·Ê¸¦ ¸¸µå´Â °ÍÀÌ´Ù. ÀÌ ¿ÀºêÁ§Æ®´Â µ¥ÀÌÅͺ£À̽ºÀÇ ÄÁÅÙÆ®¿¡ Á¢±ÙÇϱâ À§ÇÑ API ¸Þ½îµå¿Í ¼Ó¼ºÀ» º¸¿©ÁØ´Ù. Ç׸ñÀÇ Å¸ÀÌÆ² ¸ñ·ÏÀ» ¾òÀ¸·Á ÇÑ´Ù¸é Ä«Å×°í¸® ID¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ ID´Â URLÀ» ÅëÇØ Àü´ÞµÇ°Å³ª ±âº» °ªÀ» °®´Â´Ù. get_titles() ¸Þ½îµå´Â Ä«Å×°í¸® ID¸¦ »ç¿ëÇØ ÇØ´ç Ä«Å×°í¸® ³»ÀÇ ½ÂÀÎµÈ Ç׸ñ ID¿Í Á¦¸ñÀ» ¹ÝȯÇÑ´Ù.
get_article() ¸Þ½îµå´Â Á» ´õ ±í¼÷ÀÌ µé¾î°¡ ÀÌÀü ´Ü°è¿¡¼ ¹ÝȯµÈ Ç׸ñ IDÀÇ ¸ñ·ÏÀ» ´Ù½Ã ÈÈÀ¸¸ç °¢ Ç׸ñÀ» ´ëÇ¥ÇÏ´Â ¿ÀºêÁ§Æ®¸¦ ¹ÝȯÇÑ´Ù. Á¦¸ñ, ÀúÀÚÀÇ »ó¼¼Á¤º¸, ¼¹®ÀÌ ÀÌ ¿ÀºêÁ§Æ®ÀÇ ¼Ó¼ºÀ¸·Î ³ëÃâµÇ¸ç Ç¥ÁØ Ç¥½Ã¹ýÀÎ object->property·Î ÃßÃâµÉ ¼ö ÀÖ´Ù.
Ç׸ñÀÇ Á¦¸ñÀº object->linked¸¦ ÀÌ¿ëÇØ Ç׸ñ ID ¼ø¼´ë·Î º°µµÀÇ PHP ½ºÅ©¸³Æ®ÀÎ article.php¿¡ ¿¬°áµÈ´Ù´Â Á¡À» ´«¿©°Ü ºÁ¾ß ÇÑ´Ù. ¿©±â¿¡ ´ëÇØ¼´Â ¾Æ·¡¿¡ ´õ ¾ð±ÞÇÑ´Ù.
ÀÌ À¥ÆäÀÌÁö¸¦ ¸¶¹«¸®ÁöÀ¸·Á¸é °¡¿ëÇÑ Ä«Å×°í¸®ÀÇ ¸ñ·ÏÀ» ȹµæÇØ ÇÁ¸°Æ®ÇÏ´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ °úÁ¤Àº ¿ÞÆí¿¡ À§Ä¡ÇÑ ¸Þ´º¿¡ ÇÊ¿äÇÏ´Ù´Â Á¡À» ±â¾ïÇ϶ó. ¿©±â¿¡´Â Ä«Å×°í¸® ¸í°ú °¢°¢ÀÇ ID¸¦ Æ÷ÇÔÇÑ ¿¬°áµÈ ¹è¿À» ¹ÝȯÇÏ´Â get_categories() ¸Þ½îµå°¡ »ç¿ëµÈ´Ù. ¸®½ºÆ® 3¿¡´Â ¸®½ºÆ® 2ÀÇ ½ºÅ©¸³Æ®¿¡ ÇʼöÀûÀÎ ÃֽŠÁ¤º¸µéÀÌ ´ã°Ü ÀÖ´Ù.
| |
<?php
// accurately return the number of elements in an array
function number_of_elements($array) {
// initialize count variable to 0
$count = 0;
// check if the element passed is a valid array
if(is_array($array)) {
while (list($key, $value) = each($array)) {
if ($value) {
$count++;
}
}
}
return $count;
}
// include files
include("./article.class.php");
// initialize objects
$article = new article;
// the $id variable should always have a value
if(!isset($_GET["id"]) || $_GET["id"] == "") {
$category_id = 5; // set this to a default category id
} else {
$category_id = $_GET["id"];
}
?>
<html>
<head>
<basefont face="Arial">
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="5" align="CENTER" valign="TOP" height="450" border="1">
<tr>
<td colspan="3" width="100%" align="CENTER">
<p> </p>
<h1>Welcome to My Site</h1>
<p> </p>
</td>
</tr>
<tr height="400">
<td width="25%" align="LEFT" valign="TOP">
<?php
// populate the categories menu
$categories = $article->get_categories();
for ($count = 0; $count < number_of_elements($categories); $count++) {
echo "<A HREF=\"category.php?id=".$categories[$count]['id']."\" >".$categories[$count]['name']."</A><BR CLEAR=\"all\"><BR>";
}
?>
</td>
<td width="50%" align="LEFT" valign="TOP">
<?php
// get the articles for the selected category
$articles = $article->get_titles($category_id);
if(number_of_elements($articles) == 0) {
echo "Sorry, no articles in this category";
} else {
for ($count = 0; $count < number_of_elements($articles); $count++) {
// get the title, intro and author details for the article
$my_article = $article->get_article($articles[$count]['id']);
echo "<P><A HREF=\"article.php?id=".$articles[$count]['id']."\" >".$my_article->title."</A></P>";
echo "<P>by <A HREF=\"mailto:".$my_article->email."\" >".$my_article->author."</A> on ".$my_article->date."</P>";
echo "<P>".$my_article->content."</P>";
echo "<DIV ALIGN=\"CENTER\"><HR WIDTH=\"75%\" NOSHADE></DIV>";
}
}
?>
</td>
<td width="25%" align="LEFT" valign="TOP">Ads here</td>
</tr>
</table>
</body>
</html> | |
 |
¾Æ·¡ ±×¸²¿¡¼ ÀÌÁ¦ ¾î¶² °á°ú°¡ Ãâ·ÂµÇ´ÂÁö È®ÀÎÇÒ ¼ö ÀÖ´Ù.
 |
| get_categories() ¸Þ½îµå¸¦ »ç¿ëÇÑ Ãâ·Â °á°ú |
Ç׸ñÀÇ ÄÁÅÙÆ® ÃßÃâ
Àüü Ç׸ñÀº Ç׸ñ ID¸¦ ÀÎÀڷΠȣÃâµÇ´Â article.php ½ºÅ©¸³Æ®¿¡ ÀÇÇØ Ãâ·ÂµÈ´Ù. ¸®½ºÆ® 4´Â ÀÌ ½ºÅ©¸³Æ®¿ë Äڵ带 ´ã°í ÀÖ´Ù. ¿©±â¿¡´Â ÆäÀÌÁö ¾Æ·¡ÀÇ ÆäÀÌÁö ¹øÈ£ ¸µÅ©¸¦ ÅëÇØ Ç׸ñÀÇ °¢ ÆäÀÌÁö·Î À̵¿ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ÆäÀÌÁö ÇÑÁ¤ÀÚ Áö¿øÀÌ Æ÷ÇԵŠÀÖ´Ù.
| |
<?php
// accurately return the number of elements in an array
function number_of_elements($array) {
// initialize count variable to 0
$count = 0;
// check if the element passed is a valid array
if(is_array($array)) {
while (list($key, $value) = each($array)) {
if ($value) {
$count++;
}
}
}
return $count;
}
// include file
include("./article.class.php");
// initialize objects
$article = new article;
// the $page variable should always have a value
if(!isset($_GET["page"]) || $_GET["page"] == "") {
$page = 1;
} else {
$page = $_GET["page"];
}
// the $article_id variable should always have a value
if(!isset($_GET["id"]) || $_GET["id"] == "") {
$article_id = 6;
} else {
$article_id = $_GET["id"];
}
?>
<html>
<head>
<basefont face="Arial">
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="5" align="CENTER" valign="TOP" height="450" border="1">
<tr>
<td colspan="3" width="100%" align="CENTER">
<p> </p>
<h1>Welcome to My Site</h1>
<p> </p>
</td>
</tr>
<tr height="400">
<td width="25%" align="LEFT" valign="TOP">
<?php
// populate the categories menu
$categories = $article->get_categories();
for ($count = 0; $count < number_of_elements($categories); $count++) {
echo "<A HREF=\"category.php?id=".$categories[$count]['id']."\" >".$categories[$count]['name']."</a><br clear=\"all\"><br>";
}
?>
</td>
<td width="50%" align="LEFT" valign="TOP">
<table width="100%" border="0" cellspacing="0" cellpadding="5" valign="TOP">
<tr height="350" valign="TOP">
<td>
<?php
// get a page from the article
$article_data = $article->get_article($article_id, $page);
if(!is_object($article_data)) {
echo "Sorry, the article does not exist.";
} else {
echo "<p>".$article_data->title."</a></p>";
echo "<p>by <a href=\"mailto:".$article_data->email."\" >".$article_data->author."</a> on ".$article_data->date."</p>";
echo "<p>".$article_data->content."</p>";
}
?>
</td>
</tr>
<tr>
<td>
<?
echo "<P ALIGN=\"center\">";
// use the "for" loop to display the page numbers
// one-by-one
for($countpages = 1; $countpages <= $article_data->num_pages; $countpages++) {
if($countpages != $page) {
echo "<a href=\"".$php_self."?id=".$article_id."&page=".$countpages."\" class=\"".$style."\">".$countpages."</a>";
} else {
echo $countpages;
}
if($countpages != $article_data->num_pages) echo " | ";
}
echo "</p>";
?>
</td>
</tr>
</table>
</td>
<td width="25%" align="LEFT" valign="TOP"> Ads here</td>
</tr>
</table>
</body>
</html> | |
 |
°¢ ÆäÀÌÁöÀÇ ÄÁÅÙÆ®´Â ÀÌÀü¿¡ ¾ð±ÞÇÑ get_article() ¸Þ½îµå¿¡ Ç׸ñ ID¿Í ÆäÀÌÁö ¹øÈ£¸¦ ³Ñ°ÜÁÖ´Â ¹æ¹ýÀ¸·Î ÃßÃâÇÒ ¼ö ÀÖ´Ù. À¯ÀÏÇÑ Â÷ÀÌÁ¡Àº ¹ÝȯµÈ ¿ÀºêÁ§Æ®ÀÇ ¡®ÄÁÅÙÆ®¡¯ ¼Ó¼ºÀÌ Ç׸ñÀÇ ¼¹®ÀÌ ¾Æ´Ñ ƯÁ¤ ÆäÀÌÁö¸¦ ÀúÀåÇÑ´Ù´Â °ÍÀÌ´Ù.
num_pages() ¼Ó¼ºÀº Ç׸ñ³»ÀÇ ÃÑ ÆäÀÌÁö ¼ö¸¦ ¾ò´Âµ¥ »ç¿ëµÈ´Ù. ÀÌ ¼Ó¼º¿¡ ´Ü¼øÇÑ for() ·çÇÁ¸¦ °áÇÕÇÏ¸é ÆäÀÌÁö ¹øÈ£·Î ÀÌ·ïÁø Ž»ö ¹Ù¸¦ ¸¸µé ¼öµµ ÀÖÀ¸¸ç ´Ù¸¥ ÆäÀÌÁö ID¸¦ °¡Á³Áö¸¸ Ç׸ñ ID°¡ ¶È°°Àº, µ¿ÀÏÇÑ ½ºÆ®¸³Æ®·Î °¢ ÆäÀÌÁö ¹øÈ£¸¦ ÇÏÀÌÆÛ¸µÅ© ½Ãų ¼ö ÀÖ´Ù.
´ÙÀ½ ±×¸²Àº °á°ú ȸéÀÇ ¿¹´Ù. @
 |
| get_categories() ¸Þ½îµå¸¦ »ç¿ëÇÑ Ãâ·Â °á°ú |