cfphp zce 01 basics

52
CFPHP ZCE Training Session One: PHP Basics 1

Upload: michael-girouard

Post on 17-Jan-2015

1.898 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Cfphp Zce 01 Basics

CFPHP ZCE TrainingSession One: PHP Basics

1

Page 2: Cfphp Zce 01 Basics

In Today’s Episode• PHP Files

• Data Types

• Variables & Constants

• Operators

• Control Structures

• Errors

• Summary

• Useful Resources

2

Page 3: Cfphp Zce 01 Basics

PHP Files

3

Page 4: Cfphp Zce 01 Basics

Scripts

• Default Extension: .php

• May be Overridden via Server Conf

• Not Compiled, Interpreted

• Thus, PHP is a text-processing language

4

Page 5: Cfphp Zce 01 Basics

Tags

• Standard Tags

• <?php ?>

• Short Tags

• <? ?>

5

Page 6: Cfphp Zce 01 Basics

Tags

• Script Tags

• <script language=“PHP”></script>

• ASP Tags

• <% %>

• * Standard tags are the only recommendation

6

Page 7: Cfphp Zce 01 Basics

Newlines

• Interpreter removes newlines at end of all scripts

• This prevents “Headers Already Sent” errors

7

Page 8: Cfphp Zce 01 Basics

Statement Termination

• Semicolons terminate PHP statements

• function_call();

• $a = 123;

• There are few exceptions

• Control Structures

• Last Line in PHP Script

8

Page 9: Cfphp Zce 01 Basics

Comments

• // Inline Comment

• # PERL Style Comment

• /* C StyleMultilineComment */

9

Page 10: Cfphp Zce 01 Basics

Whitespace

• PHP = Loosely Typed

• Whitespace is usually ignored

• Exceptions:

• Opening/Closing Tags

• Keywords

• Functions/Variable Names

10

Page 11: Cfphp Zce 01 Basics

Code Blocks

• Defined by { Curly Braces }

• Groups code into related blocks

• Runs under specific circumstances

• Functions

• Conditionals

• Loops

11

Page 12: Cfphp Zce 01 Basics

Language Constructs

• Similar to Functions... different rules

• if(), while(), for(), foreach(), function()

• echo() vs print()

• die(), exit()

12

Page 13: Cfphp Zce 01 Basics

Data Types

13

Page 14: Cfphp Zce 01 Basics

Data Types

• 2 Main Categories

• Scalar Values

• Compound Values

14

Page 15: Cfphp Zce 01 Basics

Data Types

• Numeric Types

• Integer

• Floating Point

15

Page 16: Cfphp Zce 01 Basics

Data Types

• Integers

• Sined values only

• Defined Via

• Decimal Notation

• Octal Notation

• Hexadecimal Notation

16

Page 17: Cfphp Zce 01 Basics

Data Types

• Floating Point

• AKA: Doubles, Floats

• Defined Via:

• Decimal Notation

• Exponential Notation

17

Page 18: Cfphp Zce 01 Basics

Data Types

• Strings

• Junkdrawers for Binary Data (Usually Text)

• Single Quotes = Simple Strings

• Double Quotes = Complex Strings

• Heredoc = Long Complex Strings

18

Page 19: Cfphp Zce 01 Basics

Data Types

• Booleans

• TRUE

• FALSE

19

Page 20: Cfphp Zce 01 Basics

Data Types

• Compound Data Types

• Array

• Object

20

Page 21: Cfphp Zce 01 Basics

Data Types

• Other Data Types

• null

• Resources

21

Page 22: Cfphp Zce 01 Basics

Variables & Constants

22

Page 23: Cfphp Zce 01 Basics

Syntax

• Defined by $

• Names may be alpha-numeric

• May contain underscores

• May NOT begin with a Number

23

Page 24: Cfphp Zce 01 Basics

Variable Variables

• Variable Name becomes a variable

• Generally not recommended

• Code Difficult to read

24

Page 25: Cfphp Zce 01 Basics

Variable Existance

• isset()

25

