The "correct" way of linking to PHP pages is for linking TO them from PHP code. It does more than just create a link. It handles whether the link is to an external or internal page, whether it should be opened in a new window or tab, and whether the page being linked to should be encrypted. This is why it is best practise to use it when possible.
However, EZ-Pages are designed to allow users to insert HTML onto a page not PHP, which is why you need the explicit HTML instead of a PHP function when creating a link ON an EZ-Page.
I don't know if this explains the specific error that you got, but hope that it clarifies why each is the "correct" approach is different contexts.
Bookmarks