generate wallets in exchanges like binance? I'm a Laravel developer and I have a project in exchanges field. I need to know how can I generate deposit address for per coin belongs to per user.
I want to do this in secure way and I need to best suggestions.
Is HD wallets best choice for this situation? Do all coins have HD wallets?
According to https://bitcoin.org/en/glossary/hd-protocol

Definition

The Hierarchical Deterministic (HD) key creation and transfer protocol (BIP32), which allows creating child keys from parent keys in a hierarchy. Wallets using the HD protocol are called HD wallets

So this allows you to create lots of addresses just from a Master Key

Are they secure?

As far as you don't leak your mnemonic, all your addresses are safe

Do all coins have HD wallets? 

HD wallets provides you a way of managing the addresses more efficiently and easily. So coins don't have wallets, addresses managed by those wallet can hold coins

Hope this was helpful!