Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

Introduction to PHP Jussi Pohjolainen TAMK University of Applied Sciences

2

WEB PROGRAMMING CONCEPTS

3

Three-tiered Web Site: LAMP Client User-agent: Firefox Server Apache HTTP Server example request GET / HTTP/1.1 Host:  www.tamk.fi User-Agent: Mozilla/5.0 (Mac..) ... response Database MySQL PHP

4

Java EE Architecture (x)html / xml Applet Client Application J2EE Application Server Web Container Servlets JSP JSPs Servlets EJB Container RMI/IIOP JNDI JTA JDBC JMS JavaMail JAF Session   Beans Entity Beans Msg-Driven Beans RMI/IIOP JNDI JTA JDBC JMS JavaMai l JAF HTTP(S) JDBC JavaMail RMI IIOP JNDI JMS DB Java-Application CORBA Server Message Queue Directory Service Client Mail Server

5

Server Side Techniques Server side scripting requires installation on the server side Typically client siis only xhtml and it unaware that the xhtml was produced by a server side script Does not require any installations or add-ons  on the client

6

Server Side Techniques PHP Java EE: Servlet, JSP .NET CGI / Perl (Very old) Ruby …

7

Client Side Techniques Requires that the client supports the technique JavaScript, Applet, Flash…

8

Web Application Frameworks A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. Numerous frameworks available for many languages

9

Web App vs. Web Site? What’s the difference between Web App and Web Site? Rich Internet Application?, AJAX?, Thin Client? Full application running in your browser or just a web site?

10

PHP: HYPERTEXT PREPROCESSOR

11

Introduction to PHP PHP is a computer scripting language. Originally designed for producing dynamic web pages Appeared in 1995 PHP Group is responsible for the language, no formal specification Free software Runs on most operating systems and platforms URL: http://www.php.net

12

Response

13

Introduction to PHP Syntax PHP has quite easy syntax, if you are familiar with any c-type language It has all the same structures that you are familiar with other programming languages PHP is designed to output to browser, but it is possible to do also CLI apps.

14

Example <?php print &quot;What is your name?&quot;; $name = trim(fgets(STDIN)); print &quot;Hello &quot; . $name; ?>

15

Variables Variables in PHP are represented by a dollar sign PHP supports eight types: boolean, integer, float, double, array, object, resource and NULL

16

Example (php.net) <?php $a_bool = TRUE;  // a boolean $a_str  = &quot;foo&quot;;  // a string $a_str2 = 'foo';  // a string $an_int = 12;  // an integer echo gettype($a_bool); // prints out:  boolean echo gettype($a_str);  // prints out:  string // If this is an integer, increment it by four if (is_int($an_int)) { $an_int += 4; } // If $bool is a string, print it out // (does not print out anything) if (is_string($a_bool)) { echo &quot;String: $a_bool&quot;; } ?>

17

Naming Variables Case-sensitivity Start with letter or _ After that you can have numbers, letters and _ $var = 'Bob'; $Var = 'Joe'; print &quot;$var, $Var&quot;;      $4site = 'not yet';     $_4site = 'not yet';   

18

Constants You cannot alter the value of constant after declaration define(CONSTANT, &quot;value&quot;); print CONSTANT;

19

Magic Constants PHP has lot of predefined variables Also predefined constants: __LINE__ __FILE__ __FUNCTION__ __CLASS__ __METHOD__ See: http://fi.php.net/manual/en/language.constants.predefined.php

20

Scope <?php $a = &quot;Pekka&quot;; print ”My name is &quot; . $a; ?>

21

Scope <?php $a = &quot;Pekka&quot;; function Test() { print $a; } print ”My name is ”; Test(); ?>

22

Scope <?php $a = &quot;Pekka&quot;; function Test() { global $a; print $a; } print ”My name is ”; Test(); ?>

23

Control Structures If, else, elseif, switch while, do-while, for foreach break, continue

24

PHP BASICS

25

Strings Single quoted:  'this is a $variable' Double quoted:  &quot;this is a $variable&quot; Heredoc: $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. EOD;

26

Modifying the String $mj = &quot;moi&quot;; print $mj[0]; $mj[0] = 'x'; print $mj; $mj = $mj . &quot; hei&quot;; print $mj; $mj .= &quot; terse&quot;; print $mj;

27

String functions A lot of functions… http://www.php.net/manual/en/ref.strings.php

28

Statements Every statement ends with ; $a = 5; $a = function(); $a = ($b = 5); $a++;  ++$a; $a += 3;

29

