Showing source code for /jcd/useful/webcon/2005/lang.php

Show normal

More about showing source

 

<?php
include "header.php";
include 
"navbar.php";
$b "_lt_b_gt__lt_font color=\"red\"_gt_";
$ub "_lt_/font_gt__lt_/b_gt_";
?>

<p>The examples on this page are highlighted for this course.  You should
find more detailed explanations via the <a
href="http://php.net/manual/en/">documentation</a> on php.net.</p>

<p>PHP is a fully featured programming language like many others.  It
may take a few weeks to competently learn the language and several
years to master it.  For the purposes of this course, we will
illustrate the basic principles.  Examples of the concepts below will be 
demonstrated later in this course.</p>

<ul>

<li><h3>Ways of tagging PHP code</h3>
    <ul>
    <li><p><code class="b">&lt;?php</code> ...your php code... <code class="b">?&gt;</code></p>
    <ul><li>Example: <pre>&lt;?php $var1 = "sam"; ?&gt;</pre></ul>
    <li><p><code class="b">&lt;?</code> ...your php code... <code class="b">?&gt;</code></p>
    <ul><li>Example: <pre>&lt;? $var1 = "sam"; ?&gt;</pre></ul>
    <li><p><code class="b">&lt;?php echo"</code> ...some expression... <code class="b">"; ?&gt;</code></p>
    <ul><li>Example: <pre>&lt;?php echo $_SERVER['REMOTE_USER']; ?&gt;</pre></ul>
    <li><p><code class="b">&lt;?= </code> ...some expression... <code class="b"> ?&gt;</code></p>
    <ul><li>Example: <pre>&lt;?=$_SERVER['REMOTE_USER']; ?&gt;</pre></ul>
    </ul>

<li><h3><a href="http://php.net/manual/en/language.basic-syntax.comments.php">Comments</a></h3>
    <p>A <i>comment</i> is a part of programming code that doesn't do anything
    functionally, rather it is simply a note for others who read the code.</p>


<?php $tmp = <<<END
<html>
<body>

<?php
$b//$ub
$b//$ub This is an example of a comment in PHP.  It is any text on a line that begins
$b//$ub with two forward slashes.  C++ uses the same style.  
$b//$ub
echo "<p>PHP will print this</p>
\\n"; $b//$ub But not this - the rest of the line is a comment


$b#$ub PHP also understands the Perl and UNIX shell way of creating comments,
$b#$ub any text on a line that follows a hash (#) character.
$b#$ub
echo "<p>PHP will print this</p>
\\n"; $b#$ub But not this - the rest of the line is a comment


$b/*$ub Finally, PHP also understands the C method of comments;
$b *$ub lines that are between a slash/asterisks and an asterisks/slash.
$b */$ub
$b/*$ub Like this. $b*/$ub
echo "<p>PHP will print this</p>
\\n"; $b/*$ub But not this - the text between the asterisks is a comment $b*/$ub
?>


$b<!--$ub HTML also has its own form of comments. $b-->$ub
$b<!--$ub

    Since PHP embeds its tags into HTML, you may use HTML comments within the HTML
    code like this.

$b-->$ub

</body>
</html>
END;
print_code_custom($tmp);
?>
    
<li><h3><a href="http://php.net/manual/en/language.variables.php">Variables</a></h3>

  <ul>

  <li><p>A <i>variable</i> is a portion of memory that may be accessed
  from the program for temporary storage of a value.</p>

  <li><p>It may be accessed by a name you choose.  In PHP variables
  begin with a dollar sign, such as <code class="b">$var1</code>.</p>

  <li><p>You may set a value to a variable by an <i>assignment</i>
  using the equal sign, such as <code class="b">$var1 = "a
  tree";</code>.  The value always transfers from right to left - so
  <code class="b">"a tree" = $var1;</code> would return an error.  Note
  that equivalency, such as that used in mathematics, is tested by other
  symbols such as the double equal sign operator (==).</p>

  <li><p>Similar to other languages, variables may have <i>types</i> or
  a property of the variable that descibes what types of data it my
  hold.  PHP has several <a
  href="http://php.net/manual/en/language.types.php">types</a> such
  as simple (a.k.a. <i>scalar</i>) types: boolean (true or false),
  integer, float (floating point number) and strings (words); and more
  complex types such as arrays, objects and resources.</p>

  <li><p>Like Perl, variables can be assigned to new values of different types on the
  fly.  However, there are some differences:</p>

    <ul>

    <li><p>Perl uses other symbols to denote other types, such as @name
    for (ordered) arrays, or %name for associated arrays or hashes; PHP
    uses the dollar sign, $name for all types.</p>

    <li><p>PHP has one type of array, which may be used as either a sorted or 
    associative array.</p>

    </ul>

  </ul>

