ITM352
E N D
Presentation Transcript
ITM352 PHP and Dynamic Web Pages: Server Side Processing
Today's Class • What is PHP and How does it used for dynamic web pages? • Diving in head first! • How PHP enables server side dynamic web pages • Starting to figure out what application programming is about… • Have confidence that you will learn! Just keep at it.
What is PHP? • A web-based programming language – "Pre-Hypertext Processor" or “PHP-Hypertext Processor” (although it originally meant “Personal Home Page”) • - All computers are directed by programs • - like very detailed recipes • - written in languages that humans can understand and be processed by computers (unlike English) • PHP is one among many thousands of such languages…
What's special about PHP? • Web-based, familiar user interfaces, easy integration with other web-based systems • Current, designed according to the latest understanding of programming language design. • Portable, so it can be run on almost any computer. • Object-oriented, like the most popular languages (Java, C++) used today for the most innovative applications. • Convenient, loaded with powerful and useful features, supports many different programming styles • Used, lots of PHP in use today (incl. the most "popular" dynamic web sites), more all the time, lots of non-trivial examples and free resources • Not Proprietary, and that’s good!
PHP Usage May 2017 Source: http://news.netcraft.com/archives/2013/01/31/php-just-grows-grows.html
How Does PHP Work? • PHP is a program that performs dynamic HTML scripting • It is a language interpreter that directly executes commands then ultimately outputs into HTML/HTTP (rather than a compiler which outputs translates commands into machine code for later execution) • The server knows to execute PHP code when the requested file has a .php extension Web Server (e.g. Apache) Client (e.g. IE) Give me page xxx.php HTML + PHP code PHP Scripting Engine output Static HTML Dynamic data (files, database, webserver, data feeds, etc.) Must have .php extension! Do exercise #1
Example Dynamic Web Page • Open your favorite text editor and type • <?php • echo '<big><center> Hello World!</center><BR>'; • echo '1+2='; • echo 1+2; • ?> • Note that PHP code will always be enclosed inside the <? … ?> or <?php … ?> tags. Outside is HTML (but notice that inside there can be HTML too) • Questions • Why is this a "dynamic" web page? • Why wouldn't this file work the same if you called it index.html? • When you do a "view source" in the browser, where is the PHP code? Do exercise #2
Tour of a PHP IDE: Simple Output • Several parts to an IDE (for us, NetBeans for PHP) • Editor (for writing code) • File manager • Preview (web-server, web-browser) • Tools (documentation, debugger, scripts, etc.) • In the IDE, let’s type and run the following: • <big><center> Hello World!</center><BR> • 1+2= • <?php • // add 1 and 2 then print out the result • echo 1+2; • ?> • Why is this the same as the previous dynamic web page example? Do exercise #3
Server Side PHP Note how this HTML is just “passed” though the PHP scripting engine • Page with current date • <big><center> The date is:</center><BR> • <?php • echo date(DATE_RFC2822); • ?> • Who’s date is used? • What if the server were in a different time zone? • Page redirection • <?php • header('Location: http://www.google.com'); • ?> • In JavaScript • window.location = 'http://www.google.com'; • HTML • <META http-equiv="refresh" content="0;URL=http://www.google.com"> What’s the difference? Do exercise #4, #5
Client vs. Server Side Processing • What’s the difference?
Libraries and Frameworks Both PHP and JavaScript have many useful frameworks and libraries to help you do just about anything! PHP: php.net/manual/en/extensions.alphabetical.php pear.php.net/packages.php, <see NetBeans project> JavaScript: DOM, JQuery, Angular, AJAX, COMET, DataTables, etc. <see NetBeans project>
Client + Server Side Processing • Compare dates • Server Time: • <?php • echo date(DATE_RFC2822); • ?> • <br> • Browser Time: • <script> • document.write( Date().toString() ); • </script> • Generating JavaScript with PHP • Make a page that generates a random color • <script> • <?php • echo "document.body.style.backgroundColor= 'rgb(" . rand(0,255) . • ',' . rand(0,255) . ',' . rand(0,255) . ")';" • ?> • </script> Do exercise #6