Inhoud. Pagina 2 van 13



Vergelijkbare documenten
Agenda. Wat is HTML? Meer over HTML... Waarom HTML leren? Aniel Bhulai. Inleiding Computergebruik - HTML 1. Waarin maak je een HTML-bestand?

Een sjabloon (in PHP template genaamd) bevat de volledige

Hosting. Bestelformulier en domeinnaamcontrole. Januari, WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: e:

HTML in Outlook Hoe zorgt u ervoor dat uw goed in beeld komt?

Schrijven voor het web. 1TIN Internettechonologie les 02 1

Frontend ontwikkeling

HTML elementen en attributen (volgens de Strict DTD)

Javascript oefenblad 1

Object Oriented Programming

Internet_html.doc 1/6

PHP. Les 4 : Variabelen

9. MYSQL. Daarin zien we het administratie paneel van mysql.

Websitecursus deel 1 HTML

Mailing List Manager. Hoofdstuk 19

Software 1. php mysql. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar semester 1

Formulieren maken met Dreamweaver CS 4/CS 5

APEX Templates. OGH APEX dag 30 maart. Art Melssen. 31 maart 2010

Y.S. Lubbers en W. Witvoet

Software 1. Basis HTML. bachelor grafische en digitale media cross-media ontwerp & grafimediatechnologie academiejaar semester 1

Voorwoord 1. Voorwoord

HTML richtlijnen marketing. part of the valley

Templates maken voor Joomla! Hoe maak je zelf een template voor je Joomla! website

Les 9: formulier controle met javascript.

Hoe bouw ik een component? Drs. Arjan Burger

Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2).

Foto web applicatie documentatie

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Foutcontrole met Javascript

Informatietechnologie 2. JavaScript. Inleidende les. Kristof Michiels

WEBSITE-DESIGN CHRIS VERMAAS & FJODOR VAN SLOOTEN B

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april Versie 2.1.0

Websitecursus deel 3 JavaScript

A.C. Gijssen. 0.3 PHP en MySQL

Web building basis: HTML. Karel Nijs 2008/09

Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.

Web building basis: HTML. Karel Nijs 2008/09

PHP & MySQL. Studievaardigheden Frank Takes (ftakes@liacs.nl) LIACS, Universiteit Leiden

FFO Webdesign 1e jaar theorietoets NL niveau4... Totaal aantal vragen: 40

My CRUD functions. Hieronder ziet u een overzicht van de bestandenlijst en functies die we gemaakt hebben en gaan gebruiken.

PHP & MySQL. Studievaardigheden Jan van Rijn (j.n.van.rijn@liacs.leidenuniv.nl) LIACS, Universiteit Leiden

Zonnepanelen Hoe krijg je de data op je website?

Query SQL Boekje. Fredrik Hamer

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

VAN HET PROGRAMMEREN. Inleiding

Hoofdstuk 1 Inleiding PHP 7 of ouder Hoe dit boek werkt 2

Een website maken met databasetoegang.

Variabelen en statements in ActionScript

Welkom-tab op facebookpagina

Dynamische websites met PHP (basis) Karel Nijs 2010/09

Voor vragen: of mail naar

Wat is een child-theme?

HTML en CSS gevorderd

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Formulier maken en opvangen met php

Overzicht HTML/Formulieren/PHP codes.

HTML voor nieuwsbrieven

Voor vragen: of mail naar

Les 15 : updaten van gegevens in de database (deel2).


Gebruikershandleiding voor: Beperkte Password protectie met JavaScript

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

Formulieren maken met Dreamweaver CS 4

Content Management System

PhotoworkZ pop-up website handleiding

IAI: Les 2 Vakjes maken. Rick Hazebroek r.hazebroek@cibap.nl

Formulieren en waarden posten naar een view

Programmeren in MyShop

Gegevens uit een database tonen

PHP tekst-bewerkingen, uploaden csv-bestanden import/eport

Inhoud. VBA Excel 2010

Cluster 1 Realiseert. 4 Beschrijving van de beroepssituatie behorende bij deze leereenheid

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

INTERNET STANDAARDEN HC1

