Top Banner
Script Programming Script Programming 876132 876132 Sutep JUNKHIAW [email protected] m
43

Script Programming 876132 Sutep JUNKHIAW [email protected].

Dec 26, 2015

Download

Documents

Loren Wade
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Script ProgrammingScript Programming876132876132

Sutep JUNKHIAW

[email protected]

Page 2: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Basic PHP and JAVA Script, types of data, commands for checking, control commands, functions, pointer, variable sets, structural PHP language and JAVA Script, pre-processor, data files, and its application on geoinformatics data and work.

Page 3: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Course Syllabus

See the Document

Page 4: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Work Group for 1-ProjectWork Group for 1-Project

Topic ::Geo-Hydrospheric Atmosheric Research Center : Faculty of Geoinformatics, Burapha University

Topic ::Geo-Hydrospheric Atmosheric Research Center : Faculty of Geoinformatics, Burapha University Eastern - Geographic Database

Eastern - Water and Rainfall Database

Eastern - Socio-Economic Database

Page 5: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Developing Web Developing Web Applications with PHPApplications with PHP

RAD for the World Wide Web

Page 6: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

AgendaAgenda

– Introduction– PHP Language Basics– Built-in Functions– PHP on Linux and Windows– Tricks and Tips– PHP 5– Examples

Page 7: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• What is PHP?– PHP stands for "PHP Hypertext

Preprocessor”– An embedded scripting language for HTML

like ASP or JSP– A language that combines elements of

Perl, C, and Java

Page 8: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• History of PHP– Created by Rasmus Lerdorf in 1995 for

tracking access to his resume– Originally a set of Perl scripts known as the

“Personal Home Page” tools– Rewritten in C with database functionality– Added a forms interpreter and released as

PHP/FI: includes Perl-like variables, and HTML embedded syntax

Page 9: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• History of PHP (cont.)– Rewritten again in and released as version 2.0

in November of 1997– Estimated user base in 1997 is several

thousand users and 50,000 web sites served– Rewritten again in late 1997 by Andi Gutmans

and Zeev Suraski– More functionality added, database support,

protocols and APIs

Page 10: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• History of PHP (cont.)– User base in 1998 estimated 10,000 users

and 100,000 web sites installed– Version 3.0 was released in June 1998 as

PHP– Estimated user base in tens of thousands

and hundreds of thousands of web sites served

Page 11: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• History of PHP (cont.)– Rewritten again in 1997 by Andi Gutmans

and Zeev Suraski– More functionality added (OOP features),

database support, protocols and APIs– PHP 3.0 is released in June 1998 with some

OO capability– The core is rewritten in 1998 for improved

performance of complex applications

Page 12: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• History of PHP (cont.)– The core is rewritten in 1998 by Zeev and

Andi and dubbed the “Zend Engine”– The engine is introduced in mid 1999 and

is released with version 4.0 in May of 2000– The estimated user base is hundreds of

thousands of developers and several million of web sites served

Page 13: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• History of PHP (cont.)– Version 5.0 will include version 2.0 of the

Zend Engine• New object model is more powerful and

intuitive• Objects will no longer be passed by value; they

now will be passed by reference• Increases performance and makes OOP more

attractive

Page 14: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• Netcraft Statistics– 11,869,645 Domains, 1,316,288 IP Addresses

Page 15: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

IntroductionIntroduction

• Performance*– Zdnet Statistics

• PHP pumped out about 47 pages/second • Microsoft ASP pumped out about 43 pages/second • Allaire ColdFusion pumped out about 29

pages/second • Sun Java JSP pumped out about 13 pages/second

* From PHP HOWTO, July 2001

Page 16: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• The Script Tags– All PHP code is contained in one of several

script tags:• <?

// Some code?>

• <?php// Some code here?>

Page 17: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• The Script Tags (cont.)• <script language=“PHP">

// Some code here</script>

– ASP-style tags• Introduced in 3.0; may be removed in the future • <%

// Some code here%>

Page 18: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• The Script Tags (cont.)– “Echo” Tags

– <table><tr> <td>Name:</td><td><?= $name ?></td></tr><tr> <td>Address:</td><td><?= $address ?></td></tr></table>

Page 19: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Hello World!: An Example– Like Perl, there is more than one way to do

it• <?php echo “Hello World!”; ?> • <?php

$greeting = “Hello World!” printf(“%s”, $greeting);php?>

Page 20: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Hello World!: An Example (cont.)• <script language=“PHP”>

$hello = “Hello”; $world = “World!”; print $hello . $world</script>

Page 21: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Constants define a string or numeric value– Constants do not begin with a dollar sign– Examples:

• define(“COMPANY”, “Acme Enterprises”);

• define(“YELLOW”, “#FFFF00”);

• define(“PI”, 3.14);

• define(“NL”, “<br>\n”);

Page 22: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Using a constant

• print(“Company name: “ . COMPANY . NL);

Page 23: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Data types

• Integers, doubles and strings– isValid = true; // Boolean– 25 // Integer– 3.14 // Double– ‘Four’ // String– “Total value” // Another string

Page 24: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Data types

• Strings and type conversion– $street = 123;– $street = $street . “ Main Street”;– $city = ‘Naperville’;

$state = ‘IL’;– $address = $street;– $address = $address . NL . “$city, $state”;– $number = $address + 1; // $number equals 124

Page 25: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Data types

• Arrays– Perl-like syntax

• $arr = array("foo" => "bar", 12 => true); – same as

• $arr[“foo”] = “bar”;• $arr[12] = true;

Page 26: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables

• Arrays (cont.)– <?php

$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));

