From 7609556e5108c7ea657f3d7f3fd58de707796496 Mon Sep 17 00:00:00 2001 From: Eddie Abou-Jaoude Date: Thu, 10 Sep 2015 07:10:41 +0100 Subject: [PATCH 1/6] PHP 'Hello World' Tutorial added --- php/lesson1/assets/images/helloworld.png | Bin 0 -> 129791 bytes php/lesson1/tutorial.md | 84 +++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 php/lesson1/assets/images/helloworld.png create mode 100644 php/lesson1/tutorial.md diff --git a/php/lesson1/assets/images/helloworld.png b/php/lesson1/assets/images/helloworld.png new file mode 100644 index 0000000000000000000000000000000000000000..2a86f1b144da633b65dbbc314184cb3e39820467 GIT binary patch literal 129791 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

yLwcN~fnQ3?$)8xk=p2ppn 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 UX-7cEEv-0rTIUq* PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. + +Well what does this mean? It is very easy to build dynamic websites using **PHP** as the server-side language, which generates **html**. + +## What does PHP look like? + +A simple help world application would look like the following: + +*File: index.php* +```php + Date: Thu, 10 Sep 2015 08:51:19 +0100 Subject: [PATCH 2/6] Fixed port in url to browser PHP hello world app --- php/lesson1/tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/lesson1/tutorial.md b/php/lesson1/tutorial.md index 67bf2b30..bfae2546 100644 --- a/php/lesson1/tutorial.md +++ b/php/lesson1/tutorial.md @@ -75,7 +75,7 @@ $ php -S 0.0.0.0:8080 3. `0.0.0.0` is the IP that the WebServer should listen on. By using `0` it will listen on everything - fine for development 4. `8080` is the port to listen on - fine for development but in production the default port is `80` and therefore not required when accessing a URL -Lets see the script output in the browser, in your browser (ideally **Firefox** or **Chrome**) navigate to ` http://localhost:8090/` and you should see: +Lets see the script output in the browser, in your browser (ideally **Firefox** or **Chrome**) navigate to ` http://localhost:8080/` and you should see: ![Hello World](assets/images/helloworld.png) From ed367c57291620d2e0fb96bb28dfb497dc41a064 Mon Sep 17 00:00:00 2001 From: Eddie Abou-Jaoude Date: Thu, 10 Sep 2015 09:00:38 +0100 Subject: [PATCH 3/6] Fixed typos and improved summary/conclusion --- php/lesson1/tutorial.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/php/lesson1/tutorial.md b/php/lesson1/tutorial.md index bfae2546..469b0e7b 100644 --- a/php/lesson1/tutorial.md +++ b/php/lesson1/tutorial.md @@ -24,11 +24,11 @@ From the **PHP** [website](http://php.net/manual/en/intro-whatis.php) > PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. -Well what does this mean? It is very easy to build dynamic websites using **PHP** as the server-side language, which generates **html**. +Well what does this mean? It is very easy to build dynamic websites using **PHP** as the server-side language, which generates **HTML**. ## What does PHP look like? -A simple help world application would look like the following: +A simple Hello World application would look like the following: *File: index.php* ```php @@ -49,7 +49,7 @@ On the Command Line (CLI), type: php index.php ``` -And the out will be: +And the output will be: ```bash $ php index.php @@ -79,6 +79,6 @@ Lets see the script output in the browser, in your browser (ideally **Firefox** ![Hello World](assets/images/helloworld.png) -## Conclusion +## Summary -**PHP** is very easy to learn and developer Dynamic Websites and Web Applications with. +Now you should know how to create a simple **PHP** script and run it via the Command Line or via the Built-in **PHP** WebServer and see the output to the Command Line or the Browser respectively. From 2cc1fde3e4a19c6b08f445544225e1fc8e5d2767 Mon Sep 17 00:00:00 2001 From: Eddie Abou-Jaoude Date: Thu, 10 Sep 2015 17:03:48 +0100 Subject: [PATCH 4/6] Fixed typos and Improved wording --- php/lesson1/tutorial.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/php/lesson1/tutorial.md b/php/lesson1/tutorial.md index 469b0e7b..944eeb3f 100644 --- a/php/lesson1/tutorial.md +++ b/php/lesson1/tutorial.md @@ -60,7 +60,7 @@ Hello World ## How to the output in the browser? -Seeing it on the Command Line is great, but what about the browser? We will need to get a WebServer running, the easiest way is to use the buil-in PHP WebServer. +Seeing it on the Command Line is great, but what about the browser? We will need to get a WebServer running, the easiest way is to use the built-in PHP WebServer. *Note: Built-in PHP WebServer is great for Development, but **NOT** Production.* @@ -70,12 +70,12 @@ Go to the directory where you created the `index.php` file and run the following $ php -S 0.0.0.0:8080 ``` -1. You are already familiar with the `php` command from before +1. `php` is the same command from before, that we used to run our **php** script 2. `-S` means built-in WebServer 3. `0.0.0.0` is the IP that the WebServer should listen on. By using `0` it will listen on everything - fine for development 4. `8080` is the port to listen on - fine for development but in production the default port is `80` and therefore not required when accessing a URL -Lets see the script output in the browser, in your browser (ideally **Firefox** or **Chrome**) navigate to ` http://localhost:8080/` and you should see: +Lets see the script output in your web browser! In your web browser navigate to ` http://localhost:8080/` and you should see: ![Hello World](assets/images/helloworld.png) From 715f373248c27d43646ae168f5279bc89912482a Mon Sep 17 00:00:00 2001 From: Eddie Abou-Jaoude Date: Tue, 15 Sep 2015 17:46:49 +0100 Subject: [PATCH 5/6] Added link to official php installation instructions --- php/lesson1/tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/lesson1/tutorial.md b/php/lesson1/tutorial.md index 944eeb3f..d7f0a717 100644 --- a/php/lesson1/tutorial.md +++ b/php/lesson1/tutorial.md @@ -6,7 +6,7 @@ title: Introduction to PHP ##### Requirements * 15 minutes -* PHP installed - this is by default on most Operating Systems +* PHP installed - this is by default on most Operating Systems. But if not, here are the official [installation instructions](http://php.net/manual/en/install.php) ##### Achievements From fa85770610ee37bec74ca6a2dedf7b16b347a242 Mon Sep 17 00:00:00 2001 From: Eddie Abou-Jaoude Date: Tue, 15 Sep 2015 17:50:41 +0100 Subject: [PATCH 6/6] PHP installation check command added --- php/lesson1/tutorial.md | 1 + 1 file changed, 1 insertion(+) diff --git a/php/lesson1/tutorial.md b/php/lesson1/tutorial.md index d7f0a717..7ce5802a 100644 --- a/php/lesson1/tutorial.md +++ b/php/lesson1/tutorial.md @@ -7,6 +7,7 @@ title: Introduction to PHP * 15 minutes * PHP installed - this is by default on most Operating Systems. But if not, here are the official [installation instructions](http://php.net/manual/en/install.php) + * Check installation by running the following command in cli `php -v`, this should output the version, eg. **5.5.9** ##### Achievements