SQL INJECTIE Door Eoghain Verdonckt Beveiliging december 2013

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

Fun met webparts in ASP.Net

Een introductie tot de TclMySQL bibliotheek

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64

WEBSECURITY INFORMATICA STUDENTENWERKING. Gemaakt door Bryan De Houwer en Yuri Moens

Agenda HTML. Wat is HTML? Hoe ziet een HTML-file eruit? Waarom HTML leren? Waarin maak je een HTML-bestand?

JavaScript. 0 - Wat is JavaScript? JavaScript toevoegen

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

Transcriptie:

Code Conventie

Inhoud PHP algemeen... 3 Namen van variabelen... 3 Enkele of dubbele aanhalingstekens... 3 Globale variabelen... 3 Namen van functies... 3 Argumenten van functies... 3 Formattering... 4 Accolades... 4 Als dan anders / switch... 4 Boolean... 5 De identieke operator... 5 Commentaren... 5 PHP tags... 5 Algemeen... 5 Classes... 7 Naam van een class... 7 Naam van een methode en een functie... 7 Attributen van een class... 7 Argumenten van een methode... 7 Queries... 8 Javascript... 9 Functies... 9 Framework... 9 HTML... 10 Doctype... 10 Digital Mind special... 12 Websitestructuur... 12 Extra afspraken... 12 Algemeen gebruikte scripts... 13 Pagina 2 van 13

PHP algemeen Namen van variabelen De eerste letter is een kleine letter Alle woorden na de eerste letter moeten beginnen met een hoofdletter Regels: Labels lbl lblname Arrays arr arrusers Pdf pdf pdfinvoice Images img imgfolder Combo & list lst lstcountry SSQL qry qryaddress SRunSQL rqry rqryaddress Error err errnouser Text txt txtinfo Help hlp hlpactivefield Object obj objclass (behalve bovengenoemde) Enkele of dubbele aanhalingstekens Gebruik altijd dubbele aanhalingstekens Voorbeelden: echo Firstname \n ; echo Dit is een variabele.$variabele; echo <table cellspacing=\ 0\ cellpadding=\ 0\ border=\ 0\ > ; Globale variabelen Alles in hoofdletters met een liggend streepje (_) als scheiding Voorbeelden: Define( CONSTANT, Hello World ); Define( CONSTANT_VARIABLE, Hello World ); Namen van functies De naam moet duidelijk maken wat het doet (ErrorOutput(), SetOnClick()) Als er een woord is waar men alles in hoofdletters kan schrijven, niet doen. FOUT : GetHTMLStatistics JUIST : GetHtmlStatistics Argumenten van functies De eerste letter is een kleine letter Alle woorden na de eerste letter moeten beginnen met een hoofdletter zoals de naam van een class Neem de regels voor de voorvoegsels in acht (txt, lbl, ) GetUserSettings($txtFirstName, $arrlastname); Pagina 3 van 13

Formattering Accolades Eerste accolade begint op een nieuwe lijn, laatste eindigt op een nieuwe lijn Spring in waar nodig om de leesbaarheid te bevorderen Inspringen = 4 spaties (afhankelijk van het programma voor Zend = 1 tab) if ($condition) while ($condition) for ($i = 0;$i < 10;$i++) foreach ($var as $k => $v) Als de if of de else accolades nodig heeft, dan moet het bij de andere ook gebruikt worden. if ($condition) $a = $b; else $a = $c; Als dan anders / switch if ($condition) elseif ($condition) else ($condition)?funct1:funct2; Als de if structuur complex wordt, schakel dan liever over naar een switch statement switch($var) case 1: break; Pagina 4 van 13

