Class
- Tip&Tech
| [¾Ë°í¸®Áò] php5¿¡¼ ÇÊ¿äÇÑ Å¬·¡½º¸¸À» ƯÁ¤Å¬·¡½º¿¡ µî·Ï(ÂüÁ¶)ÇÏ¿© ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ°Ô È°¿ë | |||||
| ±Û¾´ÀÌ | ³¯ Â¥ | 10-05-19 21:16 | Á¶ ȸ | 5766 | |
|---|---|---|---|---|---|
| °£ÆíURL |
http://www.phpschool.com/link/tipntech/71993
|
||||
|
¿ì¿Õ Á¦¸ñ Á¤ÇÏ´Â°Ô ¾î·Á¿ö¿ä
¾Æ¹«Æ° ¿äÁö´Â ÀÌ·¸½À´Ï´Ù ƯÁ¤ÇϳªÀÇ Å¬·¡½º¿¡¼ ´Ù¸¥ Ŭ·¡½ºµéÀ» ÂüÁ¶ÇÏ¿© Ȱ¿ëÇÏ´Â ·ÎÁ÷ÀÔ´Ï´Ù º°°Ç ¾Æ´ÏÁö¸¸ php5ÀÇ ¸ÅÁ÷ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© º¸´Ù ½±°í º¸±â ÁÁ°Ô Ȱ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. <»ç¿ë¿¹Á¦> -------------------------------------------------------- $memObj = new MemberAdmin(); # Ŭ·¡½º µî·Ï $memObj->setInstanceClass(new DbMySqli(_DB_HOST_.':'._DB_NAME_, _DB_USER_, _DB_PASSWD_)); #µðºñŬ·¡½º $memObj->setInstanceClass(new ReqFormChecker); #¹®ÀÚüũŬ·¡½º $memObj->setInstanceClass(&$lang); #À̹̼±¾ðµÈ Ŭ·¡½º # ÃÑ È¸¿ø¼ö Ãâ·Â echo $total_rows = $memObj->getTotalRows(); -------------------------------------------------------------------------/ Áï MemberAdmin Ŭ·¡½º¿¡¼ µî·ÏÇÑ DbMySqli , ReqFormChecker, Lang Ŭ·¡½º¸¦ µî·ÏÇÏ¿© ½±°Ô Ȱ¿ëÇÒ ¼ö Àִµ¥ MemberAdmin Ŭ·¡½º ³»¿¡¼ $this->ReqFormChecker $this->dbmysqli $this->lang ÀÌ·±½ÄÀ¸·Î ´Ù¸¥ Ŭ·¡½ºµéÀ» ½±°Ô Ȱ¿ëÇϸç, MemberAdmin Ŭ·¡½º¿¡¼ ¾î¶°ÇÑ Å¬·¡½ºµéÀ» »ç¿ëÇÏ´ÂÁöµµ ½±°Ô ¾Ë ¼ö ÀÖ½À´Ï´Ù ¸»Àº ¾î·Æ°í ¾Æ·¡ Ŭ·¡½º´Â ¸ðµâ Ŭ·¡½º ÀԴϴ٠Ŭ·¡½º¸¦ ¼±¾ðÇϰųª È£ÃâÇÏ¿© ¾µ¶§ ÀÌ Å¬·¡½º¸¦ ÀÌ¿ëÇØ¼ ¿òÁ÷ÀÔ´Ï´Ù. ÀÏ´Ü ¾Æ·¡ Ŭ·¡½º¸¦ ¸¸µé¾î ³õ½À´Ï´Ù ±×¸®°í ´Ù¸¥ Ŭ·¡½º¿¡¼ ÀÌ Å¬·¡½º¸¦ »ó¼Ó¹Þ½À´Ï´Ù <?php /** ====================================================== | @Author : ±èÁ¾°ü | @Email : apmsoft@gmail.com | @HomePage : http://www.apmsoftax.com | @Editor : Eclipse(default) | @UPDATE : 2010-02-04 ----------------------------------------------------------*/ # ´Ù¸¥ Ŭ·¡½º¿¡¼ ¼±¾ðµÈ Ŭ·¡½ºµîÀ» È£ÃâÇÏ¿© »ç¿ë # ÆÄÆ®º° ¸ðµâ Ŭ·¡½º¿¡¼ Ç×»ó »ó¼ÓÇÔ class Module { protected $objs = array(); # Ãß°¡ÇϰíÇ Ŭ·¡½º ÁÖ¼Òµî·Ï # ex) new Template() or &$tpl public function setInstanceClass($obj){ $this->objs[] = &$obj; } # µî·ÏµÈ Ŭ·¡½º ÁÖ¼Ò ÂüÁ¶ È£Ãâ # return public function &getInstance($clsname){ foreach($this->objs as $obs){ return $obs; } } # µî·ÏµÈ Ŭ·¡½º ÁÖ¼Ò ÂüÁ¶ º¸´Ù ½ÉÇà ȣÃâ # return public function &__get($clsname){ return self::getInstance($clsname); } } ?> ȸ¿ø ÇÁ·Î±×·¥À» ó¸®Çϱâ À§ÇÑ Å¬·¡½º¸¦ ¸¸µé¾î¼ À§ÀÇ ¸ðµâ Ŭ·¡½º¸¦ »ó¼Ó¹Þ½À´Ï´Ù <?php /** ====================================================== | @Author : ±èÁ¾°ü | @Email : apmsoft@gmail.com | @HomePage : http://www.apmsoftax.com | @Editor : Eclipse(default) | @UPDATE : 2010-02-04 ----------------------------------------------------------*/ class Member extends Module { const _TABLE_ = 'ax_administer'; # void ÇÁ¶óÆÛƼ °ª ¼³Á¤ public function __set($propertyName,$value){ if(property_exists(__CLASS__,$propertyName) === false){ throw new ErrorException('I don\'t know '.$propertyName); } $this->{$propertyName} = $value; } # Áߺ¹ ȸ¿ø üũ # field : üũÇϰíÀÚ ÇÏ´Â Çʵå¸í, value : üũ°ª public function isMember($field, $value) { # Æû°ª üũ if(!$this->ReqFormChecker->chkIdnum($value)) throw new ErrorException($this->lang['error_'.$field]); $qry = "SELECT `uid` FROM "._self::_TABLE_.' WHERE `'.$field.'`=\''.$value.'\''; if($result = $this->dbmysqli->query($qry)){ $list = $result->fetch_row(); } if(!empty($list[0])) throw new ErrorException($this->lang['error_ismember']); } } ?> ¾Æ¹«Æ° ¼³¸íÀ» Àß ¸óÇϰڳ׿ä Ãß°¡·Î MemberAdmin Ŭ·¡½º ÀÔ´Ï´Ù MemberAdmin Ŭ·¡½º´Â ȸ¿ø µðºñ¸¦ ÀÌ¿ëÇØ °ü¸®ÀÚ ÆäÀÌÁö¿¡¼ °ü¸®ÇÒ¶§ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ Ŭ·¡½º ¿ëµµÀÔ´Ï´Ù Áï MemberŬ·¡½º´Â °øÅëÀ¸·Î »ç MemberUser Ŭ·¡½º¿Í MemberAdmin Ŭ·¡½º¿¡¼ °øÅëÀ¸·Î ¾²ÀÌ´Â ºÎºÐÀ» Á¤ÀÇÇØ ³õÀº°Å¶ó°í º¸½Ã¸é µË´Ï´Ù <?php /** ====================================================== | @Author : ±èÁ¾°ü | @Email : apmsoft@gmail.com | @HomePage : http://www.apmsoftax.com | @Editor : Eclipse(default) | @UPDATE : ----------------------------------------------------------*/ # member > # À¥È¸¿ø/ÁÖ¼Ò·ÏÀ» °ü¸®ÀÚ ÆäÀÌÁö¿¡¼ Ãâ·Â ¹× ¼öÁ¤µî¿¡ ÇÊ¿äÇÑ ÇÁ·Î±×·¡¹Ö class MemberAdmin extends Member { private $qryColumns = 'uid,signdate,userid,name,accessyn,hp,email'; private $searchFields = array('userid','name','hp','email'); private $keyword = array(); private $total_rows = 0; # void Ãß°¡ °Ë»ö Ç׸ñ ¼³Á¤ public function setSearchFields($key,$val){ if (array_key_exists($key,$this->searchFields) === false){ $this->searchFields = array_merge($this->searchFields,array($key => $val)); } } # °Ë»ö where¹® ¼³Á¤ public function setKeywords($field=array(), $words=array()){ if(is_array($field) && is_array($words)){ foreach($fields as $fd){ foreach($words as $w){ $this->keyword[] = "`".$fd."` LIKE '%{$w}%'"; } } } } # ·¹ÄÚµå °¹¼ö public function getTotalRows(){ if($result = $this->dbmysqli->query('SELECT count(*) FROM `'.self::_TABLE_.'`')){ $this->total_rows = $result->num_rows; } return $this->total_rows; } # ¸®½ºÆ® ¹è¿·Î °¡Á®¿À±â # return array(); public function getList($limitStart=0,$totalpage=0,$limitEa=10,$desc='uid DESC'){ $loop = array(); # where $where = ''; if(count($this->keyword)>0){ $where = ' WHERE '.implode(' OR ',$this->keyword); } $query = 'SELECT '.$this->qryColumns.' FROM `'.self::_TABLE_.'`'.$where.' ORDER BY '.$desc.' LIMIT '.$limitStart.','.$limitEa; $result = $this->DbMySqli->query($query); while($list = $result->fetch_assoc()){ $loop[] = array( 'uid' => $list['uid'], 'signdate' => date('y.m.d',$list['signdate']), 'userid' => $list['userid'], 'name' => $list['name'], 'accessyn' => $list['accessyn'], 'hp' => $list['hp'], 'email' => $list['email'] ); } return $loop; } # Ãß°¡ public function write($request = array()) { # µ¥ÀÌŸ üũ foreach($request as $field => $value){ switch($field){ case 'name' : if(!$this->ReqFormChecker->chkName($value)) throw new ErrorException($this->Lang['error_name']); break; case 'passwd' : if(!$this->ReqFormChecker->chkPassword($value)) throw new ErrorException($this->Lang['error_passwd']); break; case 'userid' : if(!$this->ReqFormChecker->chkUserid($value)) throw new ErrorException($this->Lang['error_userid']); break; case 'email' : if(!$this->ReqFormChecker->chkEmail($value)) throw new ErrorException($this->Lang['error_email']); break; case 'hp' : if(!$this->ReqFormChecker->chkCellPhone($value)) throw new ErrorException($this->Lang['error_hp']); break; } $this->DbMySqli[$field] = $value; } $this->DbMySqli->insert(self::_TABLE_); } # ¼öÁ¤ public function modify($where, $request=array()) { # µ¥ÀÌŸ üũ foreach($request as $field => $value){ switch($field){ case 'uid' : if(!$this->ReqFormChecker->isNumber($value)) throw new ErrorException($this->Lang['error_uid']); break; case 'name' : if(!$this->ReqFormChecker->chkName($value)) throw new ErrorException($this->Lang['error_name']); break; case 'passwd' : if(!$this->ReqFormChecker->chkPassword($value)) throw new ErrorException($this->Lang['error_passwd']); break; case 'userid' : if(!$this->ReqFormChecker->chkUserid($value)) throw new ErrorException($this->Lang['error_userid']); break; case 'email' : if(!$this->ReqFormChecker->chkEmail($value)) throw new ErrorException($this->Lang['error_email']); break; case 'hp' : if(!$this->ReqFormChecker->chkCellPhone($value)) throw new ErrorException($this->Lang['error_hp']); break; } $this->DbMySqli[$field] = $value; } $this->DbMySqli->update(self::_TABLE_); } # »èÁ¦ public function delete($where) { # Æûüũ if(!$this->ReqFormChecker->isNumber($value)) throw new ErrorException($this->Lang['error_uid']); $this->DbMySqli->delete(self::_TABLE_); } } ?> |
|||||
|
|||||
Àüü´ñ±Û¼ö 10
-


