~ubuntu-branches/ubuntu/breezy/moodle/breezy

« back to all changes in this revision

Viewing changes to lang/zh_cn/docs/coding.html

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Mitchell
  • Date: 2005-10-13 02:00:59 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051013020059-y2qcyo41t7nqppcg
Tags: 1.5.2-1ubuntu1
* Resync with debian (security update)
* changed dependencys to php5
* changed apache dependency to apache2 
* References
  CAN-2005-2247

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
2
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
3
<html xmlns="http://www.w3.org/1999/xhtml">
 
4
<head>
 
5
<title>Moodle�����ĵ�: �����д׼��</title>
 
6
<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
 
7
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
 
8
</head>
 
9
<body bgcolor="#FFFFFF">
 
10
<h1>Moodle�����д׼��</h1>
 
11
<p class="normaltext">�κκ�������Ŀ����Ҫһ���Ժ��ȶ��Բ��ܱ�������ǿ׳��</p>
 
12
<p class="normaltext">��д��Щ׼���Ŀ����Ϊ���е�Moodle�����ṩһ��Ŭ����Ŀ�ꡣ��һЩ�Ƚ��ϵ��Ѿ����ڵĴ����ڼ��ٵķ�����δ��꣬���������ս��ᱻ�����������µĴ��붼���뾡���ܵ�������Щ׼��</p>
 
13
<h2>һ��涨</h2>
 
14
<ol class="normaltext">
 
15
  <li class="spaced">���д����ļ�Ӧ��ʹ�� .php ��Ϊ��չ����</li>
 
16
  <li class="spaced">����ģ���ļ�Ӧ��ʹ�� .html ��Ϊ��չ����</li>
 
17
  <li class="spaced">�����ı��ļ�Ӧ��ʹ��Unix�����ı���ʽ(�������ı��༭���������ѡ��)��</li>
 
18
  <li class="spaced">����php��Ƕ������ǡ���������ǣ�Ʃ��<font color="#339900">&lt;?php ?&gt;</font> ... ��������<font color="#339900">&lt;? ?&gt;</font>�ġ��̡���ǡ�
 
19
  </li>
 
20
  <li class="spaced">�����Ѿ����ڵİ�Ȩ����Ӧ��������������б�Ҫ�������Լ����Լ��ġ�</li>
 
21
  <li class="spaced">ÿ���ļ���Ӧ��������config.php�ļ���</li>
 
22
  <li class="spaced">ÿ���ļ���Ӧ������û��������Ƿ���ȷ������ʹ�ú���require_login()��isadmin()��isteacher()��iscreator()����isstudent()��</li>
 
23
  <li class="spaced">���з������ݿ�IJ�����Ӧ��ʹ��lib/datalib.php�еĺ����D�D�������Լ��ݸ�������ݿ�����������е����鶼Ӧ���ǿ�������Щ��������ɵģ������������ҪдSQL�������������ס��Щ����Ӧ���ǿ�ƽ̨�ģ��ҽ������������е��ض�����(ͨ����һ��lib.php�ļ���)��Ч���Ҵ�������ע�ͽ�����ȷ˵����</li>
 
24
  <li class="spaced">��Ҫ������ʹ�ñ�׼ȫ�ֱ���$CFG��$SESSION��$THEME��$USER֮���ȫ�ֱ�����</li>
 
25
  <li class="spaced">���б�����Ӧ������ʼ������������ʹ��ǰ��isset()��empty()�Ⱥ������м�⡣</li>
 
26
  <li class="spaced">�����ַ�����Ӧ���ɷ���D�D��"lang/en"Ŀ¼�д����µ��ı��ļ����ַ���Ӧ��ʹ�ü���Ӣ��Сд���ƣ���ͨ������get_string()��print_string()��ȡ�á�</li>
 
27
  <li class="spaced">���а����ļ�Ӧ���ɷ���D�D��"en/help"Ŀ¼�д����ı��ļ�����ͨ��helpbutton()�������������ǡ�
 
28
    <p>�����Ҫ�ϴ�һ�������ļ���</p>
 
29
    <ul>
 
30
    <li>����С���޸ģ��ɵķ����ļ���Ȼ���Լ���ʹ��ʱ������ֱ�ӽ����޸ģ�����Ӧ��֪ͨtranslation@moodle.org</li>
 
