כמובן שהדרך המומלצת היא לקחת design pattern שמתאים לך ולהשתמש בו,
אני אתייחס כרגע לשימוש בתשתית MVC:MVC זאת תשתית שמבוססת על שלושה חלקים:
Model - אחראי על שמירה של הנתונים שלך + הController מבקש ממנו מידע כדי להעביר לView
Controller - בעצם דואג לתקשר עם הmodel להביא את הנתונים לבצע את הלוגיקה שצריך על הנתונים ולהעביר אותם לview הcontroller גם לא חייב לתקשר עם הmodel יכול להיות שסתם אתה תבצע בקשה לcontroller להחזיר את הזמן בשרת, אז בעצם אתה רק תבצע לוגיקה שתחזיר לך את הזמן בשרת וזהו.
View - בעצם מה שמודפס למסך והמשתמש רואה.
עכשיו זה נורא נוח לעשות את ההפרדה הזאת ואני אקח את הדוגמא שלך כדי להסביר את זה.
תחשוב שאת הלוגיקה של אם המשתמש מחובר או לא אתה מבצע בcontroller וכל מה שאתה מעביר לview שלך זה מידע שהוא מדפיס, הview לא צריך להיות אחראי על הבדיקות האלה.
גם אחרי זה שאתה ניגש לקוד במידה ויש באג, בדרך כלל אתה לא תחפש אותו בview אם לא שינית בו כלום, אתה תלך לקונטרולר, תראה שכל הלוגיקה מתבצעת כמו שצריך, ואז רק בסוף תראה שהview משתמש במידע שמעבירים לו כמו שצריך.
אבל אם אתה לא עובד עם framework אז התשובה בשבילך היא כן אני לא רואה בעיה עם זה.
ולגבי דרך מוסתרת, אף אחד לא רואה את הקוד PHP שלך, אז מה זאת אומרת להסתיר?
אם אבטחה של האתר חשובה לך תעבור לframework נורמלי בMVC אני יכול להמליץ לך על Zend Framework או CakePHP הם כבר נותנים לך מודולים מוכנים שדואגים לעשות login ועוד המון המון המון תוספות אחרות!
לך על זה לא תתבאס