la aplicacion del ambito es como te indico el amigo
hidek1 para clases y funciones en tus condicionales y bucles sigue siendo el mismo ambito de tu script, porque las funciones no?? hasta donde tengo entendido porque son sub-rutinas que se utilizan en una llamada de echo las puedes declarar en un archivo e incluirlas para hacerles una llamada en varios, en cambio los condicionales y bucles donde los escribas se ejecutan y si los incluyes en el mismo sitio donde lo incluyes se ejecutan, espero que te aydude a entender un poco, aunque creo que lo complique