Advanced Topics Overview
- PHP
- Basics
- https://www.sitepoint.com/php-arrays-tutorial/
- Super Global Arrays
- Include Files
- Form Handling (and server-side validation - SKIP THE STICKY STUFF (leave that to JS) JUST VALIDATE) Start with a form that just has fName and lName then add more
- TODO: create samples for setting up a global config file (simplify the one in the api project)
- Optional params and the null-coalescing operator (not in the book)
- Debugging
- Using URL parameters to pass data from one page to another (if the timing is right we can talk about passing url params in Vue)
- Configuration (php.ini)
- Error handling
- Working with MySQL databases
- sessions and cookies
- Basics
- LAMP and Virtual Machines
- Install VirtualBox
- Create an Ubuntu VM
- Linux Command Line Basics
- Set Up a LAMP Server
- MySQL (Chapters 4 -7)
- Pros and Cons to Foreign Keys
- Model Objects
- Simulating Inheritance in a Relational DB
- Inheritance in Model Objects (use a JOIN)
- Simulating Hierarchical Data in a Relational Database (see adv-topics folder)
- Design a database and SQL queries for it
- Recursion (and hierarchical data structures)
- Regular Expressions - (chapter 14) see adv-topics folder
- URL rewriting
- HTTP
- PostMan
- Sessions and Cookies (chapter 12)
- OOPhp
- RESTFul Web Services
- Unit Testing
- Software Design
- Models
- Data Access Classes
- Controllers
- Routers
- Security Issues (chapter 13)
- preventing spam
- XSS (we could set up the rich text editor to demo this)
- SQL Injection
- Salting and Hashing Passwords
- Brute force attacks
- Dictionary attacks
- HTTPS (we should set it up on the lamp server)
- File Uploads (chapter 11) (chapter 13 had info on validating file uploads)
Stuff to prep for Mobile Apps:
- Inheritance
- Access Modifiers (public, private, protected)
- Overloading
- Overriding
- MVC
- Compare classes in C# and Java
- File IO