uitleg commentaar //

Status
Niet open voor verdere reacties.

uaejeroen

Terugkerende gebruiker
Lid geworden
7 dec 2009
Berichten
1.665
ol ben bezig uit een boek voor php daar staat:

de code bevat commentaar.

Binnen een programma/script wordt normaliter op twee verschillende plaatsen
belangrijk commentaar gezet.
Er staat uitgebreidt commentaar aan het begin van de class/bestand, o.a.:
auteur, datum, versie, datum laatste wijziging, contactgegevens auteur, evt parameters, doel van de class/bestand

Er staat commentaar bij iedere method/functie:
parameters - returnwaardes - functionaliteit

Bij Java code dit Javadoc formaat zijn bij PHP en Python in docstrings.


ik weet dat je comentaar //comentaar erachter moet zetten maar wat bedoelen ze met twee belangrijke commentaar?
 
wat raden jullie aan ?

Waar kan ik het beste commentaar string plaatsen?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" href="includes/style.css" type="text/css" media="screen" title="no title" charset="utf-8">
<title>PHP blog</title>
</head>
<body>
<div id="main">
<h1>PHP blog</h1>
<div id="blogPosts">
<?php
include ("includes/includes.php");

$blogPosts = GetBlogPosts();

foreach ($blogPosts as $post)
{
echo "<div class='post'>";
echo "<h2>" . $post->title . "</h2>";
echo "<p>" . $post->post . "</p";
echo "<span class='footer'>Posted By: " . $post->author . " Posted On: " . $post->datePosted . " Tags: " . $post->tags . "</span";
echo "</div>";
}
?>
</div>
</div>
</body>

</html>
<?php

class BlogPost
{

public $id;
public $title;//Title bericht
public $post;//bericht
public $author;//gebruiker
public $tags;
public $datePosted;

function __construct($inId=null, $inTitle=null, $inPost=null, $inPostFull=null, $inAuthorId=null, $inDatePosted=null)
{
if (!empty($inId))
{
$this->id = $inId;
}
if (!empty($inTitle))
{
$this->title = $inTitle;
}
if (!empty($inPost))
{
$this->post = $inPost;
}

if (!empty($inDatePosted))
{
$splitDate = explode("-", $inDatePosted);
$this->datePosted = $splitDate[1] . "/" . $splitDate[2] . "/" . $splitDate[0];
}

if (!empty($inAuthorId))
{
$query = mysql_query("SELECT first_name, last_name FROM people WHERE id = " . $inAuthorId);
$row = mysql_fetch_assoc($query);
$this->author = $row["first_name"] . " " . $row["last_name"];
}

$postTags = "No Tags";
if (!empty($inId))
{
$query = mysql_query("SELECT tags.* FROM blog_post_tags LEFT JOIN (tags) ON (blog_post_tags.tag_id = tags.id) WHERE blog_post_tags.blog_post_id = " . $inId);
$tagArray = array();
$tagIDArray = array();
while($row = mysql_fetch_assoc($query))
{
array_push($tagArray, $row["name"]);
array_push($tagIDArray, $row["id"]);
}
if (sizeof($tagArray) > 0)
{
foreach ($tagArray as $tag)
{
if ($postTags == "No Tags")
{
$postTags = $tag;
}
else
{
$postTags = $postTags . ", " . $tag;
}
}
}
}
$this->tags = $postTags;
}

}

?>
<?php

<?php
include 'blogpost.php';

// Change this info so that it works with your system.
$connection = mysql_connect('localhost', 'deb38778', 'geheim') or die ("<p class='error'>Sorry, we were unable to connect to the database server.</p>");
$database = "deb38778_blog";
mysql_select_db($database, $connection) or die ("<p class='error'>Sorry, we were unable to connect to the database.</p>");

function GetBlogPosts($inId=null, $inTagId =null)
{
if (!empty($inId))
{
$query = mysql_query("SELECT * FROM blog_posts WHERE id = " . $inId . " ORDER BY id DESC");
}
else if (!empty($inTagId))
{
$query = mysql_query("SELECT blog_posts.* FROM blog_post_tags LEFT JOIN (blog_posts) ON (blog_post_tags.postID = blog_posts.id) WHERE blog_post_tags.tagID =" . $tagID . " ORDER BY blog_posts.id DESC");
}
else
{
$query = mysql_query("SELECT * FROM blog_posts ORDER BY id DESC");
}

$postArray = array();
while ($row = mysql_fetch_assoc($query))
{
$myPost = new BlogPost($row["id"], $row['title'], $row['post'], $row['postfull'], $row["author_id"], $row['dateposted']);
array_push($postArray, $myPost);
}
return $postArray;
}
?>
 
