Maple¤òÍøÍѤ·¤¿·Ç¼¨ÈĺîÀ® http://www.ark-web.jp/sandbox/wiki/182.html
11·î¤«¤éÆþ¼Ò¤·¤¿¾®¾Â¤Ç¤¹¡£¸½ºß¸¦½¤Ãæ¤ÇPHP¤ÎÊÙ¶¯¤ò¤·¤Æ¤¤¤Þ¤¹¡£
PHP¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Ç¤¢¤ëMaple¤È¡¢javascript¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ëprototype.js¤òÍøÍѤ·¡¢·Ç¼¨ÈĤòºîÀ®¤·¤Þ¤·¤¿¡£
¤½¤³¤ÇÆÀ¤¿¥Î¥¦¥Ï¥¦¤Ê¤É¤ò¤³¤³¤Ëµ½Ò¤·¤Æ¤¤¤¤Þ¤¹¡£
¤Ê¤ª¥·¥¹¥Æ¥à¹½À®¤Ê¤ÉÀß·×¾ðÊó¤Ï¤³¤Á¤é¤Ëµ½Ò¤·¤Æ¤¢¤ê¤Þ¤¹¡£
- ¥¢¡¼¥¯¥¦¥§¥Ö ¥×¥í¥¸¥§¥¯¥È´ÉÍýÊýË¡¤´¾Ò²ð/3 -- Maple¤ò»ÈÍѤ·¤¿·Ç¼¨ÈĤòºîÀ®¤¹¤ë
- ¥¢¡¼¥¯¥¦¥§¥Ö ¥×¥í¥¸¥§¥¯¥È´ÉÍýÊýË¡¤´¾Ò²ð/5 -- Ajax¤ò»ÈÍѤ·¤¿·Ç¼¨ÈĤòºîÀ®¤¹¤ë
Ìܼ¡ †
´°À®ÉÊ †
Maple¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¤Ä¤¤¤Æ †
¥¤¥ó¥¹¥È¡¼¥ëÊýË¡ †
¥¤¥ó¥¹¥È¡¼¥ë¤ÎÊýË¡¤Ï°Ê²¼¤Î£²¼ïÎब¤¢¤ê¤Þ¤¹¡£¾ÜºÙ¤Ï¥ê¥ó¥¯Àè¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Æ¥ó¥×¥ì¡¼¥È¥¨¥ó¥¸¥ó¤¬É¬Í× †
¥¤¥ó¥¹¥È¡¼¥ë¤ò¹Ô¤¦¤¿¤á¤Ë¤Ï¡¢¥Æ¥ó¥×¥ì¡¼¥È¥¨¥ó¥¸¥ó¤ÎSmarty¤«HTML_Template_Flexy¤¬É¬ÍפǤ¹¡£¤É¤Á¤é¤«¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¡¢Maple¤¬Æ°ºî¤·¤Ê¤¤¤É¤³¤í¤«¡¢Maple¤Î¥¤¥ó¥¹¥È¡¼¥ë¤¹¤é¤Ç¤¤Þ¤»¤ó¡£
³«È¯ †
Maple¥³¥Þ¥ó¥É †
Maple¤Î³«È¯¤Ë¤ª¤¤¤Æ¤ÏMaple¥³¥Þ¥ó¥É¤ò»ÈÍѤ·¤Þ¤¹¡£
$maple webapp $maple action ...
¤È¤¤¤Ã¤¿·Á¤Ç¤¹¡£¼Â¹Ô¤¹¤ë¤È¡¢¿÷·Á¤È¤Ê¤ë¥Ç¥£¥ì¥¯¥È¥ê¤È¥Õ¥¡¥¤¥ë¤¬¼«Æ°À¸À®¤µ¤ì¤Þ¤¹¡£
¼«Æ°À¸À®¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤ì¼«ÂΤǤ¹¤Ç¤Ë¼Â¹Ô²Äǽ¤Ê¾õÂ֤ȤʤäƤ¤¤Þ¤¹¤¬¡¢Ãæ¿È¤Î½èÍý¤¬²¿¤âµ½Ò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤½¤ì¤¾¤ì¤ÎÍ×·ï¤Ë¤¢¤Ã¤¿·Á¤Ë½èÍý¤òµ½Ò¤·¤Æ¤¤¤¯¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
Ruby On Rails¤Ë¤ª¤±¤ërails¥³¥Þ¥ó¥É¤ß¤¿¤¤¤Ê¤â¤Î¤À¤È»×¤¤¤Þ¤¹¡£
²èÌ̤ȥ¢¥¯¥·¥ç¥ó´Ö¤Ç¤Î¥Ç¡¼¥¿¤Î¼õ¤±ÅϤ·ÊýË¡¤Ë¤Ä¤¤¤Æ †
¥Æ¥ó¥×¥ì¡¼¥È¡Ê²èÌ̡ˤ«¤é¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¡Êmodule¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¤Ç¤¤ë¥¯¥é¥¹¡Ë¤Î¥á¥ó¥ÐÊÑ¿ô¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤Ë°Ê²¼¤Î¤è¤¦¤Êµ½Ò¤ò¤ª¤³¤Ê¤¦¤È¡¢
class Hoge { var $val1; function execute(){ return 'success'; } }
¥Æ¥ó¥×¥ì¡¼¥È²èÌ̤«¤é¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤¹¤ë¤³¤È¤Ç¡¢Ãͤò¼èÆÀ¤Ç¤¤Þ¤¹¡£
<input type="text" name="" value="{$action.val1}">
µÕ¤Ë¡¢²èÌ̤ǥµ¥Ö¥ß¥Ã¥È¤·¤¿Ãͤò¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤Ç¼èÆÀ¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥Æ¥ó¥×¥ì¡¼¥È²èÌ̤˰ʲ¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤¹¡£
<input type="text" name="val1" value="">
¤¹¤ë¤È¡¢¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤Îval1¤È¤¤¤¦¥á¥ó¥ÐÊÑ¿ô¤Ë¡¢¥µ¥Ö¥ß¥Ã¥È¤µ¤ì¤¿Ãͤ¬ÀßÄꤵ¤ì¤Þ¤¹¡£
¥¢¥¯¥·¥ç¥ó¥Á¥§¡¼¥ó¤Ë¤Ä¤¤¤Æ †
¥¢¥¯¥·¥ç¥ó¥Á¥§¡¼¥ó¤È¤¤¤¦¤Î¤ÏÊ£¿ô¤Î¥¢¥¯¥·¥ç¥ó¤òϢ³¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤Ç¤¹¡£
Î㤨¤Ð¡¢º£²óºî¤Ã¤¿·Ç¼¨ÈĤǤϡ¢¿·µ¬Åê¹Æ¤ò¹Ô¤Ã¤¿¤È¤¤Ë°Ê²¼¤ÎÆó¤Ä¤Î¥¢¥¯¥·¥ç¥ó¤ò¥Á¥§¡¼¥ó¤µ¤»¤Æ¤¤¤Þ¤¹¡£
- submit(Åê¹Æ¤µ¤ì¤¿¥Ç¡¼¥¿¤òDB¤ËÅÐÏ¿¤¹¤ë¥¢¥¯¥·¥ç¥ó)
- display(DB¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë¥¢¥¯¥·¥ç¥ó)
ÊýË¡¤È¤·¤Æ¤Ï¡¢¥Á¥§¡¼¥ó¸µ¤Î¥¢¥¯¥·¥ç¥ó¤ÎÁ«°ÜÀè¤Ë¡¢¥Á¥§¡¼¥óÀè¤Î¥¢¥¯¥·¥ç¥ó¤òÀßÄꤹ¤ë¤À¤±¤Ç¤¹¡£
º£²óºî¤Ã¤¿Îã¤Ç¤Ï¡¢submit¥¢¥¯¥·¥ç¥ó¤ÈƱ³¬Áؤˤ¢¤ëmaple.ini¤ò°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤·¤Þ¤·¤¿¡£
[View] success = "action:display
°ÊÁ°¤É¤³¤«¤Ç¥¢¥¯¥·¥ç¥ó¥Á¥§¡¼¥ó¤Ï¤¢¤Þ¤ê»ÈÍѤ·¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¤È¤¤¤¦µ½Ò¤ò¸Æ¤ó¤Àµ²±¤¬¤¢¤ê¤Þ¤¹¡Ê³Î¤«Struts¥¤¥ó¥¢¥¯¥·¥ç¥ó¡Ë¡£Íýͳ¤È¤·¤Æ¤Ï¡¢
- ¥¢¥¯¥·¥ç¥ó¤ò¥Á¥§¡¼¥ó¤µ¤»¤¿¤¯¤Ê¤ë¤Î¤Ï¡¢¥¢¥¯¥·¥ç¥ó¤Ë¥í¥¸¥Ã¥¯¤¬µ½Ò¤µ¤ì¤Æ¤¢¤ë¤«¤é¡£
- ¤½¤Î¤¿¤á½ÅÊ£¤·¤¿¥³¡¼¥É¤ò½ñ¤«¤Ê¤¤¤¿¤á¤Ë¡¢¥¢¥¯¥·¥ç¥ó¤ò¥Á¥§¡¼¥ó¤µ¤»¤¿¤¯¤Ê¤ë¡£
- ¥í¥¸¥Ã¥¯¤¬Å¬Àڤ˥⥸¥å¡¼¥ë²½¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¥¢¥¯¥·¥ç¥ó¤ò¥Á¥§¡¼¥ó¤µ¤»¤Ê¤¯¤Æ¤â¡¢°ì¤Ä¤Î¥¢¥¯¥·¥ç¥óÆâ¤ÇÊ£¿ô¤Î¥í¥¸¥Ã¥¯¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ç¡¢½ÅÊ£¤¹¤ë¥³¡¼¥É¤ò½ñ¤«¤Ê¤¯¤Æ¤âÂбþ¤Ç¤¤ë¤Ï¤º¡£
¤È¤¤¤¦¤³¤È¤À¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£
¸Ä¿ÍŪ¤Ë¤Ï¥¢¥¯¥·¥ç¥ó¥Á¥§¡¼¥ó¤¬Í¸ú¤Ê¾ì¹ç¤â¤¢¤ë¤È»×¤¤¤Þ¤¹¡£¤·¤«¤·¾å¤Î¤è¤¦¤Ê´ÑÅÀ¤â¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¡¢¥Á¥§¡¼¥ó¤Ç¼ÂÁõ¤¹¤ëÁ°¤Ë¡¢ËÜÅö¤Ë¤½¤¦¤¹¤ë¤Î¤¬ºÇÁ±¤«¡¢¥í¥¸¥Ã¥¯¤¬Å¬ÀÚ¤Ëʬ³ä¤Ç¤¤Æ¤¤¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¡¢¤È¤¤¤¦¤³¤È¤ò¤â¤¦°ìÅÙ¸¡Æ¤¤·¤¿Êý¤¬¾¬Îɤ¤¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¢¨¸Ä¿ÍŪ¤Ê¤³¤È¤Ç¤¹¤¬¡¢»ä¤Ï¥¢¥¯¥·¥ç¥ó¥Á¥§¡¼¥ó¤ò¼ÂÁõ¤·¤Æ¤¤¤ëºÇÃæ°Ê²¼¤Î¥¨¥é¡¼¤Ë¶ì¤·¤ß¤Þ¤·¤¿¡£
Cannot redeclare class db
¡ÖDB¥¯¥é¥¹¤òºÆÄêµÁ¤Ç¤¤Þ¤»¤ó¡×¤È¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤«¡£
·ë¶Érequire('DB.php')¤È¤ä¤Ã¤Æ¤¤¤ë²Õ½ê¤òrequire_once('DB.php')¤È¤¹¤ë¤³¤È¤Çľ¤ê¤Þ¤·¤¿¡£
¥¢¥¯¥·¥ç¥ó¥Á¥§¡¼¥ó¤ò»È¤Ã¤¿¤³¤È¤Ç¡¢°ì²ó¤ÎÆ°ºî¤ÎÃæ¤Ç£²²órequire('DB.php')¤¬¤ª¤³¤Ê¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤³¤È¤¬¸¶°ø¤È»×¤ï¤ì¤Þ¤¹¡£
requrie¤Î¸ºß²ÁÃͤ¬¤¤¤Þ¤¤¤Áʬ¤«¤ê¤Þ¤»¤ó¡£³°Éô¥é¥¤¥Ö¥é¥ê¤¬É¬Íפˤʤ俤é¾ï¤Ërequire_once¤·¤¿¤Û¤¦¤¬°ÂÁ´¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
ÆþÎÏ¥Á¥§¥Ã¥¯¤Ë¤Ä¤¤¤Æ †
ÆþÎϹàÌܤËÂФ·¤Æ¤ª¤³¤Ê¤¦¥Á¥§¥Ã¥¯¤âmaple.ini¤Ëµ½Ò¤·¤Þ¤¹¡£
º£²ó¤Î·Ç¼¨ÈĤǤϿ·µ¬Åê¹Æ»þ¤Ë¡¢É¬¿Ü¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤è¤¦¤ËÀßÄꤷ¤Þ¤·¤¿¡£
maple.ini¤ÎÆâÍƤǤ¹¡£
[Validate] name.required = "1,name is required" message.required = "1, message is required"
name¤ämessage¤È½ñ¤«¤ì¤Æ¤¤¤ë¤È¤³¤í¤¬¡¢ÆþÎÏ¥Á¥§¥Ã¥¯ÂоݤιàÌܤǤ¹¡£¤³¤ì¤Ï²èÌ̾åÆþÎϹàÌܤÎname°À¤ÈÂбþ¤·¤Þ¤¹¡£
¼¡¤Îrequired¤È½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤¬¡¢¥Á¥§¥Ã¥¯ÊýË¡¤Ç¤¹¡£required¤Î¾¤Ë¡¢maxLength¤ädate¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£
1¤È½ñ¤«¤ì¤Æ¤¤¤ë¤È¤³¤í¤Ï¥¹¥È¥Ã¥Ñ¡¼¤Ç¤¹¡£1¤Î¤Û¤«¤Ë0¤¬»ØÄê¤Ç¤¤Þ¤¹¡£¥¹¥È¥Ã¥Ñ¡¼¤¬1¤Ë¤Ê¤Ã¤Æ¤¤¤ëÆþÎÏ¥Á¥§¥Ã¥¯¤Ë°ú¤Ã¤«¤«¤Ã¤¿¾ì¹ç¡¢°Ê¹ß¤Î¤½¤Î¹àÌܤËÂФ¹¤ëÆþÎÏ¥Á¥§¥Ã¥¯¤ò¤ª¤³¤Ê¤¤¤Þ¤»¤ó¡£
name is required¤È¤Ê¤Ã¤Æ¤¤¤ë¤È¤³¤í¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ç¤¹¡£
¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Ï°Ê²¼¤Î¤è¤¦¤Ëµ½Ò¤¹¤ë¤³¤È¤Ç¡¢²èÌ̤Ëɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
{errorList->getMessages assign=messages} {foreach from=$messages|smarty:nodefaults item=message} <font color="#ff0000">{$message}</font><br> {/foreach}
ÆþÎÏ¥Á¥§¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï¤³¤³¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
ɬ¿Ü¥Á¥§¥Ã¥¯°Ê³°¤Ë¤âmaxlenght¤Î¥Á¥§¥Ã¥¯¤Ê¤É¤¤¤í¤¤¤í¤¢¤ë¤è¤¦¤Ç¤¹¡£¤Þ¤¿Validate¥¢¥¯¥·¥ç¥ó¤ò³ÈÄ¥¤¹¤ë¤³¤È¤Ç¡¢¿·¤·¤¤ÆþÎÏ¥Á¥§¥Ã¥¯¤ò¥«¥¹¥¿¥Þ¥¤¥º¤¹¤ë¤³¤È¤â¤Ç¤¤ë¤è¤¦¤Ç¤¹¡£
Ajax¤Ë¤Ä¤¤¤Æ †
º£²ó¤Î¸¦½¤¤Ç¤Ï¥Ú¡¼¥¸¥ó¥°Éôʬ¡ÊÁ°¤Î¥Ú¡¼¥¸¤ä¼¡¤Î¥Ú¡¼¥¸¤Ë°ÜÆ°¤¹¤ëµ¡Ç½¡Ë¤ËAjax¤ò»ÈÍѤ·¤Þ¤·¤¿¡£Ajax()¤Î³«È¯¤Ë¤ª¤¤¤Æ¤Ï¤½¤Î̾¾Î¤ÎÄ̤êjavascript¤¬Ãæ¿´¤È¤Ê¤ê¤Þ¤¹¡£¤³¤³¤ËÁ´¤Æ¤Îjavascript¥½¡¼¥¹¤ò°úÍѤ·¤Þ¤¹¡£
function getArticles(page_num) { new Ajax.Updater( "list", "index.php", { method: "get", parameters: "action=articles_display&page_num=" + page_num } ); }
º£²ó¤Îjavascript¤ÎÃæ¤ÇÃæ¿´¤È¤Ê¤ë´Ø¿ô¤Ç¤¹¡£
¥Ú¡¼¥¸ÈÖ¹æ¤ò°ú¿ô¤Ë¼è¤ê¡¢¥µ¡¼¥Ð¤Ë¥ê¥¯¥¨¥¹¥È¤òȯ¹Ô¤·¡¢¤½¤Î·ë²Ì¡Ê³ºÅö¤¹¤ë¥Ú¡¼¥¸¤ÎHTML¡Ë¤ò¼èÆÀ¤·²èÌ̤Ëɽ¼¨¤·¤Þ¤¹¡£
prototype.js¤ÎAjax.Updater¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£
function getNextArticles() { getArticles(getPageNum() + 1); }
¡Ö¼¡¤Ø¡×¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿¤È¤¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ç¤¹¡£
¸½ºß¤Î¥Ú¡¼¥¸ÈÖ¹æ¤Ë1¤ò²Ã¤¨¤¿ÃͤÇgetArticles()¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹¡£
function getPrevArticles() { getArticles(getPageNum() - 1); }
¡ÖÁ°¤Ø¡×¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿¤È¤¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ç¤¹¡£
¸½ºß¤Î¥Ú¡¼¥¸ÈÖ¹æ¤Ë1¤ò°ú¤¤¤¿ÃͤÇgetArticles()¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤Þ¤¹¡£
function getPageNum() { return new Number($F('page_num')); }
¥Ú¡¼¥¸ÈÖ¹æ¤ò¼èÆÀ¤¹¤ë´Ø¿ô¤Ç¤¹¡£
prototype.js¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë´Ø¿ô$F()¤ò»ÈÍѤ·¤Æ¡¢²èÌ̾å¤Îid¤¬"page_num"¤Ç¤¢¤ëÍ×ÁǤÎÃͤò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
»²¹Í»ñÎÁ †
- http://kunit.jp/maple/ --Maple¤Î¸ø¼°¥µ¥¤¥È
- http://kunit.jp/maple/wiki/ --Maple¤Î¸ø¼°?wiki
- http://d.hatena.ne.jp/ixcy/archive?word=%2a%5bmaple%5d
- http://php.y-110.net/wiki/index.php?Maple
ÊÙ¶¯²ñ †
¤³¤Î¸¦½¤¤Ç³Ø¤ó¤ÀÆâÍƤò¸µ¤Ë¼ÒÆâ¤ÇÊÙ¶¯²ñ¤ò³«¤¤Þ¤·¤¿¡£
¤½¤Î»þ¤Ë»ÈÍѤ·¤¿¥ì¥¸¥å¥á¤¬²¼µ¤Î¥Ú¡¼¥¸¤Ç¤¹¡£
ÊÙ¶¯²ñ/Maple¤ÈAjax¤ò»ÈÍѤ·¤¿·Ç¼¨ÈÄ
tag: PHP, Maple, Ajax, JavaScript, prototype.js, MVC¥Õ¥ì¡¼¥à¥ï¡¼¥¯