Connect with us

cómo

Cómo usar Enums en PHP 8.1

Published

on

Cómo usar Enums en PHP 8.1

PHP 8.1 finalmente agregará soporte lingüístico para enumias. Enumeres, cortos para enumeraciones, son tipos que solo pueden instasizarse con valores específicos. Se encuentran comúnmente en otros idiomas orientados a objetos, pero anteriormente han requerido que las soluciones de soluciones de usuario de Userland implementen en PHP.

Sintaxis básica

Esto es lo que parece un enumme simple:


enum PostStatus {
    case Published;
    case InReview;
    case Draft;
}

La palabra clave del caso, parte previa de las declaraciones de interruptor, se usa para delinear los valores específicos que acepta el enum. Los valores se hacen referencia de la misma manera que las constantes de la clase:


$published = PostStatus::Published;

Los enumers se comportan de manera similar a las clases e interfaces. Son totalmente compatibles con el sistema tipo, por lo que puede contemplar que una función solo acepta un valor definido en un enumeración:


class BlogPost {
 
    public function __construct(
        public string $Headline,
        public string $Content,
        public PostStatus $Status=PostStatus::Draft) {}
 
}

Aquí hay un ejemplo de usar la clase BlogPost:


// OK
$post = new BlogPost(
    "Example Post",
    "An example",
    PostStatus::Draft
);
 
// TypeError: Argument #3 ($Status) must be of type PostStatus
$post = new BlogPost(
    "Broken Example",
    "A broken example",
    "Submitted"
);


La primera instancia funciona porque su estado $ es un valor válido del PostStatus Enum. En el segundo caso, se pasa una cadena simple como $ estado, que está prohibido ya que el valor debe definirse dentro de PostStatus.

Los casos enum son representados como constantes en el objeto enumio. Esto significa que puede usarlos como valores estáticos y como parte de expresiones constantes. El constructor BlogPost muestra un caso de enumeración que se está utilizando como un valor de parámetro predeterminado, donde el estado $ se establece automáticamente en el borrador cuando la persona que llama no proporciona ningún valor.

Puede acceder a todos los valores disponibles en un Enum usando sus casos.


PostStatus::cases();
// [PostStatus::Published, PostStatus::InReview, PostStatus::Draft]

PUERTOS VS BACKED ENUMES

El poststatus enumio de arriba es un enumio puro. Solo contiene afirmaciones de casos, sin datos adicionales. PHP también le permite adjuntar un valor a los casos de enumeración, creando un enumeración respaldado.


enum PostStatus : string {
    case Published = "S1";
    case InReview = "S2";
    case Draft = "S3";
}


Aquí se ha modificado el poststatus enum para crear un enumio respaldado. El Typehint en la definición de Enum se estipula que cada caso tiene un valor de cadena asignado a él. En este ejemplo, asumimos que cada estado de publicación con nombre tiene un identificador corto asociado. Puede ser este identificador que se guarde en la base de datos cuando se persiguen las publicaciones.

Puede acceder a los valores respaldados a través de la propiedad de valor en caso de instancia:


class BlogPostRepository {
 
    public function save(BlogPost $Post) : void {
        $this -> insert(
            "blog_posts",
            [
                "headline" => $Post -> Headline,
                "content" => $Post -> Content,
                "status" => $Post -> Status -> value
            ]
        );
    }
 
}
 
$post = new BlogPost("Example", "Demo", PostStatus::Published);
(new BlogPostRepository()) -> save($post);

Este ejemplo establecería el valor del campo de estado persistido en S1, en función de la versión respaldada del PostStatus enum que se muestra arriba.

Los enumeros respaldados solo aceptan cadenas y enteros como valores. No es posible utilizar la cadena de tipo de unión | INT tampoco. Además, cada caso necesita un valor único, el siguiente ejemplo no está permitido:


enum PostStatus : string {
 
    case Published = "S1";
    case Draft = "S1";
 
}

PHP proporciona un método de utilidad en los enumeros para crear una instancia de un valor respaldado:


// fetch the blog post from earlier from the database
// the "status" field = S1
$status = PostStatus::from($record["status"]);

El método de () hidratará las instancias de los casos de valor. En este ejemplo, S1 se remonta a la caja publicada, y su código recibe una instancia de PostStatus :: Publicado.