Page 26: Cfphp Zce 01 Basics

Constants

• Similar to variables, but not

• Values Stored once, may never be changed

• Names are suggested to be in ALL_CAPS

• define(), defined()

26

Page 27: Cfphp Zce 01 Basics

Operators

27

Page 28: Cfphp Zce 01 Basics

Arithmetic

• Addition: +

• Subtraction: -

• Multiplication: *

• Division: /

• Modulus: %

28

Page 29: Cfphp Zce 01 Basics

Arithmetic

• Increment Before: ++$a

• Increment After: $a++

• Decrement Before: --$a

• Decrement After: $a--

29

Page 30: Cfphp Zce 01 Basics

String Concatenation

• Period is only Concatenation Operator

• Two Ways to Concatenate

• $c = $a . $b;

• $a .= $b;

30

Page 31: Cfphp Zce 01 Basics

Assignment

• Simple Assignment

• Arithmetic/Bitwise Assignment

• $a += $b;

• $a *= $b;

31

Page 32: Cfphp Zce 01 Basics

References

• $a = 4;$b = $a;$a = 6;

echo $b;

32

Page 33: Cfphp Zce 01 Basics

References

• $a = 4;$b &= $a;$a = 6;

echo $b;

33

Page 34: Cfphp Zce 01 Basics

References

• Scalar Values and Arrays are always COPIED

• Objects are Passed Via Reference

34

Page 35: Cfphp Zce 01 Basics

Comparison

• Results of Comparison Operations are ALWAYS boolean

• Equal ==

• Identical ===

• Not Equal !=

• Not Identical !==

35

Page 36: Cfphp Zce 01 Basics

Comparison

• Less Than <

• Greater Than >

• Less Than or Equal To <=

• Greater Than or Equal To >=

36

Page 37: Cfphp Zce 01 Basics

Logical

• NOT !

• AND && / and

• OR || / or

• XOR

37

Page 38: Cfphp Zce 01 Basics

Other

• Error Control Operator @

• @mysql_connect(‘foo’, ‘bar’, ‘beer’);

• Backtick

• $a = `ls -la`;

38

Page 39: Cfphp Zce 01 Basics

Control Structures

39

Page 40: Cfphp Zce 01 Basics

Conditionals

• if

• else

• elseif

• Ternary

• $a = (isset($b)) : ‘mike’ ? ‘chris’;

40

Page 41: Cfphp Zce 01 Basics

Loops

• while

• do...while

• for

• break / continue

41

Page 42: Cfphp Zce 01 Basics

Errors

42

Page 43: Cfphp Zce 01 Basics

Error Levels

• Compile Time

• Errors occured during script compilation.

• Script execution is halted

43

Page 44: Cfphp Zce 01 Basics

Error Levels

• Fatal Errors

• Errors in syntax, etc.

• Script execution is halted

44

Page 45: Cfphp Zce 01 Basics

Error Levels

• Recoverable Errors

• Significant failures

• Can still run in a safe way

45

Page 46: Cfphp Zce 01 Basics

Error Levels

• Warnings

• Recoverable errors.

• Script execution continues

46

Page 47: Cfphp Zce 01 Basics

Error Levels

• Notices

• Generally small errors. IE Undefined variables, etc.

• Script execution continues

47

Page 48: Cfphp Zce 01 Basics

Error Reporting

• php.ini Directives

• error_reporting

• display_errors

• log_errors

48

Page 49: Cfphp Zce 01 Basics

Handling Errors

• set_error_handler()

49

Page 50: Cfphp Zce 01 Basics

Questions?

50

Page 51: Cfphp Zce 01 Basics

Useful Resources

51

Page 52: Cfphp Zce 01 Basics

Reading

• ZEND PHP 5 Certification Study Guidehttp://www.phparch.com/shop_product.php?itemid=135

• Programming PHPhttp://en.wikibooks.org/wiki/PHP

• Practical PHP Programminghttp://hudzilla.org/phpwiki/index.php?title=Main_Page

• The PHP Manualhttp://us2.php.net/manual/en/

52