´ë¿¡Ã¢ 10-05-19 23:38
¼Ò½ºº¸±â
-
Èì... ¾ÆÁ÷ Á¦°¡ ÀÌÇØ¸¦ Á¤È®È÷ ¸ô¶ó¼ ´õ ºÁ¾ßµÇ°Ú³×¿ä~
²À ÇÊ¿äÇÑ Å¬·¡½º°¡ argument·Î ³Ñ¾î°¡Áö ¾Ê¾ÒÀ»¶§ÀÇ Ã³¸®µµ ÇÊ¿äÇÒ °Í °°½À´Ï´Ù. -

php»ç¶ûÀÌ 10-05-20 10:39
¼Ò½ºº¸±â
-
±×ÃÝ Á¦°¡ ¼³¸íÀ» Àß ¸óÇØ¼
__autoload(){
·Î Ŭ·¡½ºµéÀ» ÀÚµ¿ ÀÎŬ·çµå Çϰí ÀÖ¾î¼ Å¬·¡½º °ªµéÀÌ ¾øÀ»°æ¿ì¿¡´Â ¿©±â¿¡¼
¿¡·¯Ã³¸® ÇÕ´Ï´Ù
ÀÌÄÉ ¾²´Â°ÍÀÌ ÆíÇÏ´õ¶ó°í¿ä ^^
}
-

