When do we use "için" and when do we use "-e/-a"?
For example we could say: "Bu yer halka açık değil" But can we say : "Bu yer halk için açık değil"?
How about: "Ona hediye aldım" and "onun için hediye aldım"? what are the rules here?
thanks in advance to anyone who answers
This is not a question of grammar, but of style.
"bu yer halka açık", "evim sana açık", "kapım ona açık" are much more commonly said than "halk için", "senin için" or "onun için". The idea, I guess, is that permission has been given to the public/you/him; they may enter the area.
"İçin" would also be understood but it's just not the common way to convey the idea. This kind of things happen in every language. I once saw a bilingual warning sign in Turkish and in English. It read: Girmeyiniz / Don't Enter and it made me chuckle and think at the same time. No one can really correct the grammar of the English sentence, but it's not the natural way to put it in such a context. "No entry / No entrance" would certainly be more natural.
Ona hediye aldım / Onun için hediye aldım are both okay depending on what you're stressing.
"Ona hediye aldım" stresses the transaction. "I bought a gift and I'll give it to him."
"Onun için hediye aldım" stresses the destination. "I bought a gift for him".
Long story short, there is no difference. Note that the second sentence can also be said when you're not the one who'll be giving the gift. Say your friend has a birthday tomorrow, but you have no time to buy a present. So I do that for you even though I won't be attending the party. "I've bought a gift for him; you can give it to him tomorrow."
Most of the time "-e/-a" and "için" are interchangeable