When use use-case diagram and when use class diagram?

i’m php developer using MVC architecture that i’m new to UML
i know use-case , class , object , activity, sequence diagrams but i don’t know for modeling a application where i should start.
i know use-case and class diagrams are structural diagrams and activity and sequence are behavior diagrams

but my questions are:

  1. for modeling a app when i should use use-case diagram and when i should use class diagram?
  2. does class diagram has abstract concept? because when i’m developing web app i have some controller and model or view also several classes that i use for different purpose (like insert data to database - validate form inputs and so on) but they don’t look like to examples of class diagram that i’v seen until now so my question is class diagram is used for show concept of our system and it doesn’t need to generate real class code form it ?

for example modeling a ticket reservation that may have some classes like this:

but we don’t write class codes like this and it can be different in programming but for view the concept we are using class diagrams . is it true ?