This course is designed to give existing software developments the foundations of developing in the LAMP environemnt.
Review of Linux
Logging in to the System, the Root User, How the Filesystem is Organised, Opening and Saving Files, File and Folder Access Permissions, Remote Access using Telnet/SSH and FTP.
Using Apache
Creating a Hello World! page, Configuring Apache, Modules and Directives, the Document Root, User Folders, Virtual Folders and Aliasing, Scripts and Script Aliases, Permissions, Authentication and Authorisation, The .htaccess file.
Web Application Overview
The Architecture of Web Applications, Holding a dialogue with the user, HTML and CGI, The HTTP GET/POST Methods, Hosting Executable Files, Supporting Additional Programming Languages, Using Modules in Apache.
PHP
Creating a PHP Hello World! Page, Language Syntax, Flow Control – Loops and Conditions, Data Types, Arrays, Identifiers and Variables, Scope, Predefined Variables, Functions.
Using Forms with PHP
Taking Input from the User, Using Forms, HTML Input Fields, Hidden Fields, Accessing Files on the Server, Logging User Activity, Uploading Files from the Client, Exception Handling.
Using MySQL
Relational Databases, Creating a database, Creating Tables, Columns and Data Types, the SQL Language, Using scripts, Queries, Modifying Data, Users and Permissions, Securing MySQL.
Keeping Your Data Clean
What is a Good Design? Normalisation and Denormalisation, Client-side Vs. Server Side Constraints, Data Integrity, Data Abstraction, Views and Stored Procedures.
The Database in PHP
Connecting to the Database, Executing SQL Statements in PHP, Displaying Tables from Queries, Inserting Data, Updating Existing Data, Building Dynamic Sites.
State Management
Stateless and Stateful Applications, Hidden Input Tags, Using Cookies, Sessions and Session Management, Session IDs and Session Variables, Saving State in the Database.
Putting it all together
Creating Solutions with LAMP, Saving User Preferences, Local Search Pages, Indexing, Shopping Carts, Dashboards.
Existing developers who need an overview of Linux, PHP and MySQL development environments.