ANS 10-05-20 15:54
¼Ò½ºº¸±â
-
Module Ŭ·¡½º°¡ ¿©±â¼± ŰÆ÷ÀÎÆ®ÀÎ°Í °°Àºµ¥¿ä..
°´Ã¼ ¹Þ´Â³ð, ¹Þ¾Æ¼ ¸É¹ö ÇÁ·ÎÆÛƼ Àâ¾ÆÁִ³ð, ±×¸®°í ¸Þ¸ð¸®°ü¸®¸¦ À§ÇØ ::¿¬»êÀÚ·Î °´Ã¼¾ÈÀÇ ÇÔ¼ö¸¦ ¹Ù·Î ¸®ÅÏÇØÁÖ´Â Æã¼Ç 3°³¶ó°íº¸¿©Áý´Ï´Ù..
±Ùµ¥ class Member extends Module ¿¡¼ Member ¿¡ Module Ŭ·¡½º¸¦ ¹ÞÀ» ÀÌÀ¯°¡ ¹ºÁö ¸ð¸£°Ú³×¿ä..??
Module Ŭ·¡½ºÀÇ ¾²ÀÓÀÌ ÀüÇô ¾Èº¸À̴µ¥¿ä??
±×¸®°í ¿¹Á¦¸¦ MemberAdmin Ŭ·¡½º·Î º¸¿©Á̴ּµ¥ Â÷¶ó¸® MemberAdmin ¼Ò½º¸¦ ¿Ã·ÁµÎ¼ÌÀ¸¸é »ç¿ë¿¹Á¦°¡ Á»´õ ³´Áö ¾Ê¾ÒÀ»±î »ý°¢ÀÌ µì´Ï´Ù.. -