Laatst bewerkt:
Toegevoegde waarde: vastleggen datgene wat vergeten zou kunnen worden

Binnen een programma/script wordt normaliter op twee verschillende plaatsen
belangrijk commentaar gezet.
Er staat uitgebreidt commentaar aan het begin van de class/bestand, o.a.:
auteur, datum, versie, datum laatste wijziging, contactgegevens auteur, evt parameters, doel van de class/bestand

Er staat commentaar bij iedere method/functie:
parameters - returnwaardes - functionaliteit
[...]
ik weet dat je comentaar //comentaar erachter moet zetten maar wat bedoelen ze met twee belangrijke commentaar?

Dat staat er toch:
  • bij het begin
  • bij elke method/functie


Maar geen paniek:
het staat hier nogal dwingend, maar in feite is commentaar niet verplicht en heeft geen invloed op de werking van de code.

Iedere (goede) programmameur is zich er van bewust dat programma-code in de loop der tijd meerdere keren onderhouden moet worden (wijzigen/aanvullen).
Soms zelfs door verschillende mensen.
Om voor iedereen duidelijk te maken waarom voor een bepaalde coonstructie is gekozen
of als simpele documentatie
is het verstandig commentaar toe te voegen aan programmacode.

Als een stukje commentaar bedoeld is om uitleg te geven over een geprogrammeerde functie, dan is het logisch dat dat commentaar ook meteen vooraf aan die functie wordt geplaatst.

Helemaal aan het begin van een bestand staan vaak enkele regels commentaar met de auteursnaam en de tijd/plaats/omstandigheden van het ontstaan van het bestand.
Ook dat is pure documentatie: wie, wat, wanneer.
 
beste Hr. Tescman
Hartelijk dank voor uw infor !!!!!!

Dus als ik het goed heb moet je bovenaan zetten

// include.php database instellingen?
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
//hier worden de php scripts aangeroepen
Controleer of er geen spel of typ fouten aanwezig zijn anders werkt het niet
<link rel="stylesheet" href="includes/style.css" type="text/css" media="screen" title="no title" charset="utf-8">
<title>PHP blog</title>
</head>
<body>
<div id="main">
<h1>PHP blog</h1>
<div id="blogPosts">
<?php
include ("includes/includes.php");

$blogPosts = GetBlogPosts();

foreach ($blogPosts as $post)
{
echo "<div class='post'>";
echo "<h2>" . $post->title . "</h2>";
echo "<p>" . $post->post . "</p";
echo "<span class='footer'>Posted By: " . $post->author . " Posted On: " . $post->datePosted . " Tags: " . $post->tags . "</span";
echo "</div>";
}
?>
</div>
</div>
</body>

</html>
<?php
// dit is de pagina waar berichten gepost worden
Hier kan men evt wijzigingen aanbrengen indien noodzakelijk
class BlogPost
{
// hier staan de invul velden
public $id;
public $title;
public $post;
public $author;
public $tags;
public $datePosted;

function __construct($inId=null, $inTitle=null, $inPost=null, $inPostFull=null, $inAuthorId=null, $inDatePosted=null)
{
if (!empty($inId))
{
$this->id = $inId;
}
if (!empty($inTitle))
{
$this->title = $inTitle;
}
if (!empty($inPost))
{
$this->post = $inPost;
}

if (!empty($inDatePosted))
{
$splitDate = explode("-", $inDatePosted);
$this->datePosted = $splitDate[1] . "/" . $splitDate[2] . "/" . $splitDate[0];
}

if (!empty($inAuthorId))
{
$query = mysql_query("SELECT first_name, last_name FROM people WHERE id = " . $inAuthorId);
$row = mysql_fetch_assoc($query);
$this->author = $row["first_name"] . " " . $row["last_name"];
}

$postTags = "No Tags";
if (!empty($inId))
{
$query = mysql_query("SELECT tags.* FROM blog_post_tags LEFT JOIN (tags) ON (blog_post_tags.tag_id = tags.id) WHERE blog_post_tags.blog_post_id = " . $inId);
$tagArray = array();
$tagIDArray = array();
while($row = mysql_fetch_assoc($query))
{
array_push($tagArray, $row["name"]);
array_push($tagIDArray, $row["id"]);
}
if (sizeof($tagArray) > 0)
{
foreach ($tagArray as $tag)
{
if ($postTags == "No Tags")
{
$postTags = $tag;
}
else
{
$postTags = $postTags . ", " . $tag;
}
}
}
}
$this->tags = $postTags;
}

}

?>
<?php