31
    <li>���ڴ���޸ģ�Ӧ�������µ��ļ������ļ����ļ�������ԭ�ļ�����ĩβ����һ�����֣������Ժ�������(��filename2.html)������������Ա�Ϳ��Է����֪���ļ�����һ���µİ汾������Ȼ���µĴ���Ͱ��������ļ��������޸���ָ���°汾���ļ���</li>
 
32
    </ul>
 
33
</li>
 
34
  <li class="spaced">���������������Ϣ(��GET��POST��ʽ����)��Ӧ����magic_quotes(����PHP���������)�����ֱ�ӽ����Dz��뵽���ݿ����ǰ�ȫ�ġ�����������ԭʼ����(�����ļ������ݿ��)�������ڲ������ݿ�ǰʹ��<font color="#339900">addslashes()</font>����Ԥ������</li>
 
35
  <li class="spaced">��Ҫ�ģ�Moodle�����е��ı����ر����û��ṩ���ı���������ʹ��format_text()����������������Ϳ���ȷ���ı��Ѿ���ȷ�ع��ˡ�</li>
 
36
</ol>
 
37
<p> </p>
 
38
<h2>������</h2>
 
39
<p class="normaltext">��֪����������Ѿ�ϰ����һ�ֱ��������ȴ�����ı�������һ������ģ����Ƚ϶��ԣ�����պ������˶���Ҫȥ�����Ϸ���Moodle����Ҫ��һЩ����������ʹ�õ��κα������кܶ�֧�ֺͷ��Ե����������������ʹ�õķ��<strong>�Ѿ�����</strong>�ˣ����������ȥ��</p>
 
40
<ol class="normaltext">
 
41
  <li class="spaced"><strong>����</strong>Ӧ����4�������Ŀո񡣾��Բ�Ҫʹ���Ʊ�����</li>
 
42
  <li class="spaced"><strong>������</strong>Ӧ�����������⡢�к����СдӢ�ĵ��ʡ����ȷʵ��Ҫ���������ϵĵ��ʣ������������һ�𣬵�Ҫ�������ƾ����̡ܶ��������������ʹ�ø������ơ�
 
43
    <p class="examplecode"><font color="#006600">�õ�: $quiz<br />
 
44
      �õ�: $errorstring<br />
 
45
      �õ�: $assignments (��������)<br />
 
46
      �õ�: $i (������С��ѭ��)<br />
 
47
      <br />
 
48
      ����: $Quiz <br />
 
49
      ����: $aReallyLongVariableNameWithoutAGoodReason<br />
 
50
      ����: $error_string</font></p>
 
51
  </li>
 
52
  <li class="spaced"><strong>����</strong>Ӧ�����Ǵ�д�ģ���������ģ���������Ϊǰ׺������֮��Ӧ�����»��߷ָ���
 
53
    <p class="examplecode"><font color="#006600">define("FORUM_MODE_FLATOLDEST", 
 
54
      1);</font></p>
 
55
  </li>
 
56
  <li class="spaced"><strong>��������</strong>Ӧ���Ǽ򵥵�Ӣ��Сд���ʣ���������ģ������Ϊǰ׺�Է�ֹģ��֮��ij�ͻ������֮�����»��߷ָ��������������Ӧ�����к�����ȱʡֵ��ע���ں���������������֮��û�пո�<br />
 
57
      <p class="examplecode"> <font color="#007700">function </font><font color="#0000BB">forum_set_display_mode</font><font color="#007700">(</font><font color="#0000BB">$mode</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">)
 
58
      {<br />
 
59
      &nbsp;&nbsp;&nbsp;&nbsp;global </font><font color="#0000BB">$USER</font><font color="#007700">,
 
60
      </font><font color="#0000BB">$CFG</font><font color="#007700">;<br />
 
61
      <br />
 
62
      &nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$mode</font><font color="#007700">)
 
63
      {<br />
 
64
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$USER</font><font color="#007700">-&gt;</font><font color="#0000BB">mode
 
65
      </font><font color="#007700">= </font><font color="#0000BB">$mode</font><font color="#007700">;<br />
 
66
      &nbsp;&nbsp;&nbsp;&nbsp;} else if (empty(</font><font color="#0000BB">$USER</font><font color="#007700">-&gt;</font><font color="#0000BB">mode</font><font color="#007700">))
 
67
      {<br />
 
68
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$USER</font><font color="#007700">-&gt;</font><font color="#0000BB">mode
 
69
      </font><font color="#007700">= </font><font color="#0000BB">$CFG</font><font color="#007700">-&gt;</font><font color="#0000BB">forum_displaymode</font><font color="#007700">;<br />
 
70
      &nbsp;&nbsp;&nbsp;&nbsp;}<br />
 
71
      }</font></p>
 
