He could apply for a study visa, but he has to be accepted by an institution in Canada. Then unless he comes for a PhD, the tuition fees will be very expensive. As a PhD he can get exemptions and pay as a Canadian.
Visitor visa would probably be the way. However you know he will have to go to Ankara or Dubai for biometrics, so it also mean some extra expenses. You will need to write an invitation letter for his visa application. He should have sufficient ties to Iran to satisfy CIC that he intends to leave at the end of his visit in Canada. That will be the difficult part. If he has a job, that's definitely a plus. If he has a lease or a property that is a very good tie to Iran. At this point, I would not mention that you want to invite him to marry him, because even if dual intent is allowed, I think it can make it more difficult for him to get the visitor visa.
If his visitor visa gets approved. Once he is here, you get married. If possible, have some family members (those that would support the relation) attend the wedding. Have as many friends and relatives as possible. With the wedding certificate in hands, you can apply for inland sponsorship with an open work permit for him. Doing that, he will be allowed to stay here legally even after his visitor visa will expire. You'll certainly need to write a detailed letter of why you did not marry in Iran, why you did not cohabited for long period of time, that your parents do not approve your relationship,...
If his visa is refused. You may try filling a conjugal sponsorship, but this will be a very difficult route. However, from your story, you might qualify. It's definitely true that it is not easy for Iranians to get visa to travel and that you currently cannot live together.
Best of luck with the whole process.