´ë¿¡Ã¢ 10-05-20 16:27
¼Ò½ºº¸±â
- ³ªÁß¿¡ DB°ü·Ã instance°°Àº memberŬ·¡½º ¿î¿µ¿¡ ÇÊ¿äÇÑ °ÍµéÀ» ´Ù¸¥ °´Ã¼¸¦ »ç¿ëÇÏ·Á´Â ¸ñÀûÀÌ ¾Æ´Ò±î ½Í³×¿ä~ ^^
-

ANS 10-05-20 16:41
¼Ò½ºº¸±â
-
À§ÀÇ Module Ŭ·¡½º¸¦ º¸¸é Á¦°¡ ¾Õ¼ ¾ð±ÞÇÑ 3°¡Áö ±â´ÉÀ» ó¸®Çϱâ À§ÇÔÀε¥..
Member¿¡ »ó¼Ó¹Þ¾Æ °´Ã¼¸¸µç´Ù°í ÇØ¼ ´Ù¸¥ °´Ã¼¿¡ ¾µ¼öÀÖ´Â ÇüŰ¡ ¾Æ´Ï±º¿ä^^''
-

php»ç¶ûÀÌ 10-05-20 20:48
¼Ò½ºº¸±â
-
ÀÌ ¸ðµâ »ç¿ëÀÇ ¸ñÀûÀÌ ¸ðµâŬ·¡½º¿¡¼ ´Ù¸¥Å¬·¡½ºµéÀ» ºÒ·¯¿Í¼ ¸ðµâŬ·¡½º¿¡¼ »ç¿ëÇÏ´Â°Ô ¾Æ´Ï°í
ƯÁ¤ °Ô½ÃÆÇ ÇÁ·Î±×·¥À» Ŭ·¡½º·Î ÀÛ¼ºÇϰųª, ȸ¿ø°ü·Ã Ŭ·¡½º¸¦ ¸¸µé¾î¼ »ç¿ëÇÒ¶§
»ç¿ëÇϱâ À§ÇØ ¸¸µé¾ú½À´Ï´Ù
°Ô½ÃÆÇ Ŭ·¡½º¿¡¼ »ç¿ëµÈ Ŭ·¡½ºµéÀ» ½±°Ô ÆÄ¾ÇÇÒ ¼ö ÀÖ°í
¾µ¸ð¾ø´Â Ŭ·¡½ºµéÀ» Çϳª¾¿Àº ¹Ì¸® ¼±¾ðÇØ ³õÁö ¾Ê¾Æµµ µÇ°í ¹¹ ¾Æ¹«Æ° ±×·±°ÅÁÒ ¤»¤»¤»
-


