Courses & Workshops I've Taught
-
- 2
- 3
Build a Basic PHP Website
This project will show you how to build a simple website using the PHP programming language. The web site, a media library, will let you organize and display your Books, Movies and Music. You could easily use this project to create a website that lets you organize and display any type of item: Branch Locations, Products, Services, Events, even Courses like we have here on Treehouse.
-
- 1
- 2
Using Cookies and JWTs for Secure Authentication
Refactor an existing authentication project by using cookies and JSON Web Token to increase security. Cookies are a way for a browser to store information while tokens are a stand-in or representation for something else.
-
- 1
- 2
- 3
Getting Started with PHP Unit Testing
For all us imperfect programmers, I have some great news. There are tools that can help you keep those mistakes from breaking your application. They can also help you find and fix bugs faster, while at the same time, preventing those bugs from ever coming back. Many of these tools revolve around testing.
-
- 1
- 2
Introduction to User Authentication in PHP
Do you want users to be able to interact with your site? Do you want users who are active participants in the content you provide? That interaction could be purchasing products or adding products to sell, leaving comments or providing blog posts. No matter which type of interaction your site provides to users, you'll need a way to authenticate those users. In this course we'll lay the foundation for keep your data safe and secure while building a platform for active participation.
-
- 1
Introduction to Regular Expressions
Regular Expressions are like having a secret code for telling a computer exactly what you want. Regex, as it's often referred to, is a text string for describing a search pattern. You can think of it as a supercharged version of a find tool. In this course, we'll explore what regular expressions are, and get some practice using them.
-
- 1
- 2
- 3
Build a REST API with PHP
Build a REST API using the Slim Microframework.
-
- 1
Templating with Twig
Templating languages and tools are used with frameworks like Slim and Laravel to incorporate PHP and logic into static HTML web pages. In this course we will see how to apply Object-Oriented methodology to views (web pages with HTML).
-
- 1
- 2
Introducing MVC Frameworks in PHP
In this course we will build upon what we have learned about Object-Oriented Programming to build a basic website. By using the Slim Microframework, we will explore common MVC concepts without the framework hiding too much functionality out of the box.
-
- 1
Introduction to REST APIs
Many of the APIs you'll encounter on the Web use an underlying design idea known as REST, which stands for Representational State Transfer. Understanding what and how a REST API provides will help you build better and stronger APIs for your users.
-
- 1
- 2
- 3
- 4
Creating User Experiences
Join us as we learn the basic principles of User Experience Design and how it shapes everyday interactions with products. By structuring products around usersโ needs, we can ensure that the products do their job. You will learn how to meet users where they are, think through intuitive experiences, and create products that more effectively meet both your goals and your end usersโ goals. This course will help you think more critically through the steps and decisions a user makes while interacting with your product. If youโre considering a career in User Experience (UX) or want to learn more about it, this course will expose you to how to design and plan around the people who use your product.
-
- 1
Environment Variables with PHP
In the lifecycle of an application, there are multiple environments such as Development, Testing and Production. Each environment may have its own unique sources and credentials that need to be managed and secured. Environment variables are accessible to any programming language, and allow applications to adapt to their environment while keeping credentials secure.
-
4 minPractice
Practice Hashing Passwords in JavaScript
When storing users' passwords, the most important thing to keep in mind is that you should always hash your passwords. Hashing is a one-way process of securing data with a strong algorithm. As of 2017, the accepted hashing algorithm is bcrypt.
Viewed -
5 minPractice
Practice Hashing Passwords in PHP
When storing userโs passwords, the most important thing to keep in mind is that you should always hash your passwords. Hashing is a one-way process of securing data with a strong algorithm. As of 2017, the accepted hashing algorithm is bcrypt.
Viewed -
- 1
- 2
- 3
Introduction to Application Security
Welcome to the realm of web security, where millions of dollars and peopleโs lives are on the line. Well, not in all cases, but some! From protecting static web sites to the most complex of web services and APIs, every web developer should be aware of and adept at writing secure code and building systems that can stand up to the strongest of malicious users. In this course, we will lay the groundwork for what you need to know to get started exploring the vast field of web security, and along the way you will begin to realize that security isnโt about checking boxes, but rather about embedding the thought process and principles of rock-solid security into every line of code you write. First, we will discuss why security matters to you as a web developer, then we will look at data security at an implementation level, then finally we will examine the art of maintaining your websites, apps, and services on a daily basis.
-
- 1
- 2
- 3
Designing Interfaces in PHP
An interface is a type of contract that assures that certain abilities are available on on a particular object class. We'll write and extend multiple interfaces, then implement them to design and match functionality. Interfaces do not store any implementation details themselves. To share implementation details between classes, we harness the power of inheritance. Abstract classes prevent a parent class from being directly instantiated, while at the same time defining methods that MUST be implemented in any extending children. This course will combine interface contracts with class hierarchy to leverage the benefits of each concept. We'll explain the differences between interfaces and abstract classes, and give you the knowledge you need to build and implement both in your own projects.
-
5 minPractice
Practice Including PHP with HTML
Practice using PHP to include variables, files and dates within an HTML page.
Viewed -
5 minPractice
Practice PHP if/else Statements
Practice using if, else and elseif statements to control the flow of your application.
Viewed -
4 minPractice
Practice PHP String Manipulation
Practice creating, manipulating and outputting string variables in PHP.
Viewed -
5 minPractice
Practice PHP Number Variables
Practice creating, manipulating and outputting numeric variables including integers and floats.
Viewed -
- 1
- 2
Extending Object-Oriented PHP
You should already be familiar with writing simple classes in PHP. In this course you will learn how extend the use of these classes to reuse code.
-
- 1
Browser Persistent Data with PHP
With smartphones, smartwatches and even smart appliances, the internet of things has brought us into a world to rival sci-fi novels. We're no longer content with a simple search. We want context. We expect our devices to know our locations, preferences, desires and goals. We expect tailored suggestions, reminders and announcements. Most of the time we don't even realize how much our devices or websites are setup to assist us until our connection is broken or we try to use a different device, and all of a sudden our history and setting aren't there and it's so much harder to do or find anything. Users have come to expect so much and it's just getting worse. So what does that mean to you as a programmer? How can you make your own applications "user aware"? It starts with data persistence.
-
- 1
- 2
File Handling with PHP
PHP can do so much more than include files. In this course we'll explore reading and writing files from a directory. We'll also take advantage of built-in parsing functions for working with common file formats to read and write CSV, XML and JSON data.
-
- 1
- 2
- 3
- 4
PHP User Authentication
Learn how to implement a custom user authentication system that controls users access to web resources, using password hashing and JSON Web Tokens for security. The system lets users sign up, log in, and log out, limiting access to certain actions based on authorization.
-
- 1
- 2
Using the GitHub API with PHP
Application Programming Interfaces, or APIs, provide a method for connecting your site to a โthird-partyโ web service. We'll use the GitHub API to explore how RESTful APIs allow us to retrieve and update information residing on an external system.
-
26 minWorkshop
Dependency Management with Composer
In this course we'll learn about packages, dependencies, repositories and versioning. We'll be using a PHP tool called Composer for managing all these pieces to work together with our application.
Viewed -
18 minWorkshop
Basic Exception Handling with PHP
Exceptions are the object-oriented approach to handling errors. An exception is an object that is โthrownโ by your application in the event that something goes wrong. They allow you to customize how a program handles errors, and gracefully degrades an application.
Viewed -
- 1
- 2
- 3
- 4
CRUD Operations with PHP
In this course we'll delve into the full spectrum of database interactions. Whether the application is an e-commerce, or social network site, or even a todo app on your phone, the data needs to change over time. CRUD is an acronym that refers to the four main operations that you'd want to perform on data in a database: Create, Read, Update, Delete.
-
- 1
- 2
- 3
PHP Arrays and Control Structures
This course builds on the foundational skills covered in the PHP Basics course. We'll explore conditionals, loops and the compound variable -- arrays. All of which help your write more powerful and intelligent programs using less code.
-
- 1
- 2
- 3
- 4
PHP Basics
In this course I'll walk you through the basics of the language, ranging from basic statements to conditionals. We'll be creating a simple "Unit Converter" as well as a "Daily Exercise Program". We'll then finish up by combining those programs with HTML to create a personal webpage to demonstrate your skills.
-
- 1
- 2
- 3
- 4
Object-Oriented PHP Basics
At a glance, object-oriented programming can appear to be far more complex than simple procedural, or inline, code. However, this doesnโt have to be the case. Because object-oriented programing is similar to the way human beings perceive the real world, using the object-oriented approach, can help you visualize the solution to a problem more easily. Object-oriented programming, or OOP for short, is a style of coding that allows developers to group similar tasks into containers. In PHP, containers are defined using classes. A class contains all the functions and variables that describe an object.
-
- 1
- 2
- 3
- 4
- 5
Integrating PHP with Databases
Building a PHP-driven page is the first step in mastering PHP. The true power of PHP shines when you connect it to a data source like an API or a Database. To introduce you to databases, we'll use an example project -- a Personal Media Library application. We'll refactor this project by replacing an associative array with a database to provide a more robust and scalable tool to store the data in the media library. In the process, you'll learn how to use PDO -- a PHP extension to communicate with a database. You'll also learn about relational databases including how to search for data across multiple tables, as well as how to add common web site features like search forms and pagination.
-
36 minWorkshop
Basic Error Handling in PHP
An undeniable fact of software development is that bugs will crop up in your code and lead to undesirable outcomes. Error handling is the process of what to do when those errors occur.
Viewed -
21 minWorkshop
Introduction to PHP7
It's an exciting time to be part of PHP. The release of PHP7 is just the tip of the iceberg. In this workshop we'll cover the top features and improvements to the language as well as some things to look out for when upgrading.
Viewed -
7 minWorkshop
MAC: Local PHP Dev Environment
Also check out Windows: Local Dev Environment (https://teamtreehouse.com/library/setup-your-local-development-environment). Most developers prefer to build applications locally, on their own computers, rather than on hosted servers. Working locally allows you to work more quickly because you donโt have to wait for your changes to be saved to a remote server and you donโt have to worry about issues like internet connectivity.
Viewed -
6 minWorkshop
Windows: Local PHP Dev Environment
Visit our MAC: Local Dev Environment (http://teamtreehouse.com/library/mac-local-php-dev-environment). Most developers prefer to build applications locally, on their own computers, rather than on hosted servers. Working locally allows you to work more quickly because you donโt have to wait for your changes to be saved to a remote server and you donโt have to worry about issues like internet connectivity.
Viewed