Convertir una fecha en texto natural

Código PHP

PHP – Conversiones – Date

Función que nos devuelve una fecha en formato yyyy-mm-dd en un texto natural del formato «lunes, 23 de enero del 2009».

No comprueba si la fecha es correcta,

/**
 * Class HelperConvert
 */
abstract class HelperConvert
{
    /**
     * Devuelve el dia de la fecha 
     * en formato texto (lunes, 23 de enero del 2009)
     * Formato fecha: yyyy-mm-dd
     *
     * @param $fecha
     *
     * @return string
     */
    function date2Text($fecha)
    {
        $arrDias = array('Domingo',
            'Lunes',
            'Martes',
            'Miercoles',
            'Jueves',
            'Viernes',
            'Sábado');

        $arrMeses = array(
            'Enero',
            'Febrero',
            'Marzo',
            'Abril',
            'Mayo',
            'Junio',
            'Julio',
            'Agosto',
            'Septiembre',
            'Octubre',
            'Noviembre',
            'Diciembre'
        );

        list($anio, $mes, $dia) = explode('-', $fecha);

        $wd = date('w', mktime(0, 0, 0, $mes, $dia, $anio));

        return $arrDias[ $wd ] . ", "
                   . $dia . " de "
                   . $arrMeses[ $mes - 1 ] . " del "
                   . $anio;
    }
}