Boolean case 2: break; default: break; Controle op true of false van een functie Voorbeelden: if (record_exists()) if (!record_exists()) De identieke operator Als we deze operator gebruiken zal er enkel worden aangegeven dat 2 variabelen hetzelfde zijn als ze dezelfde waarde hebben en van hetzelfde type zijn. if(strpos($myvar, X ) === false) //X is niet in $myvar Commentaren Probeer // te gebruiken ipv /* */ Voor vaste commentaren is het handig om //-- te gebruiken, dan valt het direct op In Zend: // : ctrl + / /* */: ctrl + shift + / PHP tags Gebruik <?php?>, niet <??> PHP tag niet afsluiten Algemeen Spatie tussen de if/while/foreach/ en de voorwaarde Een spatie voor en na alle operatoren (=, <, >, =>, ) Een spatie na elke, en ; Na een header redirect altijd die() zetten Niet testen met nummers, eerder met variabelen $categoryno = 14; if($categoryno > $testno) Pagina 5 van 13

ipv if(14 > $testno) Als een tabel wordt opgeslaan in een variabele, moet er ook een uitlijning gebeuren: $var = <table>\n <tr>\n <td></td>\n </tr>\n </table>\n ; Voor Zend-gebruikers Bij het gebruik van de toetsencombinatie ctrl + shift + F wordt de PHP code automatisch uitgelijnd vanaf de tag waar PHP wordt geopend (<?php). Deze toetsencombinatie lijnt geen HTML code uit! LET OP!!! Deze toetsencombinatie kan een hulp zijn voor de tabs, maar is geen hulp voor de code conventie. Ze gaat bijvoorbeeld geen accolade op een nieuwe regel zetten. Pagina 6 van 13

Classes Naam van een class Hoofdletters als eerste letter van een nieuw woord, de rest kleine letters Eerste letter van het woord is een hoofdletter Geen liggend streepje (_) tussen de woorden Naam van een class begint met een S Voorbeelden: clsheader clsdatabase clsquerygenerator Naam van een methode en een functie Hoofdletters als eerste letter van een nieuw woord, de rest kleine letters Eerste letter van het woord is een hoofdletter Geen liggend streepje (_) tussen de woorden De naam moet duidelijk maken wat het doet (ErrorOutput(), SetOnClick()) Als er een woord is waar men alles in hoofdletters kan schrijven, niet doen. Voorbeelden: GetTotal() BuildWhereClause FOUT : GetHTMLStatistics JUIST : GetHtmlStatistics Attributen van een class Hoofdletters als eerste letter van een nieuw woord, de rest kleine letters Eerste letter van het woord is een hoofdletter Geen liggend streepje (_) tussen de woorden $TotalAmount Argumenten van een methode Hoofdletters als eerste letter van een nieuw woord, de rest kleine letters Eerste letter van het woord is een kleine letter Neem de regels voor de voorvoegsels in acht (txt, lbl, ) $inttotalamount Pagina 7 van 13

Queries Alle gereserveerde woorden met hoofdletters SUM() CONCAT() SELECT Als we een alias aan een tabel geven of aan een kolomnaam, dan moet er het woord AS tussenstaan in hoofdletter. SELECT * FROM address AS a SELECT lastname AS name FROM address Als er met meerdere tabellen wordt gewerkt met joins, dan moet er voor elke kolomnaam een alias staan. SELECT a.lastname, ac.countryname FROM address AS a INNER JOIN address_country AS ac ON a.countrycode = ac.countrycode De queries worden niet op 1 lange regel geschreven, maar uitgelijnd (vanaf 1 join) SELECT t.itemno, t.projectno, p.projecttitle FROM timemanagement AS t LEFT JOIN project AS p ON t.projectno = p.projectno WHERE t.itemdate <> 0 ORDER BY t.itemdate Update queries worden op 1 regel geschreven. Insert queries worden op meerdere regels geschreven. Als er gebruik gemaakt wordt van een select, dan gelden de regels voor een select statement (zie boven). INSERT INTO address (addresscode, lastname) VALUES ( $addresscode, $lastname ); UPDATE address SET addresscode = $addresscode WHERE addressno = $addressno; INSERT INTO address (addresscode, lastname) SELECT addresscode, lastname FROM address_tmp WHERE addressno > 1000; INSERT INTO address (addresscode, lastname) SELECT a.addresscode, a.lastname FROM address_tmp AS a INNER JOIN address_tmp AS a2 ON a.parentaddressno = a2.addressno WHERE a2.addressno = 5 Pagina 8 van 13

