<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://api.springnote.com">
  <identifier type="integer">365950</identifier>
  <title>07. &#52968;&#53944;&#47204;&#47084; (Controllers)</title>
  <relation_is_part_of type="integer">365932</relation_is_part_of>
  <date_modified type="datetime">2007-11-06T02:43:17Z</date_modified>
  <uri>http://cakephp.springnote.com/pages/365950</uri>
  <date_created type="datetime">2007-07-13T15:08:16Z</date_created>
  <source>&lt;div id="toc" style="BORDER-RIGHT: tan 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: tan 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; BORDER-LEFT: tan 1px solid; PADDING-TOP: 2px; BORDER-BOTTOM: tan 1px solid; BACKGROUND-COLOR: rgb(255,255,250)"&gt;
&lt;p&gt;&lt;strong&gt;&#47785;&#52264;&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_0" title="toc_0" class="external"&gt;7. &#52968;&#53944;&#47204;&#47084; (Controllers)&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_1" title="toc_1" class="external"&gt;7.1. &#52968;&#53944;&#47204;&#47084;&#46976;?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_2" title="toc_2" class="external"&gt;7.2. &#52968;&#53944;&#47204;&#47084; &#54632;&#49688;&lt;/a&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_3" title="toc_3" class="external"&gt;7.2.1. &#48624;&#50752;&#51032; &#44368;&#47448;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_4" title="toc_4" class="external"&gt;7.2.2. &#50976;&#51200; &#47532;&#45796;&#51060;&#47113;&#53944;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_5" title="toc_5" class="external"&gt;7.2.3. &#52968;&#53944;&#47204;&#47084; &#53084;&#48177;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_6" title="toc_6" class="external"&gt;7.2.4. &#44592;&#53440; &#50976;&#50857;&#54620; &#54632;&#49688;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_7" title="toc_7" class="external"&gt;7.3. &#52968;&#53944;&#47204;&#47084;&#51032; &#48320;&#49688;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/365950#toc_8" title="toc_8" class="external"&gt;7.4. &#52968;&#53944;&#47204;&#47084; &#54028;&#46972;&#48120;&#53552;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;7. &#52968;&#53944;&#47204;&#47084; (Controllers)&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_0" title="toc_0" class="anchor" id="toc_0" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;7.1. &#52968;&#53944;&#47204;&#47084;&#46976;?&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_1" title="toc_1" class="anchor" id="toc_1" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#45716; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51032; &#53945;&#51221; &#48512;&#48516;&#51032; &#47196;&#51649;&#51012; &#44288;&#47532;&#54616;&#44592; &#50948;&#54644; &#49324;&#50857;&#46108;&#45796;. &#44032;&#51109; &#51068;&#48152;&#51201;&#51004;&#47196; &#45800;&#51068; &#47784;&#45944;&#51032; &#47196;&#51649; &#44288;&#47532;&#47196; &#49324;&#50857;&#54620;&#45796;. &#50696;&#47484; &#46308;&#47732;, &#48708;&#46356;&#50724; &#49397;&#51032; &#51116;&#44256;&#44288;&#47532; &#49324;&#51060;&#53944;&#47484; &#44396;&#52629;&#54624; &#44221;&#50864;, VideoController (&#48708;&#46356;&#50724; &#52968;&#53944;&#47204;&#47084;)&#50752; RentalController (&#47116;&#53448; &#52968;&#53944;&#47204;&#47084;) &#47196;, &#44033;&#44033; &#48708;&#46356;&#50724;&#50752; &#47116;&#53448;&#51032; &#44288;&#47532;&#47484; &#54624; &#49688; &#51080;&#45796;. &lt;strong&gt;Cake &#50640;&#49436; &#52968;&#53944;&#47204;&#47084;&#47749;&#51008; &#54637;&#49345; &#48373;&#49688;&#54805;&#51060;&#45796;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51032; &#52968;&#53944;&#47204;&#47084;&#45716;, Cake &#51032; AppController &#53364;&#47000;&#49828;&#47484; &#54869;&#51109; (extend) &#54620; &#53364;&#47000;&#49828;&#51060;&#45796;. AppController &#45716; &#53076;&#50612; &#46972;&#51060;&#48652;&#47084;&#47532;&#51032; Controller &#53364;&#47000;&#49828;&#47484; &#54869;&#51109;&#54616;&#44256; &#51080;&#45796;. &#52968;&#53944;&#47204;&#47084; &#45236;&#50640;&#49436;&#45716; &#50529;&#49496;&#51012; &#54596;&#50836;&#54620; &#44163;&#47564; &#54252;&#54632;&#49884;&#53420; &#49688; &#51080;&#45796;. &#50529;&#49496;&#51008; &#48624;&#47484; &#54364;&#49884;&#54616;&#44592;&#50948;&#54644; &#50937; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#45236;&#50640; &#49324;&#50857;&#46104;&#45716; &#54632;&#49688;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;AppController &#53364;&#47000;&#49828;&#45716;, &lt;strong&gt;/app/app_controller.php&lt;/strong&gt; &#50640;&#49436; &#51221;&#51032;&#54624; &#49688; &#51080;&#44256;, &#50668;&#47084; &#52968;&#53944;&#47204;&#47084;&#50640; &#44277;&#50976;&#54616;&#45716; &#47700;&#49548;&#46300;&#47484; &#54252;&#54632;&#54620;&#45796;. &#44536; AppController &#51088;&#52404;&#46020; &#54364;&#51456; Cake &#46972;&#51060;&#48652;&#47084;&#47532;&#50640; &#54252;&#54632;&#46104;&#50612; &#51080;&#45716; Controller &#53364;&#47000;&#49828;&#47484; &#54869;&#51109;&#54620; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50529;&#49496;&#51008; &#52968;&#53944;&#47204;&#47084;&#51032; &#54616;&#45208;&#51032; &#44592;&#45733;&#51060;&#45796;. &#46308;&#50612;&#50728; &#54168;&#51060;&#51648;&#51032; &#47532;&#53272;&#49828;&#53944;&#44032; &#46972;&#50864;&#53944;&#47484; &#49444;&#51221;&#54616;&#44256; &#51080;&#45716; &#44221;&#50864;,&amp;nbsp;&#46356;&#49828;&#54056;&#52376;&#50640; &#51032;&#54644; &#51088;&#46041;&#51201;&#51004;&#47196; &#49892;&#54665;&#46108;&#45796;. &#48708;&#46356;&#50724; &#44288;&#47532; &#50696;&#51228;&#47196; &#46104;&#46028;&#50500; &#44032;, VideoController &#45716; view(), rent(), search() &#50529;&#49496;&#51060; &#54596;&#50836;&#54624; &#44163;&#51060;&#45796;. &#52968;&#53944;&#47204;&#47084;&#45716; /app/controllers/videos_controller.php &#45236;&#50640; &#51080;&#51004;&#47728;, &#50500;&#47000;&#50752; &#44057;&#51008; &#50529;&#49496;&#51012; &#54252;&#54632;&#54616;&#44256; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;class VideosController extends AppController&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function view($id)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&#50529;&#49496;&#51032; &#47196;&#51649;&#51008; &#50668;&#44592;&#50640;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function rent($customer_id, $video_id)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&#50529;&#49496;&#51032; &#47196;&#51649;&#51008; &#50668;&#44592;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function search($query)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&#50529;&#49496;&#51032; &#47196;&#51649;&#51008; &#50668;&#44592;...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;
&#51060;&#47084;&#54620; &#50529;&#49496;&#50640;&#45716;, &#50500;&#47000;&#50752; &#44057;&#51008; URL &#50696;&#47196; &#51217;&#49549;&#54624; &#49688; &#51080;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;a href="http://www.example.com/videos/view/253"&gt;http://www.example.com/videos/view/253&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.example.com/videos/rent/5124/0-235253"&gt;http://www.example.com/videos/rent/5124/0-235253&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.example.com/videos/search/hudsucker+proxy" title="http://www.example.com/videos/search/hudsucker+proxy" class="external"&gt;http://www.example.com/videos/search/hudsucker+proxy&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#54168;&#51060;&#51648;&#46308;&#51008; &#50612;&#46523;&#44172; &#48372;&#50668;&#51648;&#45716;&#44032;? &#44033;&#44033;&#51032; &#50529;&#49496;&#50640; &#45824;&#54644; &#48624;&#47484; &#51221;&#51032;&#54644;&#50556;&#54620;&#45796; -&amp;nbsp;&#51060;&#50640; &#44288;&#54620; &#45236;&#50857;&#51008; &#45796;&#51020; &#51109;&#51012; &#48372;&#47732; &#46104;&#44192;&#51648;&#47564;, &#44228;&#49549;&#54644;&#49436; &#51060; &#51109;&#51012; &#48372;&#44592; &#48148;&#46976;&#45796;. &#44228;&#49549;&#46104;&#45716; &#49465;&#49496;&#50640;&#49436;&#45716; Cake &#51032; &#52968;&#53944;&#47204;&#47084;&#47484; &#50612;&#46523;&#44172; &#54876;&#50857;&#54616;&#45716;&#51648; &#48372;&#50668;&#51456;&#45796;. &#53945;&#55176;, &#45936;&#51060;&#53552;&#47484; &#48624;&#50640; &#50612;&#46523;&#44172; &#51204;&#45804;&#54616;&#45716;&#51648;, &#50976;&#51200;&#47484; &#50612;&#46523;&#44172; &#47532;&#45796;&#51060;&#47113;&#53944; &#54616;&#45716;&#51648; &#46321;&#50640; &#45824;&#54644;&#49436; &#48176;&#50868;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;7.2. &#52968;&#53944;&#47204;&#47084; &#54632;&#49688;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_2" title="toc_2" class="anchor" id="toc_2" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;&#51060; &#49465;&#49496;&#50640;&#49436;&#45716; Cake &#51032; &#52968;&#53944;&#47204;&#47084;&#50640;&#49436; &#51088;&#51452; &#49324;&#50857;&#54616;&#45716; &#54632;&#49688;&#50640; &#45824;&#54644;&#49436; &#45796;&#47336;&#51648;&#47564;, &#51204;&#52404; &#47112;&#54140;&#47088;&#49828;&#47484; &#48372;&#44592; &#50948;&#54644;&#49440; &lt;a href="http://api.cakephp.org/" title="http://api.cakephp.org" class="external"&gt;http://api.cakephp.org&lt;/a&gt; &#47484; &#51060;&#50857;&#54644;&#50556; &#54616;&#45716; &#44163;&#51012; &#51452;&#51032;&#54620;&#45796;.&lt;/p&gt;
&lt;h5&gt;7.2.1. &#48624;&#50752;&#51032; &#44368;&#47448;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_3" title="toc_3" class="anchor" id="toc_3" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;set&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$var&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;mixed &lt;em class="em"&gt;$value&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#54632;&#49688;&#45716; &#52968;&#53944;&#47204;&#47084;&#50640;&#49436; &#48624;&#47196; &#45936;&#51060;&#53552;&#47484; &#51204;&#45804;&#54616;&#45716;&amp;nbsp;&#51452;&#50836;&#54620; &#48169;&#48277;&#51060;&#45796;. &#54616;&#45208;&#51032; &#44050;, &#48176;&#50676; &#51204;&#52404;&#46321;, &#50612;&#46500; &#44163;&#46020; &#51204;&#45804;&#54644; &#51460; &#49688; &#51080;&#45796;. set() &#51004;&#47196;&amp;nbsp; &#54620;&#48264; &#49444;&#51221;&#54616;&#47732;, &#48624;&#50504;&#50640;&#49436; &#48320;&#49688;&#47484; &#49324;&#50857;&#54624; &#49688; &#51080;&#44172; &#46108;&#45796;. &#52968;&#53944;&#47204;&#47084;&#50640; set('color', 'blue') &#47484; &#49892;&#54665;&#54616;&#47732;, &#48624;&#45236;&#50640;&#49436; $color &#48320;&#49688;&#47484; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;validateErrors&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51200;&#51109;&#50640; &#49892;&#54056;&#54616;&#47732; &#50640;&#47084;&#47700;&#49884;&#51648;&#47484; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;validate&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47784;&#45944;&#51032; &#44160;&#51613; &#47344;&#50640; &#44592;&#52488;&#54616;&#50668;, &#47784;&#45944;&#51032; &#45936;&#51060;&#53552;&#47484; &#44160;&#51613;&#54620;&#45768;&#45796;. &#44160;&#51613;(validation)&#50640; &#44288;&#54644;&#49436;&#45716;, "12. Data Validation" &#51109; &#47484; &#52280;&#51312;&#54616;&#44592; &#48148;&#46976;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;render&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$action&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="em"&gt;$layout&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="em"&gt;$file&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#51032; &#50529;&#49496; &#47560;&#51648;&#47561;&#50640; render() &#44032; &#51088;&#46041; &#54840;&#52636;&#46104;&#44256;, &#50529;&#49496;&#47749;&#50640; &#44592;&#52488;&#54644; &#48624;&#44032; &#51088;&#46041; &#47116;&#45908;&#47553;&#46104;&#44592; &#46412;&#47928;&#50640;, &#51060; &#54632;&#49688;&#47484; &#50424; &#51068;&#51008; &#44536;&#45796;&#51648; &#47566;&#51648; &#50506;&#51012; &#44163;&#51060;&#45796;. &#45796;&#47480; &#48169;&#49885;&#51004;&#47196;,&amp;nbsp;&#52968;&#53944;&#47204;&#47084; &#47196;&#51649;&#51032; &#50612;&#46500; &#49884;&#51216;&#50640;&#49436;&#46972;&#46020; &#48624;&#47484; &#47116;&#45908;&#47553;&#54616;&#44592; &#50948;&#54644; &#51060; &#54632;&#49688;&#47484; &#54840;&#52636;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;7.2.2. &#50976;&#51200; &#47532;&#45796;&#51060;&#47113;&#53944;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_4" title="toc_4" class="anchor" id="toc_4" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;redirect&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$url&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#54632;&#49688;&#47196; &#51060;&#46041;&#54624; &#51109;&#49548;&#47484; &#51648;&#51221;&#54624; &#49688; &#51080;&#45796;. Cake &#51032; &#45236;&#48512; URL &#51060;&#45208;, &#50756;&#51204;&#54620; URL (http://...) &#51012; &#51648;&#51221;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;flash&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$message&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;string &lt;em class="em"&gt;$url&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="em"&gt;$pause&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#54632;&#49688;&#45716;, $message &#47484; $pause &#52488;&#46041;&#50504; flash &#47112;&#51060;&#50500;&#50883; ( &lt;strong&gt;app/views/layouts/flash.thtml&lt;/strong&gt; &#50640;&#49436; &#52286;&#51012; &#49688; &#51080;&#45796;. ) &#49549;&#50640;&#49436;&amp;nbsp; &#48372;&#50668;&#51452;&#44256;,&amp;nbsp;&#50976;&#51200;&#44032; &#51648;&#51221;&#54620; $url &#47196; &#47532;&#45796;&#51060;&#47113;&#53944;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cake &#51032; redirect() &#50752; flash() &#54632;&#49688;&#45716; exit() &#54840;&#52636;&#51012; &#54252;&#54632;&#54616;&#51648; &#50506;&#45716;&#45796;. &#47564;&#50557; redirect() &#46608;&#45716; flash() &#54620; &#54980; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#51012; &#47688;&#52628;&#44256; &#49910;&#51012; &#44221;&#50864;, &#44536; &#54980;&#50640; &#51593;&#44033; exit() &#54840;&#52636;&#51012; &#51649;&#51217; &#54644;&#50556; &#54620;&#45796;. exit() &#48372;&#45796; &#45796;&#47480; &#44050;&#51012; &#47532;&#53556;&#48155;&#44256; &#49910;&#51012; &#49688; &#51080;&#45716;&#45936;, &#44536;&#44163;&#51008; &#44536; &#49345;&#54889;&#50640; &#46384;&#46972; &#45796;&#47476;&#45796;. (&#50696;&#47484; &#46308;&#50612;, &#49892;&#54665;&#51012; &#50948;&#54620; &#53084;&#48177;&#51060; &#54596;&#50836;&#54624; &#44221;&#50864;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;7.2.3. &#52968;&#53944;&#47204;&#47084; &#53084;&#48177;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_5" title="toc_5" class="anchor" id="toc_5" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;Cake &#51032; &#52968;&#53944;&#47204;&#47084;&#50640;&#45716; &#47751;&#44032;&#51648; &#53084;&#48177;&#51060; &#51080;&#51004;&#47728;, &#52968;&#53944;&#47204;&#47084;&#51032; &#51473;&#50836;&#54620; &#54632;&#49688; &#51204;&#54980;&#50640; &#47196;&#51649;&#51012; &#49341;&#51077;&#54624; &#49688; &#51080;&#45796;. &#51060; &#44592;&#45733;&#51012; &#49324;&#50857;&#54616;&#47140;&#47732; &#52968;&#53944;&#47204;&#47084; &#45236;&#50640;&#49436; &#45796;&#51020; &#54632;&#49688;&#46308;&#51012; &#51221;&#51032;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;beforeFilter&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084; &#50529;&#49496; &#51204;&#50640; &#47588;&#48264; &#54840;&#52636;&#46108;&#45796;. &#49332;&#50500;&#51080;&#45716; &#49464;&#49496;&#51032; &#52404;&#53356;, &#50669;&#54624; &#52404;&#53356; &#46321;&#50640; &#54876;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;afterFilter&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084; &#50529;&#49496; &#54980;&#50640; &#47588;&#48264; &#54840;&#52636;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;beforeRender&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#51032; &#47196;&#51649;&#51060; &#45149;&#45208;&#44256; &#48624;&#44032; &#47116;&#45908;&#47553;&#46104;&#44592; &#51649;&#51204;&#50640; &#54840;&#52636;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h5&gt;7.2.4. &#44592;&#53440; &#50976;&#50857;&#54620; &#54632;&#49688;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_6" title="toc_6" class="anchor" id="toc_6" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h5&gt;
&lt;p&gt;&#51060; &#44163;&#46308;&#51008; Cake &#51032; &#44061;&#52404; &#53364;&#47000;&#49828;&#51032; &#54632;&#49688;&#51648;&#47564;, &#52968;&#53944;&#47204;&#47084;&#45236;&#50640;&#49436;&#46020; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;requestAction&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$url&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;array &lt;em class="em"&gt;$extra&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#54632;&#49688;&#45716; &#50612;&#45712; &#44275;&#50640;&#49436;&#46304; &#52968;&#53944;&#47204;&#47084;&#51032; &#50529;&#49496;&#51012; &#54840;&#52636;&#54624; &#49688; &#51080;&#44256;, &#47116;&#45908;&#47553;&#46108; &#48624;&#47484; &#48152;&#54872;&#54620;&#45796;. $url &#51008; Cake URL (/controllername/actionname/params) &#47196; &#51648;&#51221;&#54620;&#45796;. $extra &#48176;&#50676; &#51473;&#50640; 'return' &#53412;&#44032; &#54252;&#54632;&#46104;&#50612; &#51080;&#45716; &#44221;&#50864;, &#52968;&#53944;&#47204;&#47084; &#50529;&#49496;&#51012; &#50948;&#54644;&#49436; AutoRender &#44032; &#51088;&#46041;&#51004;&#47196; true &#47196; &#49444;&#51221;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;requestAction &#51012; &#49324;&#50857;&#54616;&#47732; &#45796;&#47480; &#52968;&#53944;&#47204;&#47084; &#50529;&#49496;&#51004;&#47196;&#48512;&#53552; &#45936;&#51060;&#53552;&#47484; &#52712;&#46301;&#54616;&#44144;&#45208;,&amp;nbsp;&#52968;&#53944;&#47204;&#47084;&#48512;&#53552; &#50756;&#51204;&#55176; &#47116;&#45908;&#47553;&#46108; &#48624;&#47484; &#52712;&#46301;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47676;&#51200;, &#45936;&#51060;&#53552;&#45716; &#52968;&#53944;&#47204;&#47084;&#50640;&#49436; &#44036;&#45800;&#54620; &#48169;&#48277;&#51004;&#47196; &#50619;&#51012; &#49688; &#51080;&#45796;. &#45936;&#51060;&#53552;&#47484; &#52712;&#46301;&#54616;&#44592; &#50896;&#54616;&#45716; &#48624;&#50640;&#49436; requestAction&#47484; &#49324;&#50857;&#54616;&#44592;&#47564; &#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// &#44036;&#45800;&#54620; &#52968;&#53944;&#47204;&#47084;&lt;br /&gt;
&lt;br /&gt;
class UsersController extends AppController&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function getUserList()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $this-&amp;gt;User-&amp;gt;findAll();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#49884;&#49828;&#53596;&#51032; &#50976;&#51200;&amp;nbsp;&#47785;&#47197;&#51012; &#54364;&#49884;&#54616;&#45716; &#44036;&#45800;&#54620; &#53580;&#51060;&#48660;&#51012; &#51089;&#49457;&#54644;&#50556; &#54620;&#45796;. &#45796;&#47480; &#52968;&#53944;&#47204;&#47084;&#50640; &#44057;&#51008; &#53076;&#46300;&#47484; &#48152;&#48373;&#54616;&#47140;&#47732;, requestAction() &#51012; &#49324;&#50857;&#54616;&#50668; UsersController::getUserList() &#47196;&#48512;&#53552; &#45936;&#51060;&#53552;&#47484; &#52712;&#46301;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;class ProductsController extends AppController&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function showUserProducts()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;set('users', $this-&amp;gt;requestAction('/users/getUserList'));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &#48624;&#51032; $users &#48320;&#49688;&#50640;&#45716;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // UsersController::getUserList() &#47196;&#48512;&#53552;&#51032; &#45936;&#51060;&#53440;&#44032; &#46308;&#50612;&#44036;&#45796;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#50640;&#49436; &#44256;&#51221;&#51201;&#51060;&#51648; &#50506;&#51008; &#50836;&#49548; (element) &#44032; &#50668;&#47084;&#48264; &#54596;&#50836;&#54624; &#44221;&#50864;, requestAction() &#51012; &#51060;&#50857;&#54644; &#48624; &#49549;&#50640; &#51452;&#51077; (inject) &#44032;&#45733;&#54616;&#45796;. &#45800;&#51648; &#45936;&#51060;&#53552;&#47484; UsersController::getUserList &#47196; &#48155;&#45716; &#44163; &#49104;&#47564; &#50500;&#45768;&#46972;, &#44536; &#50529;&#49496; &#50504;&#50640;&#49436; &#47116;&#45908;&#47553;&#46108; &#48624; (&#53580;&#51060;&#48660; &#54805;&#53468;&#44032; &#46104;&#50612; &#51080;&#45716;)&amp;nbsp;&#47484; &#52712;&#46301;&#54616;&#44256; &#49910;&#45796;&#44256; &#54616;&#51088;. &#51060;&#47111;&#44172; &#54616;&#47732; &#53076;&#46300;&#51032; &#48152;&#48373;&#50630;&#51060; &#54644;&#44208;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;class ProgramsController extends AppController&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function viewAll()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $this-&amp;gt;set('userTable', $this-&amp;gt;requestAction('/users/getUserList', array('return')));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &#51060;&#51228;, &#51060; &#50529;&#49496;&#51032; &#48624; &#45236;&#50640;&#49436; $userTable &#47484; &#48520;&#47084;&#45236;&#44256;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // /users/getUserList &#50640;&#49436; &#51060;&#50857;&#54624; &#49688; &#51080;&#45716; &#47116;&#45908;&#47553;&#46108; &#48624;&#47484;&amp;nbsp; echo &#54624; &#49688; &#51080;&#45796;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;requestAction()&amp;nbsp;&#51012; &#49324;&#50857;&#54616;&#50668; &#54840;&#52636;&#46108; &#50529;&#49496;&#51008; &#48712; &#47112;&#51060;&#50500;&#50883;&#51012; &#49324;&#50857;&#54616;&#50668; &#47116;&#45908;&#47553;&#46104;&#45716; &#44163;&#50640; &#51452;&#51032;&#54620;&#45796;. &#51060;&#50640; &#51032;&#54644; &#47112;&#51060;&#50500;&#50883;&#45236;&#50640; &#47112;&#51060;&#50500;&#50883;&#51060; &#54364;&#49884;&#46104;&#45716; &#50948;&#54744;&#51012; &#44145;&#51221;&#54616;&#51648; &#50506;&#50500;&#46020; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;requestAction() &#54632;&#49688;&#45716; AJAX &#47484; &#49324;&#50857;&#54624; &#46412;&#50640;&#46020; &#50976;&#50857;&#54616;&#45796;. AJAX &#50629;&#45936;&#51060;&#53944; &#51473;&#51060;&#45208; &#51204;&#50640;, &#51089;&#51008; &#48624; &#50836;&#49548;&#47484; &#52636;&#47141;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li class="first"&gt;&lt;strong&gt;log&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;string &lt;em class="em"&gt;$message&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;int &lt;em class="em"&gt;$type = LOG_ERROR&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50937; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&#45236;&#50640;&#49436; &#51068;&#50612;&#45208;&#45716; &#50668;&#47084;&#44032;&#51648; &#51060;&#48292;&#53944;&#47484; &#51060; &#54632;&#49688;&#47484; &#51060;&#50857;&#54644; &#47196;&#44613; &#54624; &#49688; &#51080;&#45796;. &#47196;&#44536;&#45716; Cake &#51032; &lt;strong&gt;/tmp&lt;/strong&gt; &#46356;&#47113;&#53664;&#47532; &#45236;&#50640; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;$type &#51060; PHP &#49345;&#49688; LOG_DEBUG &#50752; &#44057;&#51008; &#44221;&#50864;, &#46356;&#48260;&#44536; &#47700;&#49884;&#51648;&#44032; &#47196;&#44536;&#50640; &#44592;&#47197;&#46108;&#45796;. &#44536;&#50808; &#53440;&#51077;&#51008; &#50640;&#47084;&#47700;&#49884;&#51648;&#44032; &#44592;&#47197;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// &#52968;&#53944;&#47204;&#47084; &#45236;&#48512;&#50640;&#49436; log() &#47196; &#51217;&#49549;&#51012; &#44592;&#47197;&#54624; &#49688; &#51080;&#45796;:&lt;br /&gt;
&lt;br /&gt;
$this-&amp;gt;log('&#44221;&#44256;! &#44221;&#44256;!');&lt;br /&gt;
&lt;br /&gt;
//&#51217;&#49549; &#47196;&#44536; :&lt;br /&gt;
&lt;br /&gt;
06-03-28 08:06:22 Error: &#44221;&#44256;! &#44221;&#44256;!&lt;br /&gt;
&lt;br /&gt;
$this-&amp;gt;log("{$_SESSION['user']} &#45784;&#51060; &#47196;&#44536;&#51064;&#54664;&#49845;&#45768;&#45796;.", LOG_DEBUG);&lt;br /&gt;
&lt;br /&gt;
//&#51217;&#49549; &#47196;&#44536; :&lt;br /&gt;
&lt;br /&gt;
06-03-28 08:06:22 Debug: &#48148;&#48708;&#45784;&#51060; &#47196;&#44536;&#51064;&#54664;&#49845;&#45768;&#45796;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;postConditions&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;array &lt;em class="em"&gt;$data&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;$this-&amp;gt;data &#50640; &#51204;&#45804;&#54644;&#51460; &#49688; &#51080;&#45716; &#47700;&#49548;&#46300;&#47196;, &#47784;&#45944;&#51032; conditions &#48176;&#50676;&#51012; &#45796;&#49884; &#48152;&#54872;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50696;&#47484; &#46308;&#50612;, person &#51032; &#44160;&#49353; &#54268;&#51060; &#51080;&#45796;&#44256; &#54616;&#51088;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// app/views/people/search.thtml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php echo $html-&amp;gt;input('Person/last_name'); ?&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&#51060; &#50836;&#49548;&#47484; &#54268;&#50640; &#51204;&#49569;&#54616;&#47732;, $this-&amp;gt;data &#48176;&#50676;&#50640;&#45716; &#45796;&#51020;&#44284; &#51077;&#47141;&#46108;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [Person] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [last_name] =&amp;gt; Anderson&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&#51060; &#46412;&#50640;, postConditions() &#51012; &#49324;&#50857;&#54616;&#50668; &#45936;&#51060;&#53552;&#47484; &#47784;&#45944;&#45236;&#50640; &#49324;&#50857;&#54624; &#49688; &#51080;&#45716; &#54805;&#53468;&#47196; &#47564;&#46304;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// app/controllers/people_controller.php:&lt;br /&gt;
&lt;br /&gt;
$conditions = $this-&amp;gt;postConditions($this-&amp;gt;data);&lt;br /&gt;
&lt;br /&gt;
// &#45796;&#51020;&#44284; &#44057;&#51008; &#48176;&#50676;&#51012; &#49373;&#49457;&#54620;&#45796;:&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [Person.last_name] =&amp;gt; Anderson&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
// &#51060;&#44163;&#51008; &#47784;&#45944;&#51032; find &#51312;&#51089;&#50640; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;:&lt;br /&gt;
&lt;br /&gt;
$this-&amp;gt;Person-&amp;gt;findAll($conditions);&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;7.3. &#52968;&#53944;&#47204;&#47084;&#51032; &#48320;&#49688;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_7" title="toc_7" class="anchor" id="toc_7" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#45236;&#51032; &#47751;&#44032;&#51648; &#53945;&#48324;&#54620; &#48320;&#49688;&#47484; &#51312;&#51089;&#54616;&#47732;, Cake &#51032;&amp;nbsp; &#47751;&#44032;&#51648;&#51032; &#52628;&#44032; &#44592;&#45733;&#51012; &#51060;&#50857;&#54624; &#49688; &#51080;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$name&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PHP 4 &#45716; &#54788;&#51116; &#53364;&#47000;&#49828;&#47749;&#51012; &#45209;&#53440;&#54364;&#44592;&#48277;&#51004;&#47196;&amp;nbsp; &#48152;&#54872;&#54644;&#51452;&#51648; &#50506;&#45716;&#45796;. &#51060; &#47928;&#51228;&#44032; &#49373;&#44220;&#51012; &#44221;&#50864;, &#51060; &#48320;&#49688;&#50640; &#48148;&#47480; &#45209;&#53440;&#54364;&#44592;&#48277;&#51032; &#51060;&#47492;&#51012; &#49444;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$uses&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#50640; &#54616;&#45208; &#48372;&#45796; &#47566;&#51008; &#50668;&#47084; &#47784;&#45944;&#51012; &#49324;&#50857;&#54616;&#45716;&#44032;? &#50696;&#47484; &#46308;&#47732;, FragglesController &#45716; &#51088;&#46041;&#51004;&#47196; $this-&amp;gt;Fraggle &#47484; &#47196;&#46300;&#54616;&#51648;&#47564;, $this-&amp;gt;Smurf &#50752; &#44057;&#51060; &#50529;&#49464;&#49828;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864; &#52968;&#53944;&#47204;&#47084;&#50640; &#45796;&#51020;&#44284; &#44057;&#51060; &#51077;&#47141;&#54620;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;var $uses = array('Fraggle','Smurf');&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;
&#51648;&#44552;&#44620;&#51648; &#51088;&#46041;&#51004;&#47196; &#49324;&#50857; &#54624; &#49688; &#51080;&#50632;&#45912; Fraggle &#47784;&#45944;&#46608;&#54620; $uses &#48176;&#50676;&#50640; &#54252;&#54632;&#49884;&#53020;&#50556; &#54616;&#45716; &#44163;&#51012; &#51452;&#51032;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$helpers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#48320;&#49688;&#47484; &#49324;&#50857;&#54616;&#47732;, &#48624;&#50640; &#49324;&#50857;&#54616;&#45716; &#54764;&#54140;&#44032; &#52968;&#53944;&#47204;&#47084;&#50640; &#47196;&#46300;&#46108;&#45796;. HTML &#54764;&#54140;&#45716; &#51088;&#46041;&#51004;&#47196; &#47196;&#46300;&#46104;&#51648;&#47564;, &#51060; &#48320;&#49688;&#47196; &#45796;&#47480; &#44163;&#46020; &#51648;&#51221;&#54624; &#49688; &#51080;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;var $helpers = array('Html','Ajax','Javascript');&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;
&#51060; &#48320;&#49688;&#47484; &#49324;&#50857;&#54616;&#45716; &#44221;&#50864;, Html &#54764;&#54140;&#46020; $helpers &#48176;&#50676;&#50640; &#54252;&#54632;&#49884;&#53020;&#50556; &#54620;&#45796;. &#48372;&#53685;&#51008; &#46356;&#54260;&#53944;&#47196; &#49324;&#50857;&#54624; &#49688; &#51080;&#51648;&#47564;, $helpers &#50640; &#54252;&#54632;&#49884;&#53412;&#51648; &#50506;&#51004;&#47732; &#48624;&#50640;&#49436; &#50640;&#47084; &#47700;&#49884;&#51648;&#44032; &#52636;&#47141;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$layout&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51060; &#52968;&#53944;&#47204;&#47084;&#50640; &#49324;&#50857;&#54616;&#44256; &#49910;&#51008; &#47112;&#51060;&#50500;&#50883;&#51032; &#51060;&#47492;&#51012; &#51060; &#48320;&#49688;&#50640; &#51648;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$autoRender&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;false&lt;/strong&gt; &#47196; &#49444;&#51221;&#54616;&#47732; &#51088;&#46041; &#47116;&#45908;&#47553;&#51012; &#47688;&#52632;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$beforeFilter&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50529;&#49496;&#51060; &#54840;&#52636;&#46112; &#46412;&#47560;&#45796; (&#46608;&#45716;, &#50529;&#49496; &#53076;&#46300;&#44032; &#49892;&#54665;&#46104;&#45716; &#51204;&#50640;)&amp;nbsp; &#50612;&#46500; &#53076;&#46300;&#47484; &#49892;&#54665;&#54616;&#44256; &#49910;&#51008; &#44221;&#50864; $beforeFilter &#47484; &#49324;&#50857;&#54620;&#45796;. &#51060; &#44592;&#45733;&#51008; &#51217;&#44540; &#51228;&#50612; (AC) &#50640; &#45824;&#45800;&#55176; &#54200;&#47532;&#54616;&#45796; - &#50529;&#49496;&#51060; &#51068;&#50612;&#45208;&#44592; &#51204;&#50640; &#50976;&#51200;&#51032;&amp;nbsp; &#44428;&#54620;&#51012; &#52404;&#53356;&#54624; &#49688; &#51080;&#45796;. &#49892;&#54665;&#54616;&#44256; &#49910;&#51008; &#52968;&#53944;&#47204;&#47084;&#51032; &#50529;&#49496;&#51012; &#48176;&#50676;&#51012; &#49324;&#50857;&#54616;&#50668; &#51060; &#48320;&#49688;&#50640; &#49444;&#51221;&#54620;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;class ProductsController extends AppController&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var $beforeFilter = array('checkAccess');&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function checkAccess()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&#50976;&#51200;&#51032; ID&#47484; &#52404;&#53356;&#54616;&#50668; &#50529;&#49464;&#49828;&#54616;&#45716; &#47196;&#51649;&#51008; &#50668;&#44592;&#50640;....&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function index()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&#51060; &#50529;&#49496;&#51060; &#54840;&#52636;&#46104;&#47732;, checkAccess() &#44032; &#52376;&#51020; &#54840;&#52636;&#46108;&#45796;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;$components&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;$helpers &#50752; $uses &#50752;&amp;nbsp; &#44057;&#51060;, &#54596;&#50836;&#54620; &#52980;&#54252;&#45324;&#53944;&#47484; &#48520;&#47084; &#50732; &#46412; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796; :&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;var $components = array('acl');&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;7.4. &#52968;&#53944;&#47204;&#47084; &#54028;&#46972;&#48120;&#53552;&lt;sup class="tocAnchorContainer"&gt;&lt;a href="/pages/365950#toc_8" title="toc_8" class="anchor" id="toc_8" &gt;#&lt;/a&gt;&lt;/sup&gt;&lt;/h4&gt;
&lt;p&gt;&#52968;&#53944;&#47204;&#47084;&#51032; &#54028;&#46972;&#48120;&#53552;&#45716; Cake &#52968;&#53944;&#47204;&#47084;&#51032; &lt;strong&gt;$this-&amp;gt;params&lt;/strong&gt; &#47196; &#50529;&#49464;&#49828;&#44032;&#45733;&#54616;&#45796;. &#51060; &#48320;&#49688;&#45716;, &#52968;&#53944;&#47204;&#47084;&#50640; &#45936;&#51060;&#53440;&#47484; &#51077;&#47141;&#54616;&#44256;, &#54788;&#51116;&#51032; &#47532;&#53272;&#49828;&#53944;&#50640; &#44288;&#54620; &#51221;&#48372;&#47196; &#50529;&#49464;&#49828;&#54624; &#49688; &#51080;&#44172; &#54620;&#45796;. $this-&amp;gt;params &#51032; &#44032;&#51109; &#51068;&#48152;&#51201;&#51064; &#49324;&#50857; &#48169;&#48277;&#51008;, POST &#46608;&#45716; GET &#48169;&#49885;&#50640; &#51032;&#54644; &#52968;&#53944;&#47204;&#47084;&#50640; &#45336;&#44200;&#48155;&#51008; &#51221;&#48372;&#47196; &#50529;&#49464;&#49828; &#54620;&#45796;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;data&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#45716;, HTML &#54764;&#54140;&#51032; &#54268;&#50640; &#51032;&#54644; &#52968;&#53944;&#47204;&#47084;&#50640; &#51204;&#49569;&#46108; POST &#45936;&#51060;&#53440;&#47484; &#45796;&#47344; &#46412; &#49324;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// &#54268;&#51032; &#51089;&#49457;&#51012; &#50948;&#54644; HTML Helper &#44032; &#49324;&#50857;&#46108;&#45796;.&lt;br /&gt;
&lt;br /&gt;
$html-&amp;gt;input('User/first_name');&lt;br /&gt;
&lt;br /&gt;
// HTML &#51060; &#54364;&#49884;&#46104;&#47732; &#45796;&#51020;&#44284; &#44057;&#45796; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input name="data[User][first_name]" value="" type="text" /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// POST &#47196; &#51204;&#49569;&#46104;&#47732;&lt;br /&gt;
// $this-&amp;gt;data['User']['first_name'] &#50504;&#50640; &#45208;&#53440;&#45212;&#45796;&lt;br /&gt;
&lt;br /&gt;
Array&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [data] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [User] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [username] =&amp;gt; mrrogers&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [password] =&amp;gt; myn3ighb0r&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [first_name] =&amp;gt; Mister&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [last_name] =&amp;gt; Rogers&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;br /&gt;
)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['form']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47784;&#46304; &#54268;&#51032; POST &#45936;&#51060;&#53552;&#44032; &#50668;&#44592;&#50640; &#51200;&#51109;&#46108;&#45796;. $ _FILES &#50640; &#51080;&#45716; &#51221;&#48372;&#46020; &#54252;&#54632;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['bare']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54788;&#51116;&#51032; &#47112;&#51060;&#50500;&#50883;&#51060; &#45432;&#52636;(bare)&#51060;&#46972;&#47732;, '1' &#51060; &#51077;&#47141;&#46108;&#45796;. &#50500;&#45768;&#47732;, '0' &#51060; &#51077;&#47141;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['ajax']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54788;&#51116;&#51032; &#47112;&#51060;&#50500;&#50883;&#51060; ajax &#46972;&#47732;, '1' &#51060; &#51077;&#47141;&#46108;&#45796;. &#50500;&#45768;&#47732;, '0' &#51060; &#51077;&#47141;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['controller']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47532;&#53272;&#49828;&#53944;&#47484; &#45796;&#47336;&#45716; &#54788;&#51116;&#51032; &#52968;&#53944;&#47204;&#47084;&#47749;&#51060; &#46308;&#50612; &#44036;&#45796;. &#50696;&#47484; &#46308;&#47732;, URL /posts/view/1 &#51060; &#54840;&#52636;&#46108; &#44221;&#50864;, $this-&amp;gt;params['controller'] &#45716; "posts" &#44032; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['action']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47532;&#53272;&#49828;&#53944;&#47484; &#45796;&#47336;&#45716; &#54788;&#51116;&#51032; &#50529;&#49496;&#47749;&#51060; &#46308;&#50612; &#44036;&#45796;. &#50696;&#47484; &#46308;&#47732;, URL /posts/view/1 &#51060; &#54840;&#52636;&#46108; &#44221;&#50864;, $ this-&amp;gt;params['action'] &#51008;, "view" &#44032; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['pass']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54788;&#51116; &#47532;&#53272;&#49828;&#53944;&#50640; &#45336;&#44200; &#48155;&#51008; GET &#53244;&#47532;&#44032; &#46308;&#50612; &#44036;&#45796;. &#50696;&#47484; &#46308;&#47732;, URL /posts/view/?var1=3&amp;amp;var2=4 &#44032; &#54840;&#52636;&#46108; &#44221;&#50864;, $this-&amp;gt;params['pass'] &#45716; "?var1=3&amp;amp;var2=4" &#44032; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;$this-&amp;gt;params['url']&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47532;&#53272;&#49828;&#53944;&#46108; &#54788;&#51116;&#51032; URL&#51060;, &#52712;&#46301;&#54620; &#53412;-&#44050;(key-value pairs)&#44284; &#54632;&#44760; &#46308;&#50612; &#44036;&#45796;. &#50696;&#47484; &#46308;&#47732;, URL /posts/view/?var1=3&amp;amp;var2=4 &#44032; &#54840;&#52636;&#46108; &#44221;&#50864;, $this-&amp;gt;params['url'] &#45716; &#45796;&#51020;&#44284; &#44057;&#45796;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;[url] =&amp;gt; Array&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [url] =&amp;gt; posts/view&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [var1] =&amp;gt; 3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [var2] =&amp;gt; 4&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/li&gt;
&lt;/ol&gt;
</source>
  <rights nil="true"></rights>
  <creator>http://ainoai.myid.net/</creator>
  <contributor_modified>http://ainoai.myid.net/</contributor_modified>
  <version type="integer">267</version>
  <tags>&#52968;&#53944;&#47204;&#47084;,cakephp,controller,&#53084;&#48177;,callback</tags>
</page>