de () lanza un ValorError si el valor de entrada no es válido; En los escenarios, donde sabe que el valor podría no ser utilizable, en su lugar se puede usar el método de prueba alternativa (). Esto devuelve nulo cuando no hay ninguna coincidencia, en lugar de lanzar el error.

Añadiendo métodos a los enumeros

¡Como enumanos se basan en clases, también puede agregar métodos!


enum PostStatus {
 
    case Published;
    case Draft;
 
    public function isPubliclyAccessible() : bool {
        return ($this instanceof self::Published);
    }
 
}

Esto le permite mantener un comportamiento específico de los casos dentro de su enumeración, en lugar de duplicarlo en su base de código.

Enums también pueden implementar interfaces:


enum PostStatus implements PublicAccessGatable {
 
    case Published;
    case Draft;
 
    public function isPubliclyAccessible() : bool {
        return ($this instanceof self::Published);
    }
 
}

Ahora puede pasar una instancia de PostStatus a cualquier cosa que acepte un PublicCessccessgatable:


class UserAuthenticator {
 
    function shouldAllowAccess(PublicAccessGatable $Resource) : bool {
        return ($this -> User -> isAdmin() || $Resource -> isPubliclyAccessible());
    }
 
}
 
$auth = new UserAuthenticator();
 
// get a blog post from the database
if (!$auth -> shouldAllowAccess($post -> Status)) {
    http_response_code(403);
}

No hay restricciones sobre lo que puede hacer con los métodos de Enumio: son métodos regulares de PHP, después de todo, pero en general esperaría que realicen algún tipo de comparación contra el caso de la instancia, luego devuelva un valor estático. Los enumeres pueden usar rasgos, por lo que puede tirar de los métodos existentes que también ha abstraído de esta manera.

Puede utilizar métodos públicos, protegidos y privados en enumias, aunque protegidos y privados tienen el mismo efecto. Los enumnos no pueden extenderse, por lo que la privada es efectivamente redundante. No puedes agregar un constructor o destructor tampoco. Los métodos estáticos son compatibles y se pueden llamar a la clase de enumeración o en sus casos.

Constantes

Enums también puede tener sus propias constantes, ya sea como valores literales regulares o una referencia a un caso enumio:


enum PostStatus {
 
    case Published;
    case Draft;
 
    public const Live = self::Published;
    public const PlainConstant = "foobar";
 
}

Esto posee el potencial de crear confusión a medida que se utiliza la misma sintaxis para acceder a los casos (instancias de enumeración) y las constantes:


$published = PostStatus::Published;
$plain = PostStatus::PlainConstant;

Solo $ Publicado satisfaría un poststatus typhint, ya que $ se refiere a un valor escalar simple.

¿Cuándo usar Enums?

Los enumnos son para ocasiones en las que necesita flexibilidad en el valor que puede tomar una variable, pero solo entre un conjunto predeterminado de casos posibles.

La clase de publicación del blog que se ejecuta a través de esta publicación es un ejemplo clásico. Las publicaciones solo pueden estar en uno de un conjunto conocido de estados, pero PHP anteriormente no tuvo una forma directa de lograr esto.

En versiones anteriores, es posible que haya utilizado este enfoque:


class PostStatus {
    const Published = 0;
    const Draft = 1;
}
 
class BlogPost {
    public function __construct(
        public string $Headline,
        public int $Status
    ) {}
}
 
$post = new BlogPost("My Headline", PostStatus::Published);

El problema aquí es que $ $ estado realmente acepta cualquier entero, por lo que la siguiente llamada sería perfectamente válida:


$post = new BlogPost("My Headline", 9000);

Además, BlogPost y Poststtatus están completamente separados, no hay forma de que alguien que lea BlogPost pueda aprender la gama de valores que se acepta $ en realidad. Si bien estos problemas se pueden mitigar utilizando los tíos de Docblock apropiados, o los paquetes de terceros “falsos”, todos agregan capas adicionales alrededor de un concepto que otros idiomas de programación hacen simples.

Agregar enumias nativas a PHP es un paso que ayuda a redondear el sistema de tipo del idioma. Finalmente, puede limitar los valores permisibles de una manera que mantiene a todos en la misma página. Si pasa un valor no válido, obtendrá un error de tiempo de ejecución. Su IDE puede ayudarlo mejor a suministrar valores correctos, ya que sabrá que $ $ sólo acepta tres opciones, en lugar de “cualquier entero”.