<li><h3><a href="http://php.net/manual/en/language.operators.php">Operators</a></h3>

  <ul>

  <li><p>Addition, <code class=b>+</code>.</p>

    <ul>
    <li><p><code class=b>$var1 + $var2</code></p>
    </ul>

  <li><p>Subtraction, <code class=b>-</code>.</p>

    <ul>
    <li><p><code class=b>$var1 - $var2</code></p>
    </ul>

  <li><p>Multiplication, <code class=b>*</code>.</p>

    <ul>
    <li><p><code class=b>$var1 * $var2</code></p>
    </ul>

  <li><p>Division, <code class=b>/</code>.</p>

    <ul>
    <li><p><code class=b>$var1 / $var2</code></p>
    </ul>

  <li><p>Modulus (take the remainder), <code class=b>%</code>.</p>

    <ul>
    <li><p><code class=b>$var1 % $var2</code></p>
    </ul>

  <li><p>String concatenation operator . (period).</p>

    <ul>
    <li><p><code class=b>$var1 . $var2</code> is the same as <code
    class=b>"$var1$var2"</code>.</p>
    </ul>

  <li><p><a href="http://php.net/operators.comparison">Comparison Operators</a></p>

    <ul>

    <li><p>Equal: <code class=b>$a == $b</code>, return TRUE if both $a and $b have the same value</p>

    <li><p>Identical: <code class=b>$a === $b</code>, return TRUE if both $a and $b have the same value <i>and</i> the same type</p>

    <li><p>Not Equal: <code class=b>$a != $b</code>, return TRUE if $a and $b do not have the same value</p>

    <li><p>Not Identical: <code class=b>$a !== $b</code>, return TRUE if $a and $b either have <i>different</i> values <i>or different</i> types</p>

    <li><p>Less Than: <code class=b>$a < $b</code>, return TRUE if $a is <i>less than</i> $b</p>

    <li><p>Greater Than: <code class=b>$a > $b</code>, return TRUE if $a is <i>greater than</i> $b</p>

    <li><p>Less Than or Equal: <code class=b>$a <= $b</code>, return TRUE if $a is <i>less than or equal to</i> $b</p>

    <li><p>Greater Than or Equal: <code class=b>$a >= $b</code>, return TRUE if $a is <i>greater than or equal to</i> $b</p>

    </ul>
  </ul>

<li><h3><a href="http://php.net/manual/en/language.functions.php">Functions</a></h3>

    <p>A <b>function</b> in a procedural language like PHP is similar
    to the mathematical term function in which it:</p>

    <ul>
    <li>has a name
    <li>accepts one or more <i>parameters</i> or <i>arguments</i> as input
    <li>returns a value as output
    <li>is written in the form <code class="b"><i>return value</i> = function_name( argument1, argument2 )</code>
    <li>it does something meaningful on your input and returns the output
    <li>you can write your own
    </ul>
    <p>However there are some differences:</p>
    <ul>
    <li>for some functions, the parentheses are optional, such as echo()
    <li>some functions take input but do not provide output, some vice-versa, some neither take input nor give output, but instead do something else useful
    </ul>
    <p>Here is an example of code that defines and uses a function called <i>my_fun</i>, which calls other functions:</p>

<?php $tmp = <<<END
<html>
<body>

<?php

echo my_fun("you","see","this");

function my_fun (
\$var1, \$var2, \$var3)
{
    echo ("
\$var1 \$var2 \$var3?<br>");
    return ("
\$var3 \$var1 \$var2<br>");
}

// This should print to the screen:
// you see this?
// this you see
?>

</body>
</html>
END;
print_code($tmp);
?>

<li><h3>Control Structures</h3>

  <p>A <i>conditional statement</i> or <a
  href="http://php.net/manual/en/language.control-structures.php">control
  structure</a> is a device to designate which code instructions are
  to be followed and in which order.  Some basic examples follow:</p>


<?php $tmp = <<<END
<html>
<body>

<?php

\$var1 = true;

// If the expression in the parenthesis of the if statement resolve to be true
// run the code between the following braces; if not, skip them.
if ( 
\$var1 ) {
        echo "<p>The expression is true</p>
\\n";
}


// You may write a statement that has an else clause, which will be ran if
// the statement turns out to be false.
if ( 
\$var1 ) {
        echo "<p>The expression is true</p>
\\n";
}else{
        echo "<p>The expression is false</p>
\\n";
}


// For statements to be run a multiple of times, the following will run
// as long as the expression is true.
\$var1 = 10;
while ( 
\$var1 > 0 ) {
        echo "<p>The expression is still true</p>
\\n";
    
\$var1 = \$var1 - 1;  // subtract 1 from \$var1
    // The above may also be written as: 
\$var1 -= 1;
    // Since it is a simple decrement, it can also be written as: 
\$var1--;
}


// Loops that are to be ran a specific number of times like the above can
// be simplified into a for loop:
for ( 
\$var1 = 10; \$var1 > 0; \$var1-- ) {
        echo "<p>The expression is still true</p>
\\n";
}


// Here is a loop that can iterate over each element of an array
\$my_array = array("one","two","three","four");
foreach ( 
\$my_array as \$element ) {
    echo "
\$element ...\\n";
}


// You can also handle the keys and values of an associated array separately
// with ease:
foreach ( 
\$_GET as \$parameter => \$value ) {
        echo "<p>Browser submitted CGI parameter \"
\$parameter\" set to \"\$value\"</p>\\n";
}

?>

</body>
</html>
END;
print_code($tmp);
?>

<li><h3>Procedural Programming and Object-Oriented Programming</h3>

  <p>This lesson will concentrate entirely upon <i>procedural
  programming</i> in PHP, however PHP also has <i>object-oriented</i>
  capabilities.  Similar to Perl, both languages tend to offer most
  features of the language in both procedural and object-oriented.</p>

</ul>

<?php
include "navbar.php";
include 
"footer.php";
?>

 

Penn State

Web Conference 2005

Writing PHP for ITS/ASET Web services

The PHP Language

<- Back - Your First PHP Script|Up |Learning Server Info - Next ->

The examples on this page are highlighted for this course. You should find more detailed explanations via the documentation on php.net.

PHP is a fully featured programming language like many others. It may take a few weeks to competently learn the language and several years to master it. For the purposes of this course, we will illustrate the basic principles. Examples of the concepts below will be demonstrated later in this course.

<- Back - Your First PHP Script|Up |Learning Server Info - Next ->

If you have any questions, feel free to ask me.

Content by: Jeff D'Angelo <jcd@psu.edu> © 2005

Show normal

Last update on: Mon Jun 13, 2005, 2:11:28 AM