±×³× 10-05-20 23:17
¼Ò½ºº¸±â
-
º¸ÅëÀº
»ý¼ºÇÑ °´Ã¼¸¦ º¸°üÇϰí ÇÊ¿äÇÒ¶§ ²¨³» ¾²´Â ¿ëµµ·Î½á
½Ì±ÛÅæ À» Ȱ¿ëÇÑ static class ¸¦ ¸¸µé¾î º¯¼ö º¸°ü¼Ò ¸¦ ¸¸µéÁÒ
À§ÀÇ ¿¹Àú»óÀÇ module Àº ±×·± ±â´ÉÀ» Çϴ°Š°°Àºµ¥..
±×³É static À¸·Î µÎ°í.. subclasing ÇÏ¿© Ȱ¿ëÇÏÁö´Â ¾ÊÁÒ..
Hotel::rest('id', $obj);
Hotel::wake('id')->work();
ÀÌ·± ÇüÅ·Π´ÙÀ½ »ç¿ëÀ» À§ÇØ È£ÅÚ¿¡ Àç¿ì´Ù°¡
ÇÊ¿äÇÒ¶§ ±ú¿ö¼ ÀϽÃŰÁÒ..
¾Æ·¡¿¡ °Ô½ÃÆÇ, ȸ¿ø°ü¸® ¸»ÀÌ ³ª¿À´Ï Àá½Ã ¾ð±ÞÇÏÀÚ¸é
Module::set('member', new Member);
$board = new Board;
if(Module::get('member')->notLogged())
Module::get('member')->login();
¹¹ ÀÌ·±½ÄÀ̳ª..
$member = Module::get('member');
if($member->notLogged())
$member->login();
¶È°°Àº°Å´Ï...
¾Ïư ÀÌ·±½ÄÀ¸·Î º¯¼ö ¾È °®°í ´Ù³àµµ µÇ°í ¹¹ ±×·¸Áö¿ä..
Module::set('member', new Member);
$board = nw Board;
$board->action();
class Board {
....
public function action() {
.....
if(Module::get('member')->notLogged())
Module::get('member')->login();
.....
}
....
}
½ÇÁ¦·Î´Â ÀÌ·±½ÄÀ¸·Î »ç¿ëµÇ°ÚÁö¿ä.. -