72
  </li>
 
73
  <li class="spaced"><strong>����</strong>��������ʹ�ô�����(������ֻ��һ��)��Moodleʹ�����·��:
 
74
    <p class="examplecode"> <font color="#006600">if (</font><font color="#0000CC">$quiz</font><font color="#006600">-&gt;</font><font color="#0000CC">attempts</font><font color="#006600">)
 
75
      {<br />
 
76
      &nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000CC">$numattempts </font><font color="#006600">&gt;
 
77
      </font><font color="#0000CC">$quiz</font><font color="#006600">-&gt;</font><font color="#0000CC">attempts</font><font color="#006600">)
 
78
      {<br />
 
79
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000CC">error</font><font color="#006600">(</font><font color="#0000BB">$strtoomanyattempts</font><font color="#006600">,
 
80
      </font><font color="#CC0000">"view.php?id=$cm</font><font color="#006600">-&gt;</font><font color="#CC0000">id"</font><font color="#006600">);<br />
 
81
      &nbsp;&nbsp;&nbsp;&nbsp;}<br />
 
82
      }</font></p>
 
83
  </li>
 
84
  <li class="spaced"><strong>�ַ���</strong>Ӧ���������õ����Ŷ���������ٶȡ�<br />
 
85
    <p class="examplecode"> <font color="#006600">$var = 'some text without any 
 
86
      variables';<br />
 
87
      $var = "with special characters like a new line n";<br />
 
88
      $var = 'a very, very long string with a '.$single.' variable in it';<br />
 
89
      $var = "some $text with $many variables $within it"; </font></p>
 
90
  </li>
 
91
  <li class="spaced">ʵ�õ�<strong>ע��</strong>Ӧ����������д�����Խ��ʹ������̺ͺ���������Ĺ��ܡ�
 
92
     <ul>
 
93
     <li>ÿ���������඼Ӧ��ʹ�����е�<a target="_blank" href="http://www.phpdoc.org/">phpDoc��ʽ</a>��д���Ա��Զ����ɴ����ĵ���</li>
 
94
     <li>��Ƕע��Ӧʹ�� // ��񣬲������벼�֣�ʹ������������в��ʹ�����롣 
 
95
     </li>
 
96
     </ul>
 
97
  
 
98
   <p class="examplecode"><font color="#FF8000">
 
99
/**<br />
 
100
 * The description should be first, with asterisks laid out exactly<br />
 
101
 * like this example.  If you want to refer to a another function,<br />
 
102
 * do it like this: {@link clean_param()}.  Then, add descriptions <br />
 
103
 * for each parameter as follows.<br />
 
104
 *<br />
 
105
 * @param int    $postid The PHP type is followed by the variable name<br />
 
106
 * @param array  $scale The PHP type is followed by the variable name<br />
 
107
 * @param array  $ratings The PHP type is followed by the variable name<br />
 
108
 * @return mixed<br />
 
109
 */</font><br />
 
110
<font color="#006600">function </font><font color="#0000BB">forum_get_ratings_mean</font><font color="#007700">(</font><font color="#0000BB">$postid</font><font color="#007700">,
 
111
      </font><font color="#0000BB">$scale</font><font color="#007700">, </font><font color="#0000BB">$ratings</font><font color="#007700">=</font><font color="#0000BB">NULL</font><font color="#007700">)
 