Conclusión

Los enumers abordan algunos puntos de dolor de desarrolladores comunes cuando se trabaja en PHP. Hacen posible conjustar los parámetros, los valores de retorno y las propiedades deben ser uno de un conjunto de opciones predeterminadas.

Los enumeres son entidades de base de código flexibles que puede mantenerse simple en forma pura, o extenderse con valores respaldados, implementaciones de interfaz y métodos personalizados. Los enumers se comportan de manera similar a los objetos regulares en la mayoría de los casos y soportan características de la clase, como __call (), __InVoke y :: Class.

Puedes enumeraciones introspectas con la nueva función enum_exists () y la clase de reflexión de reflejo. Además, los enumeran implementan dos nuevas interfaces, Unindenum (en el caso de enumias puras) y BackedEnum (para enumias con valores respaldados). Estos se pueden utilizar en un código de marco genérico que funciona con cualquier enumeración. Las interfaces no pueden ser implementadas manualmente por el código de Userland.

Enums aterrizará en PHP como parte de la versión 8.1 en noviembre de 2021. Ya están disponibles en las últimas BETA BUMS. PHP 8.1 también enviará varias características de conveniencia, incluidas las propiedades inmediatas y los tipos de intersección.

cómo

Cómo ver videos de TikTok sin usar cuentas y aplicaciones

Published

on

By

Cómo ver videos de TikTok sin usar cuentas y aplicaciones

En este artículo, le daremos consejos sobre cómo ver videos de TikTok sin tener que descargar la aplicación TikTok y sin tener que iniciar sesión primero en su teléfono celular.

Incluso de esta manera, puede navegar y ver videos de TikTok solo desde el navegador de su computadora/portátil y su teléfono.

Cómo ver videos de TikTok sin usar cuentas y aplicaciones

1. Mira videos de TikTok en el sitio oficial de TikTok

Solo necesita abrir el sitio web oficial de TikTok para ver videos, si no desea ver videos de TikTok usando la aplicación, puede usar esta opción

2. Mira videos de TikTok en Facebook.

El creador de contenido promedio de TikTok generalmente vuelve a publicar sus videos de TikTok en su cuenta de Facebook. También puede hacer esto como una alternativa a ver videos de TikTok sin una aplicación.

3. Mira videos de TikTok en Twitter.

Mientras que la mayoría de los otros usuarios a menudo comparten sus videos favoritos de TikTok en otras plataformas como Twitter. También puede intentar navegar por la pestaña Vídeos mientras realiza una búsqueda en Twitter.

4. Ver videos de TikTok en Youtube

En realidad, YouTube también tiene una función de videos cortos, como TikTok. No es raro que los creadores de contenido de TikTok también vuelvan a cargar sus videos de TikTok en la plataforma de YouTube.

Con algunas de estas opciones, también ahorra indirectamente el uso de los recursos de su dispositivo. Porque no hay necesidad de instalar todas las aplicaciones con el mismo propósito.

Espero que sea útil, gracias.

Continue Reading

cómo

Cómo hacer que un teléfono Android sea un control remoto aunque no tenga una función de infrarrojos

Published

on

By

Cómo hacer que un teléfono Android sea un control remoto aunque no tenga una función de infrarrojos

Los teléfonos Android tienen muchas funciones que pueden facilitarnos nuestras rutinas diarias. Una característica que es bastante popular es la función de infrarrojos, que nos permite hacer que un teléfono Android funcione como un control remoto para la televisión, el aire acondicionado y otros dispositivos remotos.

Pero últimamente es cada vez más raro que encontremos teléfonos Android o celulares que ya no tengan la función de infrarrojos. De verdad, muy lamentable.

Sin embargo, en este artículo le brindaremos información y soluciones sobre cómo hacer infrarrojos para Android, incluso si su teléfono o teléfono celular con Android no tiene funciones de infrarrojos.

Aquí se explica cómo convertir un teléfono Android en un control remoto aunque no tenga una función de infrarrojos:

1. Compre y use infrarrojos OTG