Operators Arithmethic: +,-,*,% Setting variable: = Bit: &, |, ^, ~, <<, >> Comparison: ==, ===, !=, !==, <, > <=, >=

30

Ternary Operator $variable = (1 < $x) ? 'value1' : 'value2'; Equals if(1 < $x) { $variable = 'value1'; } else { $variable = 'value1'; }

31

Execution Operator Execute command in shell $result = `ls -al`; print $result; Does the same than  shell_exec()  - function

32

Logical Operators $a and $b $a or $b $a xor $b !$a; $a && $b; $a || $b;

33

String Operators Two operators for strings: '.' and '.=' '.' – combining strings. '.=' – appends string to the end. Example: $v= &quot;Hello&quot; . $b; $v.= &quot;Hello&quot;;

34

Arrays See  http://php.tpu.fi/~pohjus/lectures/php/php-arrays.html

35

CONTROL STRUCTURES

36

IF <?php if ($a > $b) {     echo &quot;a is bigger than b&quot;; } else {     echo &quot;a is NOT bigger than b&quot;; } if ($a > $b) {     echo &quot;a is bigger than b&quot;; } elseif ($a == $b) {     echo &quot;a is equal to b&quot;; } else {     echo &quot;a is smaller than b&quot;; } ?>

37

While and Do-While <?php $a=0; while($a<10){ print $a; $a++; } $i = 0; do {     print $i; } while ($i > 0); ?>

38

For for ($i = 1; $i <= 10; $i++) {     print $i; }

39

Foreach $arr = array(1, 2, 3, 4); foreach ($arr as $value) {     echo $value; }

40

Switch switch ($i) { case 0:     echo &quot;i equals 0&quot;;     break; case 1:     echo &quot;i equals 1&quot;;     break; case 2:     echo &quot;i equals 2&quot;;     break; }

41

PHP COMBINED WITH XHTML

42

Response

43

Example: spaghetti-way <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <title>xhtml-doku</title> <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /> </head> <body> <h1>Title</h1> <?php    print &quot;<p>Hello from PHP!</p>&quot;; ?> </body> </html>

44

Better ways Use functions Use OO

45

PHP AND USER INPUT

46

PHP and User Input via Forms See http://php.tpu.fi/~pohjus/lectures/php/forms-and-php.html

More Related Content

