2. What is it?
PHP is a scripting language commonly used on web
servers.
Stands for “PHP: Hypertext Preprocessor”
Open source
Embedded code
Comparable with ASP
Multiple operating systems/web servers
3. More About PHP
PHP is free software released under the PHP License.
PHP typically runs on a web server that takes PHP as
input and gives out HTML pages as output.
PHP is installed on more than 20 million websites and
1 million web servers.
PHP has a syntax similar to C and Java.
The current version of PHP is 5.2.x.
4. What can it do?
Dynamic generation of web-page content
Database interaction
Processing of user supplied data
Email
File handling
Text processing
Network interaction
And more…
5. Brief History of PHP
PHP (PHP: Hypertext Preprocessor) was created by Rasmus Lerdorf in
1994. It was initially developed for HTTP usage logging and server-side
form generation in Unix.
PHP 2 (1995) transformed the language into a Server-side embedded
scripting language. Added database support, file
uploads, variables, arrays, recursive
functions, conditionals, iteration, regular expressions, etc.
PHP 3 (1998) added support for ODBC data sources, multiple platform
support, email protocols (SNMP,IMAP), and new parser written by
Zeev Suraski and Andi Gutmans .
6. Brief History of PHP
PHP 4 (2000) became an independent component of the web server for
added efficiency. The parser was renamed the Zend Engine. Many
security features were added.
PHP 5 (2004) adds Zend Engine II with object oriented
programming, robust XML support using the libxml2 library, SOAP
extension for interoperability with Web Services, SQLite has been
bundled with PHP
As of August 2004, PHP is used on 16,946,328 Domains, 1,348,793 IP
Addresses http://www.php.net/usage.php This is roughly 32% of all
domains on the web.
7. Fundamentals
PHP is embedded within xhtml pages within the tags:
<?php … ?>
The short version of these tags can also be used: <? …
?>
Each line of PHP is terminated, like MySQL, with a
semi-colon.
9. Features of PHP
Performance
Relatively fast for an interpreted language.
Database Connectivity
Support for MySQL, Oracle, dbm, DB2, PostgreSQL
Can connect to any database which provides an ODBC
driver (Open Database Connectivity Standard) – e.g. MS
Access.
10. Features of PHP
Existing Libraries
PHP was originally designed for web use – lots of
functions for common web-development tasks (e.g.
Sending email, XML parsing, etc.)
Portability
Supported on Windows, Mac OS X, other Unix-like
systems (e.g. Linux).
11. Features of PHP
Object-Oriented Programming
Similar syntax and features as C++ and Java –
inheritance, attribute visibility
(private, protected), abstract
classes/methods, constructors and destructors, etc.
Popularity
As a result, lots of documentation, books, and web
tutorials.
12. PHP Usage
Server-Side Scripting Language
Must have a web server and the PHP interpreter
installed.
PHP interpreter processes pages before they are served
to clients.
15. About MySQL
GNU Free, open-source, multi-platform
Implements the standard SQL language
Relational DBMS
Written in C and C++
Uses MyISAM B-tree disk tables
Uses in-memory hash tables for temporary tables
16. Building On MySQL
What languages can we use for building an application on
MySQL?
ODBC Connector
JDBC Connector
.NET Connector
Web scripting languages
PHP, ASP, JSP
17. Uses of PHP and MySQL
Anything in a MySQL database can be viewed on a
webpage
Any information which can be captured from a website can
be stored into a database
18. Connecting to MySQL from PHP
/* Connection */
$username = ‘user’; // username
$password = ’password'; // password
$webhost = 'localhost'; // host (localhost or something on a web
server)
$db = ’test'; // the database
$dbc = mysql_connect($webhost, $username, $password) or
die("<p>Could not connect: <i>" . mysql_error());
@mysql_select_db($db) or die("<p>Could not find database - $db -
<i>" . mysql_error() . "</i>");
19. MySQL is Built Into PHP
There are function calls to connect to a MySQL
server, send SQL commands, and retrieve data from
the server
22. XAMPP – What’s the tool?
XAMPP (pronounced as ZAMP) is a small and light Apache
distribution containing the most common web
development technologies in a single package.
Acronym for:
X- Read as "cross", meaning cross-platform)
A-Apache HTTP Server
M-MySQL
P-PHP
P-Perl
23. Features of XAMPP
• Ideal tool for developing and testing applications in PHP &
MySQL.
• Takes less time than installing each of its components
separately.
• Multiple instances of XAMPP can exist on a single
computer.
• Allow website designers and programmers to test their
work on their own computers without any access to the
Internet
• XAMPP also provides support for creating and
manipulating databases in MySQL and SQLite among
others.
24. How to install ?
Go to http://www.apachefriends.org/en/xampp.html
Versions available for Linux, Windows, Solaris, Mac OS X
26. Types of XAMPP
WAMP - Windows
MAMP – Mac OS X
SAMP - Solaris
LAMP - LINUX
27. XAMPP Configuration
Starting :
• To start XAMPP simply call this command :
• You should now see something like this on your screen :
• If you get any error messages please take a look at the
Linux FAQ.
/opt/lampp/lampp start
Starting XAMPP 1.7.4...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.
28. XAMPP Configuration
Stopping :
• To stop XAMPP simply call this command :
• You should now see something like this on your screen :
• XAMPP for Linux is now stopped.
Starting XAMPP 1.7.4...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stoped.
/opt/lampp/lampp stop
29. Recommended Texts for Learning PHP
Larry Ullman’s books from the Visual Quickpro series
PHP & MySQL for Dummies
Beginning PHP 5 and MySQL: From Novice to
Professional by W. Jason Gilmore
(This is more advanced and dense than the others, but
great to read once you’ve finished the easier books. One
of the best definition/description of object oriented
programming I’ve read)
31. Resources
Xampp
Combines an Apache web server, PHP, and MySQL into
one simple installation service.
Very little configuration required by the user to get an
initial system up and running.
http://www.apachefriends.org/en/xampp.html