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">
5
<title>Doiciméid Moodle: Treoirlínte Códúcháin</title>
6
<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
7
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
11
<h1>Treoirlínte Códúcháin Moodle</h1>
12
<p class="normaltext">Tá comhsheasmhacht agus forastacht riachtanach le go mbeadh aon thionscadal
13
comhoibritheach láidir.</p>
14
<p class="normaltext">Cuireann na treoirlínte seo sprioc ar fáil d'úsáideoirí cóid Moodle.
15
Is fíor go bhfuil cuid den chód atá ann faoi láthair neamhimleor i roinnt
16
réimsí, ach deiseofar é ar fad ar deireadh. Ní mór do gach códú nua
17
cloí leis na caighdeáin seo chomh fada agus is féidir é.</p>
18
<h2>Rialacha Ginearálta</h2>
19
<ol class="normaltext">
20
<li class="spaced">Ba cheart do gach comhad cóid leas a bhaint as an iarmhír .php.</li>
21
<li class="spaced">Ba cheart do gach comhad teimpléid leas a bhaint as an iarmhír .html.</li>
22
<li class="spaced">Ba cheart do gach téacschomhad leas a bhaint as formáid téacs de stíl Unix (tá an rogha
23
seo ar fáil le formhór eagarthóirí téacs).</li>
24
<li class="spaced">Ní mór do gach clib php a bheith 'iomlán' ar nós <font color="#339900"><?php
25
?></font> ... seachas clibeanna 'gearra' ar nós <font color="#339900"><? ?></font>.
27
<li class="spaced">Ní mór gach fógra cóipchirt a choinneáil. Féadfaidh tú do chuid féin
28
a chur leo más gá.</li>
29
<li class="spaced">Ba cheart do gach comhad an príomhchomhad config.php a bheith mar chuid de.</li>
30
<li class="spaced">Ba cheart do gach comhad a sheiceáil go fíordheimhnítear an t-úsáideoir i gceart,
31
trí leas a bhaint as require_login() agus isadmin(), isteacher(), iscreator() nó isstudent().</li>
32
<li class="spaced">Ba cheart do gach rochtain ar bhunachair sonraí leas a bhaint as na feidhmeanna atá i lib/datalib.php
33
nuair is féidir - ceadaíonn sé seo comhoiriúnach thar réimse leathan bunachar sonraí.
34
Ba cheart go bhfeicfeá gur féidir beagnach gach rud a dhéanamh leis na feidhmeanna seo. Má tá ort cód SQL a scríobh cinntigh: go bhfuil sé trasardáin; srianta go feidhmeanna sonrúla
35
laistigh de do chód (de ghnáth comhad lib.php); agus go bhfuil sé marcáilte go soiléir.</li>
36
<li class="spaced">Ná cruthaigh agus ná húsáid athróga domhanda seachas cinn caighdeánacha
37
$CFG, $SESSION, $THEME agus $USER.</li>
38
<li class="spaced">Ba cheart gach athróg a thúsú, nó ar a laghad tástáil gur ann dóibh
39
trí leas a bhaint as isset() nó empty() sula n-úsáidtear iad.</li>
40
<li class="spaced">Ba cheart do gach teaghrán a bheith inaistrithe - cruthaigh téacsanna nua sna comhaid
41
"lang/en" agus glao orthu trí leas a bhaint as get_string() nó print_string().</li>
42
<li class="spaced">Ba cheart do gachcomhad cabhrach a bheith inaistrithe - cruthaigh téacsanna nua sa chomhadlann
43
"en/help" agus glao orthu trí leas a bhaint as helpbutton().</li>
44
<li class="spaced">Cuirtear magic_quotes le sonraí a thagann isteach ón mbrabhsálaí (seolta trí GET nó POST) go huathoibríoch
45
(aineoinn na socruithe PHP) le gur féidir leat é a chur díreach isteach
46
sa bhunachar sonraí go sábháilte. Ní mór gach amhshonra eile (ó chomhaid, nó ó bhunachair sonraí)
47
a éalú le <font color="#339900">addslashes()</font> sula gcuirtear isteach sa bhunachar sonraí é.</li>
50
<h2>Stíl Códúcháin</h2>
51
<p class="normaltext">Tá a fhios agam go bhfuil sé beagán achrannach do stíl a athrú
52
má tá cleachtadh agat ar rud ar leith, ach cuir i gcomparáid an t-achrann sin leis an achrann a bheadh
53
i gceist dá mbeadh daoine ag iarraidh bun nó barr a bhaint as cód Moodle dá mbeadh meascán stíleanna ann.
54
Is léir go bhfuil neart buntáistí nó míbhuntáistí le stíleanna a úsáideann daoine éagsúla,
55
ach tá an stíl reatha <strong>ann</strong>, agus iarraimid ort cloí leis. </p>
56
<ol class="normaltext">
57
<li class="spaced"><strong>Eangú:</strong> ba cheart 4 spás a bheith ann go seasmhach.
58
Ná bain leas as tábanna AR CHOR AR BITH. </li>
59
<li class="spaced"><strong>Ainmneacha athróige:</strong> ba cheart gur focail Bhéarla iad atá éasca le léamh,
60
agus brí leo. Má tá sé iomlán riachtanach go mbeadh níos mó ná focal amháin agat
61
rith le chéile iad, ach coinnigh chomh gairid agus is féidir iad. Úsáid
62
ainmneacha iolra le haghaidh eagair d'oibiachtaí.
63
<p class="examplecode"><font color="#006600">GO MAITH: $quiz<br />
64
GO MAITH: $errorstring<br />
65
GO MAITH: $assignments (le haghaidh eagar d'oibiachtaí)<br />
66
GO MAITH: $i (ach i lúba beaga amháin)<br />
69
GO DONA: $aReallyLongVariableNameWithoutAGoodReason<br />
70
GO DONA: $error_string</font></p>
72
<li class="spaced"><strong>Tairisigh:</strong> ba cheart iad a bheith i gceannlitreacha i gcónaí,
73
agus tosú i gcónaí le hainm an mhodúil. Ba cheart na focail a roinnt
75
<p class="examplecode"><font color="#006600">define("FORUM_MODE_FLATOLDEST",
78
<li class="spaced"><strong>Ainmneacha feidhme:</strong> ba cheart gur focail simplí Béarla a bheadh iontu,
79
agus go dtosóidis le hainm an mhodúil le coinbhleacht a sheachaint idir na modúil.
80
Ba cheart focail a roinnt le fostríocanna. Ba cheart réamhshocrú ciallmhar a bheith ag paraiméadair i gcónaí
81
más féidir. Tabhair faoi deara nach bhfuil spás ar bith idir ainm na feidhme agus na
82
(lúibíní) a leanann é. <br />
83
<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">)
85
global </font><font color="#0000BB">$USER</font><font color="#007700">,
86
</font><font color="#0000BB">$CFG</font><font color="#007700">;<br />
88
if (</font><font color="#0000BB">$mode</font><font color="#007700">)
90
</font><font color="#0000BB">$USER</font><font color="#007700">-></font><font color="#0000BB">mode
91
</font><font color="#007700">= </font><font color="#0000BB">$mode</font><font color="#007700">;<br />
92
} else if (empty(</font><font color="#0000BB">$USER</font><font color="#007700">-></font><font color="#0000BB">mode</font><font color="#007700">))
94
</font><font color="#0000BB">$USER</font><font color="#007700">-></font><font color="#0000BB">mode
95
</font><font color="#007700">= </font><font color="#0000BB">$CFG</font><font color="#007700">-></font><font color="#0000BB">forum_displaymode</font><font color="#007700">;<br />
96
}<br />
99
<li class="spaced"><strong>Blocanna:</strong> ní mór iad a chur idir lúibíní 'catacha'
100
(fiú muna bhfuil ann ach líne amháin). Úsáideann Moodle an stíl seo:
101
<p class="examplecode"> <font color="#006600">if (</font><font color="#0000CC">$quiz</font><font color="#006600">-></font><font color="#0000CC">attempts</font><font color="#006600">)
103
if (</font><font color="#0000CC">$numattempts </font><font color="#006600">>
104
</font><font color="#0000CC">$quiz</font><font color="#006600">-></font><font color="#0000CC">attempts</font><font color="#006600">)
106
</font><font color="#0000CC">error</font><font color="#006600">(</font><font color="#0000BB">$strtoomanyattempts</font><font color="#006600">,
107
</font><font color="#CC0000">"view.php?id=$cm</font><font color="#006600">-></font><font color="#CC0000">id"</font><font color="#006600">);<br />
108
}<br />
111
<li class="spaced"><strong>Teaghráin:</strong> ba cheart iad a shainmhíniú laistigh de uaschamóga singil
112
nuair is féidir é, ar mhaithe le luas.<br />
113
<p class="examplecode"> <font color="#006600">$var = 'some text without any
115
$var = "with special characters like a new line \n";<br />
116
$var = 'a very, very long string with a '.$single.' variable in it';<br />
117
$var = "some $text with $many variables $within it"; </font></p>
119
<li class="spaced"><strong>Nótaí tráchta:</strong> ba cheart dóibh dhá slais nó trí a úsáid
120
agus teacht le chéile go néata leis an gcód.
121
<p class="examplecode"><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">,
122
</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">)
124
</font><font color="#FF8000">/// Return the mean rating of a post given
125
to the current user by others.<br />
126
/// Scale is an array of possible ratings in the scale<br />
127
/// Ratings is an optional simple array of actual ratings (just integers)<br />
129
</font><font color="#007700">if (!</font><font color="#0000BB">$ratings</font><font color="#007700">)
131
</font><font color="#0000BB">$ratings
132
</font><font color="#007700">= array(); </font><font color="#FF8000">//
133
Initialize the empty array</font><font color="#007700"><br />
134
if (</font><font color="#0000BB">$rates
135
</font><font color="#007700">= </font><font color="#0000BB">get_records</font><font color="#007700">(</font><font color="#DD0000">"forum_ratings"</font><font color="#007700">,
136
</font><font color="#DD0000">"post"</font><font color="#007700">, </font><font color="#0000BB">$postid</font><font color="#007700">))
138
</font><font color="#FF8000">//
139
Process each rating in turn</font><font color="#007700"><br />
140
foreach
141
(</font><font color="#0000BB">$rates </font><font color="#007700">as </font><font color="#0000BB">$rate</font><font color="#007700">)
145
<li class="spaced"><strong>Spás:</strong> ba cheart bheith flaithiúil leis - ná bíodh faitíos ort
146
rudaí a scaipeadh amach roinnt éigin ar mhaithe le soiléireacht. Go ginearálta, ba cheart go mbeadh
147
spás amháin idir lúibíní agus gnáth ráitis, agus gan spás ar bith idir lúibíní agus
148
athróga nó feidhmeanna:<br />
149
<p class="examplecode"> <font color="#007700">foreach (</font><font color="#0000BB">$objects
150
</font><font color="#007700">as </font><font color="#0000BB">$key </font><font color="#007700">=></font><font color="#0000BB">
151
$thing</font><font color="#007700">)</font><font color="#006600"> {<br />
152
</font><font color="#007700"> </font><font color="#0000BB">process($thing);</font><font color="#006600">
156
</font><font color="#007700">if (</font><font color="#0000BB">$x </font><font color="#007700">==
157
</font><font color="#0000BB">$y</font><font color="#007700">)</font><font color="#006600">
159
</font><font color="#007700"> </font><font color="#0000BB">$a
160
</font><font color="#007700">= </font><font color="#0000BB">$b</font><font color="#007700">;</font><font color="#006600"><br />
161
} else if (</font><font color="#0000BB">$x </font><font color="#007700">==
162
</font><font color="#0000BB">$z</font><font color="#006600">) {<br />
163
</font><font color="#007700"> </font><font color="#0000BB">$a
164
</font><font color="#007700">= </font><font color="#0000BB">$c</font><font color="#007700">;</font><font color="#006600"><br />
166
</font><font color="#007700"> </font><font color="#0000BB">$a
167
</font><font color="#007700">= </font><font color="#0000BB">$d</font><font color="#007700">;</font><font color="#006600"><br />
172
<h2>Struchtúr Bunachair Sonraí:</h2>
173
<ol class="normaltext">
174
<li class="spaced">Ní mór do gach tábla réimse <strong>id</strong> (INT10) uath-incriminteach a bheith aige mar innéacs príomhúil.</li>
175
<li class="spaced">Ní mór don phríomhtábla in dtarlaíonn gach modúl an t-ainm céanna a bheith air is atá ar an modúl (m.sh. <strong>widget</strong>) agus ar a laghad na réimsí seo a leanas a bheith ann:
177
<li><strong>id</strong> - mar a sonraíodh thuas</li>
178
<li><strong>course</strong> - id an chúrsa a mbaineann gach ásc leis</li>
179
<li><strong>name</strong> - ainm iomlán gach ásc den mhodúl</li>
182
<li class="spaced">Ba cheart táblaí eile atá gaolmhar le modúl, a bhfuil eolas iontu faoi 'things', ba cheart <strong>widget_things</strong> a thabhairt orthu (tabhair faoi deara an t-iolra).</li>
183
<li class="spaced">Ba cheart ainmneacha na gcolún a choinneáil gairid agus simplí, agus na rialacha céanna á leanúint is atá ann d'ainmneacha athróige.</li>
184
<li class="spaced">Nuair is féidir é, má tá tagairt i gcolún do réimse id i dtábla eile (m.sh. <strong>widget</strong>), ba cheart <strong>widgetid</strong> a ghlaoch air. (Tabhair faoi deara gur nós réasúnta nua é seo agus nach leantar é i roinnt sean-táblaí)</li>
185
<li class="spaced">Ba cheart réimsí Boole a chur i bhfeidhm mar réimsí beaga slánuimhreacha (m.sh. INT4) a bhfuil 0 nó 1 iontu, le leathnú ar luachanna a éascú ar ball más gá.</li>
186
<li class="spaced">Ba cheart do formhór na dtáblaí réimse <strong>timemodified</strong> (INT10) a bheith acu a nuashonraítear le ham-stampa reatha trí an bhfeidhm PHP <strong>time ()</strong> a úsáid.</li>
189
<p align="center"><font size="1"><a href="." target="_top">Doiciméid Moodle</a></font></p>
190
<p align="center"><font size="1">Leagan: $Id$</font></p>