Javascript Functies Hoofdletters als eerste letter van een nieuw woord, de rest kleine letters Eerste letter van het woord is een kleine letter Geen liggend streepje (_) tussen de woorden Voorbeelden: gotourl Framework Als framework zullen we gebruik maken van Prototype al dan niet in combinatie met Scriptaculous (naar behoefte). Pagina 9 van 13

HTML Doctype Tot nu toe werd er vooral gewerkt met DOCTYPE <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Dit zouden we willen veranderen en vanaf nu <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> gebruiken. Belangrijke aanpassingen in de code: Alle tags moeten worden afgesloten. Voor /> best een spatie zetten. FOUT: <p>dit is een test. JUIST: <p>dit is een test</p> FOUT: <img src= test.jpg alt= title= > JUIST: <img src= test.jpg alt= title= /> FOUT: <hr>, <br>, JUIST: <hr />, <br />, Alle tags en attributen worden geschreven in kleine letters FOUT: <P STYLE= >Dit is een test</p> JUIST: <p style= >Dit is een test</p> De elementen moeten op de juiste manier worden genest. Bij HTML was het nog mogelijk op de foutieve manier te nesten. FOUT: <b><i>dit is een test</b></i> JUIST: <b><i>dit is een test</i></b> Geen Block elementen in een inline element FOUT: <span><div></div></span> JUIST: <div><span></span></div> XHTML documenten moeten binnen een <html></html>root element staan. DOCTYPE altijd in hoofdletters geschreven! Er moeten dubbele aanhalingstekens staan rond de waarden van een attribuut. FOUT: <table width=100%> JUIST: <table width= 100% > Attributen moeten voluit geschreven worden. FOUT: <input checked> JUIST: <input checked= checked /> Pagina 10 van 13

Het attribuut name wordt vervangen door id (niet voor elementen binnen een form omdat de waarden worden doorgegeven met POST). FOUT: <form name= frmtest > JUIST: <form id= frmtest > Gebruik & in plaats van & tussen de argumenten FOUT: <a href= item.php?itemno=5&lang=nl > JUIST: <a href= item.php?itemno=5&lang=nl > Voor een overzicht van alle elementen en attributen: 1. http://www.blackwidows.co.uk/resources/tutorials/xhtml/index.php 2. http://www.w3schools.com/tags/default.asp Pagina 11 van 13

Digital Mind special Websitestructuur Verklaring: bron httpdocs o admin o images photolib filelib user company general o css o js o languages.php o index.php o pagehead.php o pagefoot.php o pageleft.php o pageright.php o item.php o news.php o php In de css -map komen alle stylesheets. Deze hebben als extensie.css, behalve als het echt nodig mocht zijn.php te gebruiken. In de js -map komen alle javascript bestanden en includes. Deze hebben als extensie.js, behalve als het echt nodig mocht zijn.php te gebruiken. In languages.php worden de labels en andere taalafhankelijke informatie bijgehouden voor de hele website. Zelfs als er slechts van 1 taal gebruik wordt gemaakt. Zo kan er naderhand snel een taal worden toegevoegd. Het is de bedoeling de pagina s naar de modules te benoemen. Een voorbeeld hiervan is dan item.php voor de dynamische pagina s, news.php voor de nieuwsberichten In de php map staan de algemene functies, classen en configbestanden. GEEN bestanden met logins en paswoorden in de httpdocs map. Extra afspraken Altijd de extensie.php gebruiken Voor classes en functiebibliotheken ook.php gebruiken, niet.inc of.class lib_ voor libraries ajax_ voor bestanden die via een ajax call opgeroepen worden Speciaal voor de front-end Functies plaatsen in lib_website.php (php map) Shopvariabelen gaan in lib_ecom.php in $arrshop[ ] (php map) Settingsvariabelen gaan in config.php in $arrwebsite[ ] (php map) Pagina 12 van 13

Algemeen gebruikte scripts Verzenden van mails : HTML Mime Mail Aanmaken van PDF bestanden : FPDF 1.6 Templating systeem : Smarty (extra document) Pagina 13 van 13