php»ç¶ûÀÌ 10-05-21 09:18
¼Ò½ºº¸±â
-
³× ¸Â½À´Ï´Ù ±×·¸°Ô »ç¿ëÇØµµ µË´Ï´Ù 2°¡Áö¸¦ ´Ù Å×½ºÆ® ÇßÀ»¶§ °¡´ÉÇß½À´Ï´Ù
¿À·ÎÁö module Ŭ·¡½º¸¦ ±âÁØÀ¸·Î µî·ÏÇØ ³õ°í ´Ù¸¥ Ŭ·¡½º¿¡¼µµ ¹Ù·Î Ȱ¿ë°¡´ÉÇÕ´Ï´Ù -


±×³× 10-05-21 11:02
¼Ò½ºº¸±â
-
»ó¼ÓÇÒ ÀÌÀ¯°¡ ¾øÀ½¿¡µµ »ó¼ÓÀ» Çϰí ÀÖ´Ù... ¶ó´Â °ÍÀä..
±¦È÷ »ó¼Ó¹Þ¾Æ ¹«°Å¿öÁö´Ï±ñ¿ä
±×³É À§Ã³·³ ÀüÇô »ó¼Ó ÇÏÁö ¾Ê¾Æµµ ¿øÇÏ´Â °á°ú¹°À» ¸¸µé¾î ³¾ ¼ö Àִµ¥ ¸»ÀÌÁÒ..
¶ÇÇÑ »ó¼Ó ¹Þ¾ÆºÁ¾ß.. Module Ŭ·¡½º ³»ºÎÀÇ ¸Þ¼µåµéÀ» Ȱ¿ëÇÏ´Â °Íµµ ¾ø¾î º¸À̰í..
¹°·Ð »ó¼ÓÇØµµ »ó°ü¾ø½À´Ï´Ù¸¸.. ºÒÇÊ¿äÇÑ »ó¼ÓÀ̶ó´Â °ÍÀÌÁÒ
ASN ´ÔÀº ÀÌ Á¡À» ÁöÀûÇϰí Àִ°Š°°½À´Ï´Ù. -

php»ç¶ûÀÌ 10-05-24 14:14
¼Ò½ºº¸±â
-
³×
1. Module Ŭ·¡½º¸¦ ±âÁØÀ¸·Î Çϰųª
EX) $module = new Module;
$module->dbmysqli->
2. ´Ù¸¥ Ŭ·¡½º¿¡¼ Module Ŭ·¡½º¸¦ extends ÇÒ¶§
$this->dbmysqli ÀÌ·¸°Ô ¹Ù·Î È£ÃâÇϰųª
ÀÌ·¸°Ô __GET ¸ÅÁ÷ÇÔ¼ö¸¦ ÅëÇØ¼ Ȱ¿ëÇÏ´Â ÀåÁ¡ÀÌ ÀÖÁÒ
ÀÌ·¸°Ôµµ ¾µ ¼ö ÀÖ´ÙÀÔ´Ï´Ù Àß ¼³¸íÇß³ª ¸ô°ÚÁö¸¸µµ ¤¾¤¾¤¾
¾îÄÉ ¾²½Ã´ø

11121314151617181920


