yPHPt[[N ..
752:750
07/01/13 01:19:54
©ČšµÜµ½B
Rg[ĢvarĶsvA
ANVÅ
$this->Mona = $this->backend->getManager('Mona');
$neko = $this->Toppage->giko();
$this->af->setApp('neko', $neko);
Åoܵ½B
EthnaĢhL
gAVüčźÄÄŖ©čĆē¢ęEEE
753:721
07/01/13 13:48:05
>>752
>Rg[ĢvarĶsvA
¾ĖB2.3Č~Ķ$managerošg¤KvŖ³ČĮÄé©ēB
ManageršÄŃo·ū@ĶōĀ© éŻ½¢¾ÆĒA
ī{IÉ©Ŗą>>750ĘÆ¶ū@ÅāĮÄéB
ĘAPHP5¾ĘAppManager/AppObject/ActionClass/ViewClassÅĶ
$this->backend->getManager('Mona')->giko();
ÅsÆéB2iKɵČÄąIKB
©ŖĶ
$this->backend->getManager('Mona')ĮÄ·¢ĢŖČĢÅAćLĢ4ĀĢ
NXSÉgetM()Ę¢¤\bhšĒĮµÄ
$this->getM('Mona')
Ę©µÄéB
754:721
07/01/13 13:58:50
>>752
ĘAANVÅ$this->MonaĮÄāĮÄMonaoÉ
ManageršŪ¶µÄéŻ½¢Čń¾ÆĒAEthnaĢgetManagerĶ
iĘ¢¤ęčFactory?jźxnewµ½ManagerĶg¢ńµÄźéĢÅ
½xągetManagerµÄOKBViewÅąActionÅąÆ¶CX^Xš
gĮÄźéB
755:nobody³ń
07/01/14 11:09:33
ČńÅPHPĮÄ.Zq¶įČÄ->Zqɵ½ń¾ė¤Č
t[[NgĮÄéĘą¤->«Üé̽éĵ太Ȣ
756:nobody³ń
07/01/14 11:31:05
>>755
>ČńÅPHPĮÄ.Zq¶įČÄ->Zqɵ½ń¾ė¤Č
perlĢeæ¶įĖĢH
757:nobody³ń
07/01/14 14:46:24
^CsOŖÖ½»Č¾Æ¾ė
758:750
07/01/14 23:00:46
>>753
ØĮµįéĘØčAPiKÅąoܵ½B½ŗŽ½
QiKą·¢ÆĒAPiKÅąÜ¾·¢Į·ęĖB
»ĢgetM()\bhĘ¢¤āĀAftHÅgŻńÅÄ~µ¢Ę©vĮÄŻ½čB
æČŻÉAMonaoÉManageršŪ¶µÄ½ĢĶA
$thisĢg¢ūŖŖ©ĮÄČ©Į½¾ÆÅ·B
”ą ńÜŖ©ĮÄȢŷŖB
Ethnag¢ČŖēIuWFNgwüĘ©ą×µę¤©ČĮÄ“¶Å·B
¢ÜAńFWÅģ詯ĽąĢšŚAµÄéńÅ·ŖA
g¦Īg¤ŁĒFWĢÖ³ŖgɵŻÜ·ĖB
759:nobody³ń
07/01/15 01:59:38
zńAAzzńANX
±źĢg¢ūŖšĮ½ēAFWĢÖ³ŖņōIÉćŖéB
760:nobody³ń
07/01/15 02:02:42
NXĶĘą©AzzńĶFWČOĢmƾė¤
761:nobody³ń
07/01/15 21:50:03
>>759
IuWFNgwüŖķ©ēČ¢lĶFWšgØ¤ĘµÄąĮÜ·éńƿᤩH
762:nobody³ń
07/01/15 21:53:16
>>760
> NXĶĘą©AzzńĶFWČOĢmƾė¤
¢āASt[[NČOĢmƾĘv¤¼
763:nobody³ń
07/01/15 22:26:13
URLŲŻø(ethna.jp)
±ĢĢ$action_mapšŻč·é±ĘÅUrlHandlerŖpūܷBftHgÅĶČÉąµÜ¹ńB
½ÅftHgŽąµČ¢ń¾ė¤?
±ńČńĶsymfonyݽ¢ÉXPgšģ¬µ½iKÅ
©®IÉANZXÅ«éę¤É·źĪ¢¢ńW}CJH
ćLĢįÅsĘ ethna add-action echo_msg ĮÄāĮ½uŌÉ
/echo/msgÅANZXÅ«éę¤Éµ½Ł¤ŖÖČĢÅĶH
764:nobody³ń
07/01/16 01:37:46
>>763
“Ķ»¤·éę¤É«·¦æįĮ½ę
765:nobody³ń
07/01/16 12:51:48
>>763
>½ÅftHgŽąµČ¢ń¾ė¤?
ćūŻ·«
766:nobody³ń
07/01/18 04:05:03
}l[WĮÄapp¼ŗÉģēźéÆĒA
Ŗ½¢ńÅAapp/managerĘ©ĢfBNgÉüźé±ĘĶĀ\H
½¾üźé¾Æ¾ĘAFatal errorŖoéń¾ęĖB
DZšMźĪAĒŻńÅźéĢŵ天H
767:nobody³ń
07/01/18 11:20:20
>>766
Rg[ĢćĢŁ¤ÅA
/** include_pathĢŻč(AvP[VfBNgšĒĮ) */
$app = BASE . "/app";
$lib = BASE . "/lib";
$manager = $app. "/manager";
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . implode(PATH_SEPARATOR, array($app, $lib, $manager)));
Ę©µÄāźĪ®ń¶įČ¢H
m©ßÄČ¢ÆĒB
768:nobody³ń
07/01/18 22:34:03
>>767
dI®«Ü·½B
app¼ŗĢąĢ஢æį¤ÆĒAĘč ¦ø±źÅ¢ĮÄŻÜ·B
769:nobody³ń
07/01/21 01:10:24
>>764
½š«·¦źĪ¢Æé©ČH
>>765
kwsk
770:764
07/01/21 04:53:17
>>769
“ą_īČū@Ŗ Į½ēmč½¢ń¾Ŗ
Ęč ¦øĶUrlHandlerĢgetInstance\bhšI[o[ChµÄ
ANVĢ}bsOŖ©Ā©ēČ©Į½É
}bsOŻčš·éę¤Éµ½ēoéę
Rlš©®IÉZbg͵Ȣµ
i[ŻÆÄftHgĢ}bsO𻤶¬·źĪ¢¢ń¾ÆĒj
smartyĢurlÖĘ©ąg¦Č¢ń¶įČ¢©Ęv¤
“ĢźĶ³X»±ēÓštH[·é}l[WĘ©ģĮÄ Į½©ē
ĒĮæąg¦éę¤}[W·é¾ÆÅę©Į½ń¾ÆĒĖ
771:769
07/01/21 11:31:55
>>770
ßńdz¢Č
į¦ĪXPgšģ¬·éŪÉ-urlĢIvVšĀÆźĪ
ypŅŖ½ąÓƵČÄąz XeLURLÅANZXoéę¤ÉµÄ~µ¢ČB
ĀÜč>>763ĢįÅsĘ
ethna add-action -url echo_msg
«
ĮÉŻčšĻX·é±ĘČ /echo/msg ÅANZX
«
(ßtß)³Ļ°
772:764
07/01/21 15:51:48
>>771
³¢³ĶUźń̾
µå¤ŖČ¢
źAUrlHandler©ĢिåĮĘǤɩµę¤Ę¢¤¬źĶ éŻ½¢¾µ
»źÉśŅ¶įČ¢©Ė
“Ķ«čČ¢ŖĶ³ĮĘĒĮµæįĮÄćĶ{ĘĢĄŅæŻ½¢Č“¶¾
ćLĢĻXąĄæs«·¾Æ¾Į½µ
sĶ éÆĒEthnaĶü¢µā·Ä¢¢ń¾ęĖ„i“Åąü¢Ģ¹ŲŖ·®©¦éĘ¢¤Ó”j
773:nobody³ń
07/01/21 22:50:42
1ĀOĢANVę¾·éČPČū@ĮÄȢŵ天B
validate()µ½ćAG[Ŗ éźĢ
JŚęš©®IÉwčµ½¢ĢÅ·B
tH[lÉn·ū@µ©v¢Ā«Ü¹ńŵ½B
ąĮĘČPČū@Ŗ Į½ēØČŖ¢µÜ·
774:nobody³ń
07/01/22 10:55:40 grOsWXoX
> 1ĀOĢANVę¾·éČPČū@ĮÄȢŵ天B
ZbVg¤±Ęɱ¾ķēČÆźĪAZbVg¤B
ViewClass::forward()ĢI[o[ChÅ»ĢčćĢactionšŪ¶B
ĮĀ[©A>>773Ģ1ĀOĘ¢¤ĢŖA1NGXgOĢactionĘ¢¤Ó”Č羯ĒB
»¤ÅĶČAPHPąĢąąÅĮľ¤ČēAPHP5ĄčÅ»ŻĢActionClass¼
__CLASS__©ēActionNameššĶ·éµ©Č¢ČB
šĶĶViewClassĢ\bhÉtÆĮ¦ÄAvalidate()ÅG[Ŗo½ŪĶerror_viewĘ©KČ
NXšģĮÄ»±ÅWvB
ń[BBackendNXąI[o[ChµČ¢Ę¢©ń©ČB
775:nobody³ń
07/01/23 23:33:59 OL4nj+JT
viewÅA
@@$tests= array("1"=>"³¢µå","2"=>"¬","3"=>"³¢²");
@@$this->af->setApp('tests',$tests);
ƵĨ¢ÄA
tplÅA
@@{select name=test_select empty="IšµÄ¾³¢" list=$app.tests}
ĘAµÄéń¾ŖEE
oĶŖA
@@<select name="test_select">
@@<option value="">IšµÄ¾³¢</option>
@@<option value="1" >ŗ/option>
@@<option value="2" >ŗ/option>
@@<option value="3" >ŗ/option>
Ę¢¤AķÆĢķ©ēČ¢»Æūš·éµA
ÅĢź¶µ©oıȢµAČń¾©ķ©čܹńB
Ǥš·źĪ梩AĶšØŻµ¾³¢Ü¹m(_ _)m
776:721
07/01/23 23:40:30
>>775
ÅĢź¶µ©oıȢĢĶA½ŖPHPÉØ¢Ä¶ńązńʵÄ
FƳźéĢŖeæµÄéĘv¤B
į¦ĪA
$str = "abcde";
echo $str[0];
Ę·éĘAaĮÄoéB
±źš$strŖ}`oCgĢźÅoCg¹ÉČĮÄéń¾Ęv¤B
777:775
07/01/23 23:50:58
>>776
»A»¤ČĢHH
į±Ethna©ē£źÄåĻ\µóȢŷŖBB
ąµ»¤¾Ę·éĘAzńšn·ę¤Čsmarty_functionĢselectĘ©checkboxĘ©A
SÅĮıĘÉČéęĖ„HH
778:nobody³ń
07/01/24 00:43:32
»ÆéĢĶA½¾PɶR[hĢāč¶įČÄH
779:775
07/01/24 00:52:45
½Ōń¶R[hÅĶČ¢Ęv¢Ü·ęB
print_rÅzńo·ĘuEUćÉ
@Array ( [1] => ³¢µå [2] => ¬ [3] => ³¢² )
ĮÄgŖoÄéĢÅB
780:778
07/01/24 00:59:51
select Ķ smarty ĢvOC©Čń©ÅµåH
»ĢvOCĢÅlŖĒ¤ČĮÄé©²×źĪĻõÅąČćB
781:nobody³ń
07/01/24 01:10:21
>>775
g¢ūŖį¤¾Æ¾ė
$tests = array (
@@"1" => array ('name' => "³¢µå"),
@@"2" => array ('name' => "¬"),
@@"3" => array ('name' => "³¢²"),
);
782:775
07/01/24 22:01:26
>>781
åĻ·Üń©Į½B
ØĮµįéĘØčB
783:nobody³ń
07/01/24 23:56:26
ethna ą sandboxٵ¢ĖB
784:nobody³ń
07/02/01 01:29:35
ٵć
785:nobody³ń
07/02/03 16:20:22 F0daih5C
Ethnaš×·éĢĮÄö®TCgš©ÄĢĘwµ©Č¢ńÅ·©H
ŠšTµÄą©Ā©ēČ©Į½ĢÅ·ŖEEE
Ē¢×@š²¶mŵ½ē²³¦¾³¢(L„Ö„M)
786:nobody³ń
07/02/03 16:44:49
>>785
bNnĢ{ĢŽx©ęčµķź½Ŗ é©ē»źšTµÄŻéĘ
ĘĮ©©čʵÄĶĒ¢©ą
ćĶAEthnaĢö®Ę©gree lab©éĘ©R~b^ĢlĢblogĢLšĒŽĘ©
½ąeĶĆ¢Ęv¤ÆĒĘ©Étips¢Äélą¢é
ꤷéÉ®®źĮÄ©
ćĶEthnaĶR[hŖĒŻā·¢t[[N¾Ęv¤©ē
ĄsĘ©ķ©ēČ¢ĢR[hĒĮ©ÆÄݽ赽ūŖ¢ėńČÓ”Å
×ÉČĮÄĒ¢Ęv¤
787:nobody³ń
07/02/03 16:51:05
>>786
ČéŁĒAŖ©čܵ½B
čnßÉ\[XR[hĒńÅ׵įܷI
čŖĘ¤²“¢Üµ½m(_ _)m
788:nobody³ń
07/02/04 10:32:16
OYĢPHPt[[NĪ©čÉŚŖü¢Ä¢½ŖAEthnaĢg¢ūą×µÄŻę¤©Č
789:nobody³ń
07/02/05 12:06:34
EthnaĢUrlHandlerĮÄAANVšźĀźĀaction_mapɢ̩ȢƢÆČ¢Ģŵ天H
URLŲŻø(ethna.jp)
±±šĒń¾ĢÅ·ŖA¢Ü¢æsƫܹńB
URLŲŻø(hoge)
URLŲŻø(hoge)
Ę Į½źÉA
URLŲŻø(hoge)
URLŲŻø(hoge)
ĘČéę¤ÉAźĀĢŻčŷܹ½¢ĢÅ·ŖA»¤¢¤±ĘĶĀ\ŵ天B
790:nobody³ń
07/02/05 18:50:46
URLŲŻø(www.endlessbattle.net)
ØæĮĻȵ¾ÆĒ...åävČĢ©Č...
791:nobody³ń
07/02/05 23:01:43
ethnaÅģĮ½XNvgšCGIƵĮ쳹½¢źA
Ǥ·źĪ¢¢Åµå¤©H
æČŻÉŹĢPHPÅ źĪA
#!/usr/bin/php
šĀÆźĪACGIʵĮģ·é¤p^T[o[Å·B
792:nobody³ń
07/02/05 23:12:49
AppObjectĢg¢Ē±ėŖĒķ©ēČ¢„„„
NGs·éÉĶ
AppManager->db->query();
Å¢¢ń¾ęĖH
AppObjectĮÄKvČĢH
793:nobody³ń
07/02/06 00:41:00
ĶgĮÄܹńB
794:nobody³ń
07/02/06 15:35:18
/etc/[APPID]-ini.php
ąÅ ZbVlāANVtH[lšgp·é½ßÉĶ
Ǥ·źĪ¢¢Åµå¤©H
$this->session->get('hoge')
ÅāĮįܵ½ŖACall to a member function on a non-object
Ŗoܵ½B
795:nobody³ń
07/02/06 15:55:40
if( !empty( $this->af->get("hoge") ) ){
}
Ę·éĘG[ŖoÜ·B
$hoge = $this->af->get("hoge");
if( !empty( $hoge ) ){
}
Čē¤Ü¢«Ü·BÖéÕŻ[
796:nobody³ń
07/02/06 18:02:29
ZbVĢlšsmartyąÅ{$session.id}ݽ¢Č“¶Å
g¦Ü¹ń©ĖH
setApp ·éĢŖ¾é¢ĢÅ·B
797:nobody³ń
07/02/06 19:35:30
>>795
PHP4¾©ē¶įĖH
>>796
[APP_ID]_ViewClass.phpĢ _setDefault\bhÅATC·źĪH
798:nobody³ń
07/02/06 19:52:01
>>795
emptyŲ×ēźéĢĶĻĢŻ
URLŲŻø(jp.php.net)
799:794
07/02/06 20:22:16
>>797
X čŖĘ¤²“¢Ü·B
ØĮµįéĘØč PHP4Å·B
PHP5ɹøÉ½Ę©·éū@ĶȢŵ天B
ĘŻČ³ńPHP5ÅGXiĮÄéńŵ天H
800:721
07/02/06 23:30:31
>>794
>/etc/[APPID]-ini.php
>ąÅ ZbVlāANVtH[lšgp·é½ßÉĶ
>Ǥ·źĪ¢¢Åµå¤©H
»ńČāčū͵ȢB
/etc/hogehoge-ini.php
ÉĶAŻčlš©ēAŻčlšZbVÅć«·éĮľ¤g¢ū͵ȢB
ŻčlĶethna_configIuWFNg(ĢTuNX)ƵĶݵÄÄA
»Ģ[hĶControllerĢRXgN^ÅsķźÄÄA»źĮÄEthnaĢN®ĢŁŚ¼ćB
ąæėńASessionŖnÜéęčy©OB
»ą»ąAZbVIuWFNgāANVtH[IuWFNgĶ
AppManager/AppObject/ActionClass/ViewClassąĢŻÅgķźé±Ęš
zčʵÄé©ēA»ńČĻČʱėÅĶANZXÅ«éķÆŖČ¢B
801:nobody³ń
07/02/07 09:06:56
>>793
792Å·B
©OĢNXšg¤±Ęɵܵ½A čŖĘ¤B
¢ė¢ė²×ÄŻÄA»óÅĶAppObjectš¼ĢtX^bNt[[NĢModelĘÆ¶ę¤Él¦ÄĶ¢ÆČ¢Ęv¢Üµ½B
½Å±ńČr¼[ČąĢŖĮĀ¢Äéń¾ė¤H
¬·é¾ÆČĢÉČ„„„B
802:nobody³ń
07/02/07 17:46:41 hhcgJkB/
>½Å±ńČr¼[ČąĢŖĮĀ¢Äéń¾ė¤H
Ķ``gĮĢܷB
ĘÉ©AActionClassĢsšāµ½Č¢ĢÅAĘč ¦øAppManager/AppObjectÉĘ¢¤“¶ÅB
803:nobody³ń
07/02/10 12:18:29
.tplŖčÉLbV
³źÄ
html~XčÜčĢ©ŖĘµÄĶeXgĶ©ČčsÖČńÅ·ŖA
DZ©ÅLbV
ĢŻčĶÅ«éńŵ天H
smartyĢLbV
ŻčĶoffÉČĮÄܵ½B
{ĘÅLbV
Ų×ܵ½ŖA©Ā©čܹńŵ½B
804:nobody³ń
07/02/11 11:49:01
ANVĢtH[hĮÄǤāéńÅ·©H
805:nobody³ń
07/02/11 15:03:58
>>804
ūܹńB
806:nobody³ń
07/02/11 23:05:45
>>804
āĶč_CNg©ANVĢp³ÉČéńŵ天B
807:nobody³ń
07/02/12 01:51:26
>>806
p³¾Į½ē±ńČ“¶ÉČéĢŵ天H
Base_Action
{
function doHoge()
{
}
function doFuga()
{
}
}
class Action_A extends Base_Action
{
function perform()
{
$this->doHoge();
}
}
class Action_B extends Base_Action
{
function perform()
{
$this->doHoge();
$this->doFuga();
}
}
808:nobody³ń
07/02/14 23:01:46 pcigeSJ1
sĢ©³ŽR[hÉĶNཱུȢBB
809:nobody³ń
07/02/15 00:08:38
sŖ©³ÜČ¢ę¤ÉAŹĢOćÉ éüsšĮ¹Ī¢¢ĢH
810:721
07/02/15 03:31:47
>>808
>sĢ©³ŽR[hÉĶNཱུȢ
Ę¢¤©A½µ½¢©¢Ü¢æęķ©ēńEEEEB
ANVĢtH[hĘ©_CNgĘ©»źĮŪ¢¾tŖ éŖA
Ęč ¦ø¾tšgĮÄ龯“Ŗ¢ĮĻ¢ÅB
811:nobody³ń
07/02/16 17:19:24
vWFNgfBNgÜÅĢāĪpXĢę¾ū@³¦Ä¾³¢ÜµB
APPID/lib ąĢt@Cšģµ½¢Å·B
812:nobody³ń
07/02/17 12:43:45
>>811
$_SERVER["SCRIPT_FILENAME"]©ēwww/index.phpš²Ģ¶įŹŚ©H
813:nobody³ń
07/02/17 13:00:20
ŹÉ__FILE__g¦Ī¢¢¾ÆÅĶB
814:nobody³ń
07/02/19 17:44:59
ethnaÅmod_rewriteŖćčg¦Č¢B
HāÅŲźéBǤāźĪ¢¢Å·©H
815:>>814 }`³
07/02/19 23:38:21
URLŲŻø(mixi.jp)
19: Ź ( URLŲŻø(mixi.jp) )
Ā¢ęś©ēAethnašg¢nß½ąĢÅ·ŖAmod_rewriteÅćčņιȢĢÅAǤ©²³ö¾³¢B
ČPČubN}[NIČąĢšģ¬µę¤ĘµÄéĢÅ·ŖAURLš
entry?uri=URLŲŻø(hoehoge)<) [L]@ā
RewriteRule ^entry/(.+) /entry?url=URLŲŻø($1%{QUERY_STRING}) [L]
±ńӤɢ½ĢÅ·ŖA±źŖ¢ÆČ¢Ģŵ天H
HāŖÜÜźČÆźĪASÄšę¾Å«éĢÅ·ŖBB
ĶÄu³ńĘ©ĢGg[Ęärµ½źAhttp://Ģ://ŖĶÄu³ń¾Ę»ĢÜܾĮ½ĢÅ·ŖA©ŖĢGg[š©éĘAhttp%3A%2F%2FĢę¤ÉGR[h³źÄµÜ¢Ü·B
±źŖ“öČĢŵ天H
Smarty¤Ģ٤ÉĶAGXP[v³¹ésetAppNEŖ čÜ·Ŗ±źĶ\¦ĢāčÅ”ńĘĶÖWČ¢Ęv¢Ü·µB
൩µ½ēAmod_rewriteĢāčű±ÅĢæāĶØ©µ©Į½ē·¢Ü¹ńB·®ÉķµÜ·B
½¾AethnaĢGXP[vÖAĢāčŵ½ēAǤ©š@š²³ö¾³¢Ü¹B
ę뵨袵ܷB
816:nobody³ń
07/02/20 00:59:16
š@B
ąĮĘČPČvO©ē×µ¼·B
817:nobody³ń
07/02/21 05:44:31
SmartyÉcache_idšnµÄy[W²ĘÉ”ĢLbV
š½µ½¢ń¾ÆĒA
ūȳ»¤Å·ĖH
818:nobody³ń
07/02/22 14:22:50
>>817
±±ĶEthnaĢX
ę»Å·Æ
æČŻÉ]TÅoé¼
819:nobody³ń
07/02/22 15:16:44
EthnaÅĮÄbµ¾ėH
820:nobody³ń
07/02/23 04:10:03
>>818
EthnaÅĢbÅ·ęAąæėńB
>>819
»ĢŹčÅ·
æå¢Ęü¢µÄšµÜµ½
821:nobody³ń
07/03/01 00:08:12
wampĀ«ÅEthnagĮÄéń¾ÆĒAethnaR}hŖŁčŽĢĶČŗH
ethna add-action --basedir=dir sample
Ę©āéĘ«B
822:nobody³ń
07/03/01 16:07:38 ue5nOCQJ
AppObjectÅ
SQLĢÖg¢½¢Ę«A
½Ę¦Ī
update some_table set some_date = now() where some_id = 1;
Ŗ±ńČ©ń¶Ģ±ĘšAppObjectÅā轢ƫĮÄ
ǤāźĪ¢¢ńŵå¤
æČŻÉPostgreSQLÅ·
823:nobody³ń
07/03/02 00:59:24
>>822
”Ģʱėm©Å«Č©Į½ĶøB
»Ģ¤æoéę¤Éµ½¢Ę¾ĮĽCŖ·éB
824:nobody³ń
07/03/02 01:00:04
»Ģ¤æ¶įČÄ«IÉoéę¤Éµ½¢Ę¾ĮĽń¾Į½©ČB
ĒĮæÅࢢŖB
ÅVX\¦XbhĢõŽXźbčĢj
[XØÜ©¹Xg„IvVš\¦ÉĀŌµ2ch
5322śOÉXV/223 KB
S:undef