OTG (On-The-Go) es un hardware adicional que tiene muchas funciones, una de las cuales es conectar discos duros, unidades flash, joysticks y otros dispositivos a su teléfono Android.

No solo eso, los dispositivos OTG también se pueden usar para conectar dispositivos infrarrojos adicionales a su teléfono Android.

Puede comprar este OTG infrarrojo en una tienda de accesorios para teléfonos móviles o comprarlo en línea a través de comercio electrónico, como amazon, ebay, walmart, shopee y otros. Y simplemente puede escribir en la búsqueda de productos “Infrarrojos OTG”

Hay 2 tipos de infrarrojos OTG infrarrojos, a saber, infrarrojos ordinarios (Micro SD) e infrarrojos OTG Tipo C. Si el cargador de su teléfono celular Android todavía usa un puerto tipo 2 / Micro SD, entonces puede comprar un infrarrojo OTG regular, y si su cargador usa el tipo C, entonces también debe comprar infrarrojos OTG USB.

Cómo convertir un teléfono Android en un control remoto

2. Conecte OTG infrarrojo a su teléfono Android

Si ya tiene infrarrojos OTG, intente conectarse. Si está conectado, puede descargar la aplicación remota en Google Play Store.

Si las herramientas y aplicaciones ya están instaladas, puede usar su teléfono Android como control remoto inmediatamente.

Continue Reading

cómo

Cómo ahorrar y maximizar la capacidad de RAM en teléfonos Android

Published

on

By

Cómo ahorrar y maximizar la capacidad de RAM en teléfonos Android

La RAM en un teléfono Android se usa para almacenar datos temporales en su Android mientras realiza cualquier actividad, ya sea para el sistema operativo, las aplicaciones, la dama y otros. Por ejemplo, la memoria RAM tiene una función cuando editas fotos o videos con una aplicación, bueno, una vez que se completa el proceso de edición, las fotos se guardan en el almacenamiento de tu dispositivo para que no se pierdan. Cuanta más capacidad de memoria RAM tenga, más podrá hacer. Como hacer tareas multitarea.

Debido a que esta RAM tiene la forma de un componente físico, no es posible actualizar la RAM en un teléfono Android. Es diferente como una computadora portátil o PC, donde hay varias ranuras de RAM que puede agregar en una fecha posterior.

Sin embargo, la memoria RAM de su teléfono Android le permite usarla de manera más eficiente. Además, si tiene un dispositivo con Android 11 o 12, lo más probable es que tenga la capacidad de ampliar aún más la RAM al asignar parte de su almacenamiento mediante una función llamada RAM virtual.

Aquí se explica cómo ahorrar RAM en teléfonos Android:

1. Desactivar funciones de animación

Ahorre y maximice la capacidad de RAM en teléfonos Android

Resulta que la función de animación en realidad puede consumir más RAM y eso no es tan importante para mí. Por lo tanto, nuestra sugerencia es que puede desactivar la función de animación en la configuración de su teléfono Android.

2. Limite el uso de widgets y fondos de pantalla en vivo

Estos widgets y fondos de pantalla en vivo son bastante codiciosos en términos de uso de RAM. Muchos se actualizan con frecuencia y ocupan ancho de banda, mientras que algunos están constantemente activos. Además, esto también puede hacer que la batería se agote más rápido y se desperdicie incluso en modo de espera.

Así que recuerde limitar la cantidad de widgets y fondos de pantalla en vivo que se aplican para optimizar la memoria RAM, para mantener su teléfono Android óptimo.

3. Eliminar aplicaciones que no están en uso

No instale demasiadas aplicaciones en su teléfono Android, asegúrese de instalar solo las aplicaciones que necesita y asegúrese de verificar regularmente qué aplicaciones usa raramente. Y si ya no es necesario, simplemente puede eliminar la aplicación.

4. Active la función RAM Plus (RAM virtual)

En Android 11 y 12, ya tiene una función llamada RAM Plus. Tomemos el ejemplo de los teléfonos Samsung, que ya tienen la función RAM Plus, donde puede agregar y aumentar su capacidad de RAM muchas veces.

Para habilitar RAM plus en teléfonos Samsung, puede ir al menú:

Ajustes > Cuidado de la batería y el dispositivo > Memoria > RAM Plus.

Continue Reading

Trending

Share via
Copy link
Powered by Social Snap