echo $arr["somearray"][6]; // 5 echo $arr["somearray"][13]; // 9 echo $arr["somearray"]["a"]; // 42?>

Page 27: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Objects

– Currently not much more advanced than than associative arrays Using constants

– Before version 5.0, objects are passed by value• Slow• Functions can not easily change object variables

Page 28: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP Language BasicsPHP Language Basics

• Constants, Data Types and Variables– Operators

– Contains all of the operators like in C and Perl (even the ternary)

– Statements– if, if/elseif– Switch/case– for, while, and do/while loops– Include and require statements for code reuse

Page 29: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Built-in FunctionsBuilt-in Functions

• What comes In the box?– Array Manipulator Functions

• sort, merge, push, pop, slice, splice, keys, count

– CCVS: Interface to Red Hat’s credit system– COM functions: Interface to Windows COM

objects– Date and Time Functions

• getdate, mkdate, date, gettimeofday, localtime, strtotime, time

Page 30: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Built-in FunctionsBuilt-in Functions

• What comes In the box?– Directory Functions

• Platform independent

– Error Handling Functions• Recover from warnings and errors

– Filesystem Functions• Access flat files• Check directory, link, and file status information• Copy, delete, and rename files

Page 31: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Built-in FunctionsBuilt-in Functions

• What comes In the box?– IMAP Functions

• Manipulate mail boxes via the IMAP protocol

– LDAP Functions• Works with most LDAP servers

– Mail Functions• mail($recipient, $subject, $message)

Page 32: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Built-in FunctionsBuilt-in Functions

• What comes In the box?– Database Functions

• dba: dbm-style abstraction layer• dBase• Frontbase• Informix• Ingres II• Interbase• mSQL

Page 33: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Built-in FunctionsBuilt-in Functions

• What comes In the box?– Database Functions (cont.)

• MySQL• Oracle• PostgreSQL• SQL Server

– MING• Macromedia Flash

– PDF• Create/manipulate PDF files dynamically

Page 34: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Built-in FunctionsBuilt-in Functions

• What comes In the box?– POSIX Functions

• Manipulate process information

– Regular Expression Functions• Uses POSIX regex

– Semaphore and Socket Functions• Available only on Unix

– Session Management Functions

Page 35: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP on Linux and WindowsPHP on Linux and Windows

• Code Portability– The obvious: don’t use Unix or Windows

specific functions– Create a reusable module for file system

differences, for example:– if( PHP_OS == "Linux" )

{ $ConfigPath = "/var/www/conf"; $DataPath = "/var/www/data";}

Page 36: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP on Linux and WindowsPHP on Linux and Windows

• Code Portability– if( ereg("WIN", PHP_OS) )

{ $ApachePath= “C:/Program Files/Apache Group/Apache”; $ConfigPath = ”$ApachePath/htdocs/conf"; $DataPath = "$ApachePath/htdocs/data";}

$ConfigFile = "$ConfigPath/paperwork.conf";$CountryList = "$DataPath/countries.txt";$StateAbbrList = "$DataPath/usstateabbrs.txt";$StateNameList= "$DataPath/usstatenames.txt";

Page 37: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Tricks and TipsTricks and Tips

• Coding– Prototype your web pages first

• Separate the design of the site from the coding

– Turn repetitive code into functions• Makes for more maintainable and reusable

code

– Turn grunt code into functions• Database access, configuration file access

Page 38: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Tricks and TipsTricks and Tips

• Debugging– Feature: PHP is not a strongly typed

language• Variables can be created anywhere in your

code

– Undocumented Feature: PHP is not a strongly typed language

• Typos in variable names will cause stuff to happen

Page 39: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Tricks and TipsTricks and Tips

• Debugging– Use scripts to dump form and session

variables• Write scripts to dump data to discover bad or

missing data

Page 40: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Tricks and TipsTricks and Tips

• Development Tools– Color coding editors

• vim, Emacs, Visual SlickEdit

– IDEs• Windows

– Macromedia Dreamweaver– Allaire Homesite

– Zend’s PHPEdit

• Linux– ???

Page 41: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

PHP 5PHP 5

• Release Date– ???

• Features– Complete objects

• Objects with constructors

• Abstract classes

• Private, protected and abstract functions

• Private, protected and constant variables

• Namespaces

• Exception handling with try/catch blocks

Page 42: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

ResourcesResources

• PHP Downloads and Online Documentation

– www.php.net

• Community– www.phpbuilder.com: articles on PHP, discussion

forums– www.phpresourceindex.com: over 1,000 PHP scripts– www.phpvolcano.com: PHP 5 information

• Newsgroups– comp.lang.php

Page 43: Script Programming 876132 Sutep JUNKHIAW sutep28@yahoo.com.

Questions?Questions?

– Any Questions• www.php.net

– Community• www.phpbuilder.com: articles on PHP,

discussion forums

– Newsgroups• comp.lang.php