<?php
// Dit zijn de database instellingen
Vul hier MYSQL gegevens in Gebruikers naam wachtwoord en database name
include 'blogpost.php';

// Change this info so that it works with your system.
$connection = mysql_connect('localhost', 'deb38778', 'geheim') or die ("<p class='error'>Sorry, we were unable to connect to the database server.</p>");
$database = "deb38778_blog";
mysql_select_db($database, $connection) or die ("<p class='error'>Sorry, we were unable to connect to the database.</p>");

function GetBlogPosts($inId=null, $inTagId =null)
{
if (!empty($inId))
{
$query = mysql_query("SELECT * FROM blog_posts WHERE id = " . $inId . " ORDER BY id DESC");
}
else if (!empty($inTagId))
{
$query = mysql_query("SELECT blog_posts.* FROM blog_post_tags LEFT JOIN (blog_posts) ON (blog_post_tags.postID = blog_posts.id) WHERE blog_post_tags.tagID =" . $tagID . " ORDER BY blog_posts.id DESC");
}
else
{
$query = mysql_query("SELECT * FROM blog_posts ORDER BY id DESC");
}

$postArray = array();
while ($row = mysql_fetch_assoc($query))
{
$myPost = new BlogPost($row["id"], $row['title'], $row['post'], $row['postfull'], $row["author_id"], $row['dateposted']);
array_push($postArray, $myPost);
}
return $postArray;
}
?>

Zoeiets?
 
Laatst bewerkt:
Je moet het wel goed doen:

Als je commentaar bestaat uit 1 regel, kun je er // voorzetten
of #.
PHP:
# Commentaar voor 1 regel
of
PHP:
// Commentaar voor 1 regel
PHP moet wel weten waar je commentaar eindigt,
standaard is dat aan het eind van de regel.

Maar als je commentaar meerdere regels in beslag neemt
moet het er anders uitzien:

PHP:
/* Commentaar in een PHP sript dat meerdere
regels kan beslaan ziet er zo uit */


Hier vind je meer informatie:
http://www.html-site.nl/commentaar_toevoegen.php
 
beste Hr. Tescman

Nogmaals hartelijk dank voor uw informatie en advies !!
Zoals u ziet ben ik nog op ondekkingsreis, maar mag ik uw mening over mijn commentaren in de codes?

Ik vind het namelijk een beetje kort, maar ik ben niet zo'n held in comentaren schrijven
 
Beste uaejeroen,

Wat ik van de inhoud van je commentaren vindt is niet zo belangrijk;
ook die zelfverzekerdheid moet je leren:
het zijn jouw commentaren, wat jij belangrijk vind.

Let wel op dit soort dingen:
// Dit zijn de database instellingen
Vul hier MYSQL gegevens in Gebruikers naam wachtwoord en database name
Meerdere regels = andere commentaar notering (/*......*/)
 
Beste

U heeft gelijk, het is namelijk vaN mij maargoed nogmaals bedankt
 
Oeps, ik zie in nr. #5 hierboven dat het commentaar niet in het php-blok staat, maar in de html:
HTML:
<head>
//hier worden de php scripts aangeroepen
Controleer of er geen spel of typ fouten aanwezig zijn anders werkt het niet
<link rel="stylesheet" ... enz.
Dat vindt de html-validator niet leuk. ;)
In html-code moet commentaar aangegeven worden met <!-- voor het begin, en met --> voor het eind van het commentaar.
Dan zou het moeten worden:
HTML:
<head>
<!-- 
   Hier worden de php scripts aangeroepen.
   Controleer of er geen spel of typ fouten aanwezig zijn anders werkt het niet. 
-->
<link rel="stylesheet" ... enz.
=====

Maar hier is het commentaar bedoeld voor in het php-blok zelf. Dan kan het weer wel op de eerder genoemde manier, bv.:
PHP:
<?php
include ("includes/includes.php");

// Hier worden de php scripts aangeroepen.
// Controleer of er geen spel of typ fouten aanwezig zijn anders werkt het niet.
$blogPosts = GetBlogPosts();

foreach ($blogPosts as $post)
{
... enz.
Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Sidenoot: commentaar in de HTML kunnen gebruikers lezen, zorg dus dat je daar alleen dingen inzet waarvan het niet erg is als de gebruikers het te zien krijgen. Je kunt ook gewoon de php mode openen puur om een comment te zetten:

Code:
<p>Dit is een HTML.</p>
<?php // hier is een comment die users niet zien ?>
<p>Dit is meer HTML.</p>
 
Beste Mensen

Hartelijk dank voor jullie adviezen

Zoals julie zien ben ik nog lang geen held in php
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan