In alcuni casi ho delle funzioni come questa:

if ($_SESSION['login'] == "yes"){

che però mi restituisce il notice che la variabile non è inizializzata.

Ho risolto o così (vedendo se la variabili è settata):

if (isset($_SESSION['login']) and ($_SESSION['login'] == "yes")){

Oppure così:

if (@$_SESSION['login'] == "yes")){

Premesso che non voglio togliere i Notice dalla configurazione di Apache, ma voglio scrivere in maniera corretta il codice, quale delle 2 soluzioni è più corretta?
Oppure esiste un altro modo migliore?