Introduction to PHP

  • 1. Introduction to PHP Jussi Pohjolainen TAMK University of Applied Sciences
  • 3. Three-tiered Web Site: LAMP Client User-agent: Firefox Server Apache HTTP Server example request GET / HTTP/1.1 Host: www.tamk.fi User-Agent: Mozilla/5.0 (Mac..) ... response Database MySQL PHP
  • 4. Java EE Architecture (x)html / xml Applet Client Application J2EE Application Server Web Container Servlets JSP JSPs Servlets EJB Container RMI/IIOP JNDI JTA JDBC JMS JavaMail JAF Session Beans Entity Beans Msg-Driven Beans RMI/IIOP JNDI JTA JDBC JMS JavaMai l JAF HTTP(S) JDBC JavaMail RMI IIOP JNDI JMS DB Java-Application CORBA Server Message Queue Directory Service Client Mail Server
  • 5. Server Side Techniques Server side scripting requires installation on the server side Typically client siis only xhtml and it unaware that the xhtml was produced by a server side script Does not require any installations or add-ons on the client
  • 6. Server Side Techniques PHP Java EE: Servlet, JSP .NET CGI / Perl (Very old) Ruby …
  • 7. Client Side Techniques Requires that the client supports the technique JavaScript, Applet, Flash…
  • 8. Web Application Frameworks A web application framework is a software framework that is designed to support the development of dynamic websites, Web applications and Web services. Numerous frameworks available for many languages
  • 9. Web App vs. Web Site? What’s the difference between Web App and Web Site? Rich Internet Application?, AJAX?, Thin Client? Full application running in your browser or just a web site?
  • 11. Introduction to PHP PHP is a computer scripting language. Originally designed for producing dynamic web pages Appeared in 1995 PHP Group is responsible for the language, no formal specification Free software Runs on most operating systems and platforms URL: http://www.php.net
  • 13. Introduction to PHP Syntax PHP has quite easy syntax, if you are familiar with any c-type language It has all the same structures that you are familiar with other programming languages PHP is designed to output to browser, but it is possible to do also CLI apps.
  • 14. Example <?php print &quot;What is your name?&quot;; $name = trim(fgets(STDIN)); print &quot;Hello &quot; . $name; ?>
  • 15. Variables Variables in PHP are represented by a dollar sign PHP supports eight types: boolean, integer, float, double, array, object, resource and NULL
  • 16. Example (php.net) <?php $a_bool = TRUE; // a boolean $a_str = &quot;foo&quot;; // a string $a_str2 = 'foo'; // a string $an_int = 12; // an integer echo gettype($a_bool); // prints out: boolean echo gettype($a_str); // prints out: string // If this is an integer, increment it by four if (is_int($an_int)) { $an_int += 4; } // If $bool is a string, print it out // (does not print out anything) if (is_string($a_bool)) { echo &quot;String: $a_bool&quot;; } ?>
  • 17. Naming Variables Case-sensitivity Start with letter or _ After that you can have numbers, letters and _ $var = 'Bob'; $Var = 'Joe'; print &quot;$var, $Var&quot;;      $4site = 'not yet';    $_4site = 'not yet';   
  • 18. Constants You cannot alter the value of constant after declaration define(CONSTANT, &quot;value&quot;); print CONSTANT;
  • 19. Magic Constants PHP has lot of predefined variables Also predefined constants: __LINE__ __FILE__ __FUNCTION__ __CLASS__ __METHOD__ See: http://fi.php.net/manual/en/language.constants.predefined.php
  • 20. Scope <?php $a = &quot;Pekka&quot;; print ”My name is &quot; . $a; ?>
  • 21. Scope <?php $a = &quot;Pekka&quot;; function Test() { print $a; } print ”My name is ”; Test(); ?>
  • 22. Scope <?php $a = &quot;Pekka&quot;; function Test() { global $a; print $a; } print ”My name is ”; Test(); ?>
  • 23. Control Structures If, else, elseif, switch while, do-while, for foreach break, continue
  • 25. Strings Single quoted: 'this is a $variable' Double quoted: &quot;this is a $variable&quot; Heredoc: $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. EOD;
  • 26. Modifying the String $mj = &quot;moi&quot;; print $mj[0]; $mj[0] = 'x'; print $mj; $mj = $mj . &quot; hei&quot;; print $mj; $mj .= &quot; terse&quot;; print $mj;
  • 27. String functions A lot of functions… http://www.php.net/manual/en/ref.strings.php
  • 28. Statements Every statement ends with ; $a = 5; $a = function(); $a = ($b = 5); $a++; ++$a; $a += 3;
  • 29. Operators Arithmethic: +,-,*,% Setting variable: = Bit: &, |, ^, ~, <<, >> Comparison: ==, ===, !=, !==, <, > <=, >=
  • 30. Ternary Operator $variable = (1 < $x) ? 'value1' : 'value2'; Equals if(1 < $x) { $variable = 'value1'; } else { $variable = 'value1'; }
  • 31. Execution Operator Execute command in shell $result = `ls -al`; print $result; Does the same than shell_exec() - function
  • 32. Logical Operators $a and $b $a or $b $a xor $b !$a; $a && $b; $a || $b;
  • 33. String Operators Two operators for strings: '.' and '.=' '.' – combining strings. '.=' – appends string to the end. Example: $v= &quot;Hello&quot; . $b; $v.= &quot;Hello&quot;;
  • 34. Arrays See http://php.tpu.fi/~pohjus/lectures/php/php-arrays.html
  • 36. IF <?php if ($a > $b) {    echo &quot;a is bigger than b&quot;; } else {    echo &quot;a is NOT bigger than b&quot;; } if ($a > $b) {    echo &quot;a is bigger than b&quot;; } elseif ($a == $b) {    echo &quot;a is equal to b&quot;; } else {    echo &quot;a is smaller than b&quot;; } ?>
  • 37. While and Do-While <?php $a=0; while($a<10){ print $a; $a++; } $i = 0; do {    print $i; } while ($i > 0); ?>
  • 38. For for ($i = 1; $i <= 10; $i++) {    print $i; }
  • 39. Foreach $arr = array(1, 2, 3, 4); foreach ($arr as $value) {    echo $value; }
  • 40. Switch switch ($i) { case 0:    echo &quot;i equals 0&quot;;    break; case 1:    echo &quot;i equals 1&quot;;    break; case 2:    echo &quot;i equals 2&quot;;    break; }
  • 43. Example: spaghetti-way <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <title>xhtml-doku</title> <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /> </head> <body> <h1>Title</h1> <?php print &quot;<p>Hello from PHP!</p>&quot;; ?> </body> </html>
  • 44. Better ways Use functions Use OO
  • 45. PHP AND USER INPUT
  • 46. PHP and User Input via Forms See http://php.tpu.fi/~pohjus/lectures/php/forms-and-php.html