This is used to access non-static or object variables or methods, while self is used to access static or class variables. So, when you need to access something that belongs to a class, use self, and when you need to access a property that belongs to the class's object, use $this.