<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fi">
	<id>https://wikikko.info/w3/index.php?action=history&amp;feed=atom&amp;title=Drupal_ohjelmointi</id>
	<title>Drupal ohjelmointi - Muutoshistoria</title>
	<link rel="self" type="application/atom+xml" href="https://wikikko.info/w3/index.php?action=history&amp;feed=atom&amp;title=Drupal_ohjelmointi"/>
	<link rel="alternate" type="text/html" href="https://wikikko.info/w3/index.php?title=Drupal_ohjelmointi&amp;action=history"/>
	<updated>2026-04-21T23:02:38Z</updated>
	<subtitle>Tämän sivun muutoshistoria</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wikikko.info/w3/index.php?title=Drupal_ohjelmointi&amp;diff=7622&amp;oldid=prev</id>
		<title>Wikikkosysop: /* Yleistä */</title>
		<link rel="alternate" type="text/html" href="https://wikikko.info/w3/index.php?title=Drupal_ohjelmointi&amp;diff=7622&amp;oldid=prev"/>
		<updated>2024-11-23T17:11:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Yleistä&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fi&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Vanhempi versio&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versio 23. marraskuuta 2024 kello 20.11&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Rivi 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rivi 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Drupalin pääsivu Wikikossa on [[Drupal]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Drupalin pääsivu Wikikossa on [[Drupal]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Wikikosta löytyy myös aiheeseen liittyviä sivuja kuten [[PHP]] ja [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PHP ja &lt;/del&gt;MySQL]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Wikikosta löytyy myös aiheeseen liittyviä sivuja kuten [[PHP]] ja [[MySQL]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: [https://drupal.org/documentation/develop Drupal.org sivuston ohje, jota tällä sivulla on pääasiallisesti käytetty].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: [https://drupal.org/documentation/develop Drupal.org sivuston ohje, jota tällä sivulla on pääasiallisesti käytetty].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: [https://drupal.org/node/23789 Drupalin kehitykseen osallistuminen]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: [https://drupal.org/node/23789 Drupalin kehitykseen osallistuminen]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikikkosysop</name></author>
	</entry>
	<entry>
		<id>https://wikikko.info/w3/index.php?title=Drupal_ohjelmointi&amp;diff=72&amp;oldid=prev</id>
		<title>imported&gt;WikikkoSysop: 1 versio tuotiin</title>
		<link rel="alternate" type="text/html" href="https://wikikko.info/w3/index.php?title=Drupal_ohjelmointi&amp;diff=72&amp;oldid=prev"/>
		<updated>2016-09-03T14:33:36Z</updated>

		<summary type="html">&lt;p&gt;1 versio tuotiin&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uusi sivu&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Yleistä==&lt;br /&gt;
Aika ryhtyä kehittäjäksi (developer) ja ottaa askel syvemmälle kotisivujen julkaisujärjestelmiin? Drupal on ohjelmoitu käyttämällä [[PHP]] kieltä. &lt;br /&gt;
&lt;br /&gt;
: Drupalin pääsivu Wikikossa on [[Drupal]].&lt;br /&gt;
: Wikikosta löytyy myös aiheeseen liittyviä sivuja kuten [[PHP]] ja [[PHP ja MySQL]].&lt;br /&gt;
: [https://drupal.org/documentation/develop Drupal.org sivuston ohje, jota tällä sivulla on pääasiallisesti käytetty].&lt;br /&gt;
: [https://drupal.org/node/23789 Drupalin kehitykseen osallistuminen]&lt;br /&gt;
&lt;br /&gt;
===Ohjeita===&lt;br /&gt;
: [https://drupal.org/documentation Dokumentaatio]&lt;br /&gt;
: [https://drupal.org/irc IRC]. [http://limechat.net/mac/ LimeChat ohjelma Mavericks käyttöjärjestelmälle].&lt;br /&gt;
: [https://drupal.org/forum Keskustelufoorumi]&lt;br /&gt;
&lt;br /&gt;
==Ohjelmointiympäristön asettaminen==&lt;br /&gt;
: [https://drupal.org/node/147789 Ohjeiden lähde]&lt;br /&gt;
&lt;br /&gt;
===Selain===&lt;br /&gt;
* Firefox on suositeltava selain.&lt;br /&gt;
** [https://addons.mozilla.org/fi/firefox/addon/firebug/ Firebug] ja [https://addons.mozilla.org/en-US/firefox/addon/drupal-for-firebug Drupal for Firebug -lisäosa] ja [https://drupal.org/project/drupalforfirebug Drupaliin asennettava moduuli] yhdessä. [http://drupalforfirebug.chapterthree.com/tests Pikaohje välilehdistä]&lt;br /&gt;
** [https://drupal.org/project/devel Devel moduuli] lisää esimerkiksi tietokannasta haut Firebug lisäosaan&lt;br /&gt;
** Muita YSlow, Page Speed, FireFTP, Web Developer Extension&lt;br /&gt;
** API:en ohjeita tarvitaan, ainakin aluksi, ja niiden etsimistä voi helpottaa seuraavasti: http://api.drupal.org/api/search/ &amp;gt; Firefoxin yläpalkin hakuruudun vasemmassa reunassa on logo, yleensä Googlen, valitse se &amp;gt; Valitse Lisää &amp;quot;Drupal API Drupal 7&amp;quot; Nyt voit hakea suoraan apia hakusanalla.&lt;br /&gt;
** [http://www.greasespot.net/ Greasemonkey] avulla voit muokata nettisivujen ulkoasua suoraan selaimesta ohittaen Drupalin asettaman.&lt;br /&gt;
* Safarin suhteen täytyy olla varovainen, koska saattaa olla jossain tapauksissa että etsit virhettä muualta, vaikka kyseessä on Safarin toimimattomuus. Safarilla on myös ikävä tapa ajoittain kaatua. Safari sisältää kehitystyökalun valmiina, mutta lisäosana voidaan liittää Firebug Lite. [https://drupal.org/project/firebug_lite Drupal versio Firbug Lite:sta].&lt;br /&gt;
&lt;br /&gt;
===Editorit===&lt;br /&gt;
* Hiiren jättäminen vähemmälle lisää nopeutta, suositeltavia ovat esimerkiksi: [[Emacs]] ja Vi ja VIM&lt;br /&gt;
** [https://drupal.org/node/59868 Emacs säätäminen Drupaliin]&lt;br /&gt;
* [http://www.eclipse.org/ PHPeclipse] ehkä ilmaisista suosituin. PhpStorm on kaupallinen IDE eli graafisella käyttöliittymällä. &lt;br /&gt;
====OS X, Xcode 5====&lt;br /&gt;
* Xcodessa voit luoda projektin joka sisältää esimerkiksi koko drupalin asennuskansion. Pääset tällöin suoraan avaamaan tiedostot editorii hakemistopuusta ja tallentamaan ne.&lt;br /&gt;
** File &amp;gt; New &amp;gt; Project... &amp;gt; OS X Other &amp;gt; Empty &amp;gt; Next&lt;br /&gt;
** vasemmasta alakulmasta + &amp;gt; Add Files to &amp;quot;nimi&amp;quot;... ja lisää drupalin asennuskansio tai se kansio minkä tiedostot haluat suoraan Xcodessa käyttöön.&lt;br /&gt;
* Xcode &amp;gt; Preferences... &amp;gt; Text Editing &amp;gt; Indentation &amp;gt; säädä välit 2&lt;br /&gt;
* Tiedostot saa aukeamaan Xcode:ssa, asettamalla .module, .info, .inc, .install Finderin tiedoston tiedot toiminnolla avautumaan Xcodessa. &lt;br /&gt;
* Koska kielenä on PHP, Xcodessa tekstin saa värjäytymään Editor &amp;gt; Syntax Coloring &amp;gt; PHP. (highlight syntax)&lt;br /&gt;
: http://industriousone.com/blog/xcode-drupal HUOM! Tämä on Xcode 3 -ohje.&lt;br /&gt;
: https://drupal.org/project/coder&lt;br /&gt;
: [https://drupal.org/node/805140 OS X]&lt;br /&gt;
&lt;br /&gt;
===Debugger===&lt;br /&gt;
Hyvällä debuggerilla pystyt seuraamaan joustavasti php -ohjelman suoritusta. &lt;br /&gt;
* [https://drupal.org/node/260854 Xdebug]&lt;br /&gt;
&lt;br /&gt;
===Pääteohjelmat===&lt;br /&gt;
Esimerkiksi käyttöjärjestelmän oma tai Filezilla, Cyberduck, PuTTY&lt;br /&gt;
&lt;br /&gt;
===Vertailuohjelmat===&lt;br /&gt;
diff ja merge&lt;br /&gt;
: http://kdiff3.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
===Tietokantatyökalut===&lt;br /&gt;
Esimerkiksi phpMyAdmin. Katso myös Firefox lisäosat liittyen tietokantaan.&lt;br /&gt;
&lt;br /&gt;
===Drupal ja tietokanta testaukseen===&lt;br /&gt;
Uusia moduuleita, ovat ne sitten Drupalin sivuilta ladattuja tai itse tekemiä ei tule tai ei ainakaan tulisi testailla tuotannossa eli muiden käyttäjien käyttämässä Drupalissa. Tarvitset siis joko &amp;quot;kotitietokoneelle&amp;quot; tai palvelimelle toisen Drupal asennuksen ja sille oman tietokannan tai saman tietokannan eri taulut. Yksi vaihtoehto on lähteä puhtaalta pohjalta asentamalla Drupal tai kopioimalla toinen, esimerkiksi julkaistu sivusto pohjaksi. Katso uuden Drupalin asennusohje sivulta [[Drupal]]. [https://drupal.org/creating-drupal-test-sites Toinen vaihtoehto]. [https://drupal.org/node/119752 Tässä kolmas vaihtoehto]. [https://drupal.org/node/120627 Tässä neljäs vaihtoehto eli Drupalin siirto.] Valmiita paketteja ovat esimerkiksi DAMP, WAMP tai MAMP. Kun drupal asennetaan &amp;quot;kotikoneelle&amp;quot; ei tarvitse huolehtia internetyhteydestä, mahdollisista tietoturva-aukoista joita ohjelmoitaessa voi syntyä tai jatkuvasta ftp-latauksesta palvelimelle. Lisätietoa ja asennusohjeita esim. kohdassa Ohjeita olevasta dokumentaatio-linkistä.&lt;br /&gt;
&lt;br /&gt;
===Tietokannan varmuuskopiointi===&lt;br /&gt;
====phpMyAdmin====&lt;br /&gt;
: https://drupal.org/node/120630&lt;br /&gt;
&lt;br /&gt;
===Synkronointi paikallisen ja etäkoneen välillä===&lt;br /&gt;
: https://drupal.org/node/120617&lt;br /&gt;
&lt;br /&gt;
===Virheilmoitukset===&lt;br /&gt;
Virheiden löytämistä helpottaa kun asettaa virheilmoitukset ilmestymään näytölle. &amp;#039;&amp;#039;&amp;#039;Muista&amp;#039;&amp;#039;&amp;#039; poistaa kaikki seuraavat asetuket kun sivusto asetataan julkisesti esille.&lt;br /&gt;
* settings.php tiedostoon lisätään seuraavat rivit:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
error_reporting(E_ALL);&lt;br /&gt;
ini_set(&amp;#039;display_errors&amp;#039;, TRUE);&lt;br /&gt;
ini_set(&amp;#039;display_startup_errors&amp;#039;, TRUE);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Kytke päälle Ylläpito &amp;gt; Asetukset &amp;gt; Kehitys &amp;gt; Loggaus ja virheet &amp;gt; Kaikki viestit&lt;br /&gt;
* TAI kytke PHP:n php.ini tiedostossa E_ALL | E_STRICT&lt;br /&gt;
&lt;br /&gt;
===Välimuistin kytkeminen pois päältä===&lt;br /&gt;
Kehitysvaiheessa välimuistin pois päältä kytkeminen saattaa olla järkevää, jotta Drupal reagoi muutoksiin välittömästi. Mutta tuotantovaiheessa välimuisti pidetään yleensä päällä.&lt;br /&gt;
* Lisää settings.php tiedostoon seuraava:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (!class_exists(&amp;#039;DrupalFakeCache&amp;#039;)) {&lt;br /&gt;
  $conf[&amp;#039;cache_backends&amp;#039;][] = &amp;#039;includes/cache-install.inc&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
// Default to throwing away cache data&lt;br /&gt;
$conf[&amp;#039;cache_default_class&amp;#039;] = &amp;#039;DrupalFakeCache&amp;#039;;&lt;br /&gt;
// Rely on the DB cache for form caching - otherwise forms fail.&lt;br /&gt;
$conf[&amp;#039;cache_class_cache_form&amp;#039;] = &amp;#039;DrupalDatabaseCache&amp;#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Drupalin säätäminen nopeammaksi===&lt;br /&gt;
: https://drupal.org/node/1722250&lt;br /&gt;
&lt;br /&gt;
===Moduuleita kehittäjille===&lt;br /&gt;
: https://drupal.org/node/206773&lt;br /&gt;
: [https://drupal.org/node/2112911 drupal notebook]&lt;br /&gt;
&lt;br /&gt;
===Sähköposti===&lt;br /&gt;
&amp;quot;Kotikoneella&amp;quot; sähköpostien lähettäminen saattaa vaatia hiukan säätämistä.&lt;br /&gt;
: https://drupal.org/node/201981 Kokeilemisen arvoinen voi olla esim. kohta Mail to Database eli settings.php tiedostoon rivi $conf[&amp;#039;mail_system&amp;#039;] = array(&amp;#039;default-system&amp;#039; =&amp;gt; &amp;#039;HelperDebugMailLog&amp;#039;); jonka jälkeen sähköpostit löytyvät Raportit &amp;gt; loki&lt;br /&gt;
&lt;br /&gt;
===Drush===&lt;br /&gt;
: https://github.com/drush-ops/drush&lt;br /&gt;
&lt;br /&gt;
===git ja patches===&lt;br /&gt;
Moduulien pohjana omaan tarkoitukseen kannattaa tietysti käyttää olemassaolevia moduuleita. Kun kirjoitat uuden toiminnon olemassa olevaan toimintoon tai korjaat virheen sen julkaisu yhteisölle tapahtuu patch -toiminnon avulla. The task is to use Git, drupal.org&amp;#039;s version control system, to clone the repository, make a branch, and after adding the &amp;#039;More link&amp;#039; functionality, to roll a patch. If you come up with something beyond the &amp;#039;More&amp;#039; link, add that, too. Then post your patch in the &amp;#039;Current content&amp;#039; issue queue. Next, review one of the other patches in the queue on a different Git branch. If it works right, mark it Reviewed &amp;amp; Tested by the Community (RTBC). (For major patches, this status is hard to obtain, so be careful with it outside this sandbox.) If everyone that contributes a patch also reviews one, then your patch will be reviewed as well.&amp;lt;ref&amp;gt; https://drupal.org/node/1134754&amp;lt;/ref&amp;gt;&lt;br /&gt;
: [https://drupal.org/patch Patches]&lt;br /&gt;
: [https://drupal.org/node/1134754 Ohje]&lt;br /&gt;
: [https://drupal.org/documentation/git Git ohje]&lt;br /&gt;
&lt;br /&gt;
=== Git asennus ===&lt;br /&gt;
# Ota käyttöön Git Drupal.org sivuston käyttäjätilissäsi.&lt;br /&gt;
# Asenna Git tietokoneeseesi, https://www.drupal.org/documentation/git/install&lt;br /&gt;
## Git -ohjelma asennetaan pääte-ohjelman kautta käytettäväksi tai GitHub sovellus.&lt;br /&gt;
# Luo .gitconfig ja .gitignore tiedostot. Esim. OSX:ssä käyttäjähakemistoosi. https://www.drupal.org/documentation/git/configure&lt;br /&gt;
# Siirry hakemistoon, johon haluat kopion Drupalin palvelimelta ladattavan.&lt;br /&gt;
# Lataa kopio Drupalista, esim. git clone --branch 8.x http://git.drupal.org/project/drupal.git&lt;br /&gt;
: https://www.drupal.org/documentation/git&lt;br /&gt;
: Ohje https://www.drupal.org/node/3060/git-instructions/7.x/nonmaintainer&lt;br /&gt;
&lt;br /&gt;
==== GitHub ====&lt;br /&gt;
GitHub.com kotisivuilta voi suoraan lisätä omaan koneeseen asennettuun GitHub-sovellukseen Clone in Desktop -linkin avulla.&lt;br /&gt;
&lt;br /&gt;
==Käyttöliittymä standardit Drupalissa==&lt;br /&gt;
: https://drupal.org/ui-standards&lt;br /&gt;
&lt;br /&gt;
==Drupalkoodin standardit==&lt;br /&gt;
Kirjoitettaessa Drupal koodia tulee noudattaa sen hetkisiä [https://drupal.org/node/318 koodauksen standardeja]. Esimerkit ovat oheisesta ohjeesta 18.1.2014.&lt;br /&gt;
* rivin pituus enintään 80 merkkiä, sallien poikkeukset&lt;br /&gt;
* sisennys 2 välilyöntiä, ei koskaan sarkainta&lt;br /&gt;
* ei välilyöntiä rivin lopussa&lt;br /&gt;
* ehtoja ei jaeta useammille riveille&lt;br /&gt;
* koodin ei tarvitse olla äärettömän tiivistä vaan ennemmin selkeää&lt;br /&gt;
* kommentointi on tärkeä osa ohjelmointia. Moduulit kirjoitetaan lähtökohtaisesti englannin kielellä. Rivin lopussa kommentti //Kommentti tähän. Kommentit loppuvat pisteeseen ja alkavat isolla kirjaimella. # -merkkiä ei tule käyttää kommentoinnissa.&lt;br /&gt;
 /**&lt;br /&gt;
  * Tekstiä&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
 /**&lt;br /&gt;
   * @file&lt;br /&gt;
   * Tekstiä&lt;br /&gt;
   */&lt;br /&gt;
* &amp;#039; -merkkiä suositellaan paitsi &amp;quot;Vihreän vaa&amp;#039;an paino.&amp;quot; ja &amp;lt;pre&amp;gt;&amp;quot;&amp;lt;h2&amp;gt;$header&amp;lt;/h2&amp;gt;&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;?php eli käytä php sanaa. Jätä pois loppu ?&amp;gt; koska se voi aiheutta ongelmia tietyissä palvelimissa rikkoen HTTP headerit.&lt;br /&gt;
* &amp;lt;?php print $muuttuja; ?&amp;gt; eli käytä puolipistettä&lt;br /&gt;
* + - * / = .= != == ** ++ -- &amp;gt; &amp;lt; ym. erotetaan yhdellä välilyönnillä kummallakin puolen merkkiä&lt;br /&gt;
* (int) $muuttuja eli välissä yksi välilyönti&lt;br /&gt;
&lt;br /&gt;
* ohjetiedostot ISOILLAKIRJAIMILLA.txt &lt;br /&gt;
* tiedostot päättyvät \n&lt;br /&gt;
* tekstitiedostot päättyvät yhteen tyhään riviin \n&lt;br /&gt;
&lt;br /&gt;
* funktiot ja muuttuja pienillä kirjaimilla, sanat erotetaan alaviivalla. Funktioilla lisäksi ryhmä/moduuli etuliite&lt;br /&gt;
* kiinteät muuttujat isoilla kirjaimilla alaviivalla erotettuna, myös esm. TRUE&lt;br /&gt;
* $muuttuja = &amp;#039;Foo&amp;#039; . $bar; eli välilyönti pisteen kummallakin puolen&lt;br /&gt;
* $muuttuja = &amp;quot;Foo $bar&amp;quot;;&lt;br /&gt;
* globaalit muuttujat alkavat alaviivalla _moduulinnimi_muuttujannimi&lt;br /&gt;
* funktiokutsun muoto $muuttuja = nimi($muuttuja1, $muutuja2);&lt;br /&gt;
* funktiokutsussa oletusarvo argumenttilistan loppuun, aina pyrittävä palauttamaan  järkevä arvo&lt;br /&gt;
* oliota muodostettaessa $olio = new LuokanNimi($muuttuja1, $muuttuja2);&lt;br /&gt;
** $muuttuja = &amp;#039;LuokanNimi&amp;#039;; ja sitten luodaan $olio = new $muuttuja();&lt;br /&gt;
** oliot katso https://drupal.org/node/608152&lt;br /&gt;
* Taulukot $muuttuja = array(&amp;#039;teksti1&amp;#039;, &amp;#039;teksti2&amp;#039;, &amp;#039;foo&amp;#039; =&amp;gt; &amp;#039;bar&amp;#039;);&lt;br /&gt;
** jos ylittää 80 merkkiä, pilkotaan yksi per rivi alkaen aina kahdella välilyönnillä ja pilkku rivin lopussa&lt;br /&gt;
* käytä epätavallisissa tilanteissa require_once() ja tavallisissa include_once()&lt;br /&gt;
** include_once ./includes/moduulini_tiedosto.inc eli aloita aina pisteellä polku&lt;br /&gt;
** Drupal 7:ssä: require_once DRUPAL_ROOT . &amp;#039;/&amp;#039; . variable_get(&amp;#039;cache_inc&amp;#039;, &amp;#039;includes/cache.inc&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
if (!defined(&amp;#039;MAINTENANCE_MODE&amp;#039;)) {&lt;br /&gt;
  define(&amp;#039;MAINTENANCE_MODE&amp;#039;, &amp;#039;error&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* kirjoita elseif yhteen, käytä aina aaltosulkeita&lt;br /&gt;
 if (ehto1 || ehto2) {&lt;br /&gt;
   toiminto1;&lt;br /&gt;
 }&lt;br /&gt;
 elseif (ehto3 &amp;amp;&amp;amp; ehto4) {&lt;br /&gt;
   toiminto2;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
switch (ehto) {&lt;br /&gt;
  case 1:&lt;br /&gt;
    toiminto1;&lt;br /&gt;
    break;&lt;br /&gt;
&lt;br /&gt;
  default:&lt;br /&gt;
    oletustoiminto;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
do {&lt;br /&gt;
  toiminnot;&lt;br /&gt;
} while ($ehto);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php if (!empty($muuttuja)): ?&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&amp;lt;?php print $muuttuja; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;?php endif; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php foreach ($muuttuja as $muuttuja): ?&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&amp;lt;?php print $muuttuja; ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;?php endforeach; ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Moduuli==&lt;br /&gt;
Katso sivu [[Drupal ohjelmointi moduuli]].&lt;br /&gt;
&lt;br /&gt;
==Teema==&lt;br /&gt;
Katso sivu [[Drupal ohjelmointi teema]].&lt;br /&gt;
&lt;br /&gt;
==Testaus==&lt;br /&gt;
Drupal sisältää Simple Test PHP Libraryyn perustuvan testauksen. Testaus kohdistuu lähinnä käyttöliittymään. Hyvä testi syntyy kun tiedetään mitä täytyy testata. [https://drupal.org/simpletest-tutorial-drupal7 Lisätietoa aiheesta].&lt;br /&gt;
Se kytketään päälle normaalisti moduulina kohdasta Testing.&lt;br /&gt;
: https://drupal.org/node/1128366&lt;br /&gt;
&lt;br /&gt;
[[Luokka:Tietokoneet]]&lt;/div&gt;</summary>
		<author><name>imported&gt;WikikkoSysop</name></author>
	</entry>
</feed>