112
      {<br /></font>
 
113
      &nbsp;&nbsp;&nbsp;&nbsp;<font color="#007700">if (!</font><font color="#0000BB">$ratings</font><font color="#007700">)
 
114
      {<br />
 
115
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$ratings
 
116
      </font><font color="#007700">= array(); &nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">//
 
117
      Initialize the empty array</font><font color="#007700"><br />
 
118
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$rates
 
119
      </font><font color="#007700">= </font><font color="#0000BB">get_records</font><font color="#007700">(</font><font color="#DD0000">"forum_ratings"</font><font color="#007700">,
 
120
      </font><font color="#DD0000">"post"</font><font color="#007700">, </font><font color="#0000BB">$postid</font><font color="#007700">))
 
121
      {<br />
 
122
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">//
 
123
      Process each rating in turn</font><font color="#007700"><br />
 
124
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach
 
125
      (</font><font color="#0000BB">$rates </font><font color="#007700">as </font><font color="#0000BB">$rate</font><font color="#007700">)
 
126
      {</font> <br />
 
127
      ....etc </p>
 
128
  </li>
 
129
 
 
130
  <li class="spaced"><strong>����</strong>���Ա��󷽵�ʹ�á����Ѷ�����ɢ����������Ƚ������һ������£��ڻ����ź���ͨ����֮��Ӧ����һ�����з������ڻ����źͱ�������֮�����û�л��з�:<br />
 
131
    <p class="examplecode"> <font color="#007700">foreach (</font><font color="#0000BB">$objects
 
132
      </font><font color="#007700">as </font><font color="#0000BB">$key </font><font color="#007700">=&gt;</font><font color="#0000BB">
 
133
      $thing</font><font color="#007700">)</font><font color="#006600"> {<br />
 
134
      </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">process($thing);</font><font color="#006600">
 
135
      <br />
 
136
      } <br />
 
137
      <br />
 
138
      </font><font color="#007700">if (</font><font color="#0000BB">$x </font><font color="#007700">==
 
139
      </font><font color="#0000BB">$y</font><font color="#007700">)</font><font color="#006600">
 
140
      {<br />
 
141
      </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$a
 
142
      </font><font color="#007700">= </font><font color="#0000BB">$b</font><font color="#007700">;</font><font color="#006600"><br />
 
143
      } else if (</font><font color="#0000BB">$x </font><font color="#007700">==
 
144
      </font><font color="#0000BB">$z</font><font color="#006600">) {<br />
 
145
      </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$a
 
146
      </font><font color="#007700">= </font><font color="#0000BB">$c</font><font color="#007700">;</font><font color="#006600"><br />
 
147
      } else {<br />
 
148
      </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$a
 
149
      </font><font color="#007700">= </font><font color="#0000BB">$d</font><font color="#007700">;</font><font color="#006600"><br />
 
150
      } </font></p>
 
151
  </li>
 
152
</ol>
 
153
<p> </p>
 
154
<h2>���ݿ�ṹ</h2>
 
155
<ol class="normaltext">
 
156
  <li class="spaced">ÿ�����񶼱�����һ��������<strong>id</strong>�ֶ�(INT10)��Ϊ������</li>
 
157
  <li class="spaced">������ģ��������ʵ��������������ģ��ͬ��(Ʃ��<strong>widget</strong>)���������ٰ��������ֶ�:
 
158
    <ul>
 
159
      <li><strong>id</strong> - ����һ������</li>
 
160
      <li><strong>course</strong> - ÿ��ʵ�������Ŀγ�id</li>
 
161
      <li><strong>name</strong> - ÿ��ʵ������������</li>
 
162
    </ul>
 
163
  </li>
 
164
  <li class="spaced">��ģ����ص�������������������ǣ��������������Ϣ�ǹ��ڡ�things���ģ�����������Ӧ����<strong>widget_things</strong>(ע����ø�����ʽ)��</li>
 
165
  <li class="spaced">�ֶ�����Ӧ����̣���������Ĺ�����ͬ��</li>
 
166
  <li class="spaced">�ڿ��ܵ�����£������Ŷ���������(��<strong>widget</strong>)���õ��ֶ�Ӧ������Ϊ<strong>widgetid</strong>��(ע�����Ǹ���Լ������һЩ�ϵı���δ����)</li>
 
167
  <li class="spaced">�����ֶ�Ӧ��ʹ��С��������(��INT4)���洢Ϊ0��1�������Ϳ�������Ҫʱ��չ����</li>
 
168
  <li class="spaced">�����ı���Ӧ����һ��<strong>timemodified</strong>�ֶ�(INT10)������PHP��<strong>time</strong>()����ȡ�õĵ�ǰʱ�������������</li>
 
169
</ol>
 
170
<hr />
 
171
<p>&nbsp;</p>
 
172
<h2>��ȫ���⣨����������URL���ݣ�</h2>
 
173
<ol class="normaltext">
 
174
  <li class="spaced">��Ҫ������register_globals����<strong>ÿ��</strong>����������<strong>ÿ��</strong>Դ�ļ�����ȷ��ʼ������������Դ�����Զ��׼�</li>
 
175
  <li class="spaced">��ʼ�����е�����Ͷ��󣬼�ʹ���ǿյġ�<code>$a = array()</code>��<code>$obj = new stdClass();</code>��</li>
 
176
  <li class="spaced">��Ҫʹ��<code>optional_variable()</code>������ʹ��<code>optional_param()</code>�����������������������ѡ����ȷ��PARAM_XXXXֵ��ʹ��<code>set_default()</code>�����������ñ����Ŀ�ѡֵ��</li>
 
177
  <li class="spaced">��Ҫʹ��<code>require_variable()</code>������ʹ��<code>required_param()</code>�������������������ѡ����ȷ��PARAM_XXXXֵ��</li>
 
178
  <li class="spaced">��Ҫʹ��<code>$_GET</code>��<code>$_POST</code>��<code>$_REQUEST</code>������������Ҫʹ�ø����ʵ�<code>required_param()</code>��<code>optional_param()</code></li>
 
179
  <li class="spaced">���һ������ʱ����Ҫʹ����<code>if (isset($_GET['something']))</code>�����Ĵ��롣����ʹ�����磺<code>$something = optional_param( 'something','',PARAM_ALPHA )</code>��������<code>empty()</code>��������</li>
 
180
  <li class="spaced">���κο��ܵ�����£��������е�<code>required_param()</code>��<code>optional_param()</code>�������ı�����ʼ��һ�����ÿ���ļ��Ŀ�ͷ���������ǻ�����ױ��ҵ���</li>
 
181
  <li class="spaced">ʹ�á�sesskey�����Ʊ������������������������������ɱ�����ʱ��Ҫ����<code>&lt;input type="hidden" name="sesskey" value="&lt;?php echo sesskey(); ?&gt" /&gt;</code>��ʹ�ñ���ʱ��<code>if (!confirm_sesskey()) {error('Bad Session Key');}</code>��顣</li> 
 
182
  <li class="spaced">�����ļ���������<code>clean_filename()</code>���������ˡ���������Ѿ��ʵ���ʹ��<code>required_param()</code>��<code>optional_param()���˴�������򲻱����</code>
 
183
    </li>
 
184
  <li class="spaced">�ٰ��κδ����ݿ����������д��֮ǰ����������<code>addslashes()</code>������һ���������ݶ��������<code>addslashes_object()</code>һ������ȫ������ϡ�</li>
 
185
  <li class="spaced">���κο��ܵ�����£��������ݿ�����ݱ�������<code>POST</code>���ݣ�Ҳ�������Ա��������ݣ�������������<code>GET</code>���ݣ�Ҳ��������URL�����ݣ���</li>
 
186
  <li class="spaced">����ܱ���Ļ�����Ҫʹ������<code>$_SERVER</code>�����ݡ��������ֲ�Դ�������</li>
 
187
  <li class="spaced">�������ط�û����������£�ȷ������д�����ݿ�������Ѿ���<code>clean_param</code> ������������������������ͣ�ʹ����ǡ����PARAM_XXXX��</li>
 
188
  <li class="spaced">�������д���Զ����SQL���룬��ȷ��������ȷ�ġ�����С������ֵ��Χ��Ҫ��ʧ���ţ�����ܻ����SQL��ע�롱©����</li>
 
189
  <li class="spaced">��<strong>ÿһ</strong>ҳ������е����ݣ�������д�����ݿ�����ݣ�����Ҫ���λ����������ط��Ѿ�����ˡ�</li>
 
190
</ol>
 
191
<p align="CENTER"><font size="1"><a href="." target="_top">Moodle�ĵ�</a></font></p>
 
192
<p align="center"><font size="1">Version: $Id$</font></p>
 
193
</body>
 
194
</html>