PHPackages                             jmouriz/mof - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. jmouriz/mof

ActiveLibrary

jmouriz/mof
===========

Mockup Outside Framework

1.3.2(8y ago)068MITPHPPHP ^5.3.3 || ^7.0

Since Feb 15Pushed 8y agoCompare

[ Source](https://github.com/jmouriz/mof)[ Packagist](https://packagist.org/packages/jmouriz/mof)[ RSS](/packages/jmouriz-mof/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

MOF
===

[](#mof)

MOF significa Mockup Outside Framework (Maqueta Fuera del Marco de Trabajo) y es un pequeño archivo PHP (~12Kb) para que incluyas en tus proyectos en la etapa de fabricación de la maqueta. Incluye algunas funciones básicas que serán de utilidad para:

- Cifrar y comparar contraseñas cifradas de forma más o menos segura (password).
- Escribir y leer estructuras de datos complejas en archivos (store/restore).
- Especificar la ruta donde se guardan los archivos (storage).
- Iniciar y cerrar sesión (login/logout).
- Verificar si un usuario está autorizado (logged).
- Proteger las páginas con acceso restringido (protect).
- Leer datos suministrados por el usuario sea por GET, POST o php://input (input).
- Contestar pedidos con contenido HTML (html).
- Contestar pedidos con estilos CSS (css).
- Contestar pedidos con datos en notación JSON (json).
- Contestar a los clientes cualquier tipo de contenido, por ejemplo XML (response).
- Leer archivos especificando un contenido de contingencia (read).
- Redireccionar (redirect).
- Escribir mensajes y estructuras de datos con fecha y hora en el registro de sucesos (log).
- Especificar la ruta donde se guardan los registros de sucesos (logs).
- Subir archivos al servidor (upload).
- Decirle al navegador que no use el caché (volatile).
- Generar contraseñas únicas de largo variable (id).
- Verificar si una cadena empieza, termina o contiene otra cadena (starts/ends/contains).

MOF contiene una serie de funciones mínimas de jugete útiles especialmente para hacer bosquejos de nuevas funcionalidades sin lidiar con bases de datos, modelos y sentencias SQL y olvidarse de las sesiones. Se puede usar dentro o fuera de un marco de trabajo aunque fuera del marco de trabajo se refiere a que **utiliza estructuras de datos persistentes en lugar de bases de datos**. Consume prácticas rebuscadas en favor de prestar una funcionalidad sencilla al programador para la confección de bosquejos de código útiles para maquetar controladores o contestar pedidos al portal. Es particularmente útil para mantener variables persistentes entre sesiones, como ser configuraciones, sesiones o cookies.

Funciones
---------

[](#funciones)

### id()

[](#id)

Genera una contraseña de 6 dígitos de largo.

### id($size)

[](#idsize)

Genera una contraseña de `$size` dígitos de largo.

### starts($string, $needle)

[](#startsstring-needle)

Devuelve `true` si la cadena `$string` empieza con `$needle`, de lo contrario, devuelve `false`. Parecida a `startsWith` de JavaScript.

### ends($string, $needle)

[](#endsstring-needle)

Devuelve `true` si la cadena `$string` termina con `$needle`, de lo contrario, devuelve `false`. Parecida a `endsWith` de JavaScript.

### contains($string, $needle)

[](#containsstring-needle)

Devuelve `true` si la cadena `$string` contiene `$needle`, de lo contrario, devuelve `false`.

### password($password)

[](#passwordpassword)

Dada la contraseña plana `$password` la devuelve cifrada.

### password($password, $hash)

[](#passwordpassword-hash)

Dada la contraseña `$password` y su versión cifrada `$hash` (almacenada), las compara y devuelve `true` si son iguales o `false` en caso contrario.

### libraries()

[](#libraries)

Establece la ruta donde se encuentra `mof.php` como el lugar donde buscar las librerias. Intenta ser una ayuda a la característica autoload de PHP.

### libraries($path)

[](#librariespath)

Igual que `libraries()` excepto que establece la ruta de búsqueda a `$path`.

### filename($backtrace)

[](#filenamebacktrace)

Función de uso interno usada por `store` y `restore` para determinar el nombre de archivo a partir del nombre de una variable, intenta no utilizarla.

### storage($path)

[](#storagepath)

Especifica en `$path` la ruta donde se guardarán los archivos de datos persistentes.

### storage()

[](#storage)

Especifica que los archivos de datos persistentes se guardarán en la ruta donde se encuentra el archivo `mof.php`.

### store($variable)

[](#storevariable)

Guarda la estructura definida en `$variable` en un archivo con su mismo nombre y lo comprime. Por ejemplo, `store($users)` guarda `$users` en el archivo `storage/users.dbz`

### restore($variable)

[](#restorevariable)

Restaura la estructura de `$variable` a partir del archivo con ese nombre o devuelve un arreglo vacío si el archivo no existe. Por ejemplo, `restore($users)` lee el archivo `storage/users.dbz` y lo guarda en la variable `$users`.

### read($filename)

[](#readfilename)

Lee y devuelve el contenido del archivo `$filename` si existe, sino devuelve `false`.

### read($filename, $fallback)

[](#readfilename-fallback)

Igual que `read($filename)` excepto que si el archivo no existe devuelve `$fallback`.

### upload()

[](#upload)

Pone un archivo recién subido en la carpeta `upload` dentro del directorio actual según los datos suministrados en `$_FILES` con el modo 0640.

### upload($path)

[](#uploadpath)

Igual que `upload()` excepto que coloca el archivo en `$path/upload`.

### upload($path, $filename)

[](#uploadpath-filename)

Igual que `upload()` excepto que coloca el archivo en `$path/upload` con el nombre `$filename`.

### upload($path, $filename, $mode)

[](#uploadpath-filename-mode)

Igual que `upload()` excepto que coloca el archivo en `$path/upload` con el nombre `$filename` y el modo `$mode`.

### volatile()

[](#volatile)

Escribe los encabezados necesarios para solicitarle al navegador que no use el caché.

### input($variable)

[](#inputvariable)

Obtiene `$variable` donde esté definida, sea GET, POST o php://input. Si no está en ninguna de las tres, devuelve `false`.

### input($variable, $default)

[](#inputvariable-default)

Igual que `input($variable)` excepto que si no está definida ni en GET, ni en POST, ni en php://input, devuelve `$default`.

### session()

[](#session)

Devuelve el identificador de la sesión existente y si no existe crea una nueva y devuelve el identificador.

### protect()

[](#protect)

Verifica si el usuario tiene iniciada la sesión. De no ser así, termina el flujo inmediatamente.

### protect($location)

[](#protectlocation)

Igual que `protect()` excepto que si no hay una sesión iniciada redirige a `$location`.

### logged()

[](#logged)

Devuelve el usuario que inició la sesión o `false` si no inició ningún usuario.

### logged($default)

[](#loggeddefault)

Igual que `login()` excepto que no inició ningún usuario, devuelve `$default`.

### login($user)

[](#loginuser)

Inicia una sesión para el usuario `$user`, que puede ser un nombre de usuario, un identificador único, una dirección de correo electrónico o cualquier dato que identifique al usuario.

### login($user, true)

[](#loginuser-true)

Igual que `login($user)` excepto que también guarda una cookie para futuras ocasiones. Útil para mantener una sesión iniciada de manera persistente.

### logout()

[](#logout)

Cierra la sesión.

### logout($location)

[](#logoutlocation)

Igual que `logout()` excepto que también redirige a `$location`.

### response($data)

[](#responsedata)

Escribe la respuesta HTML `$data` con los encabezados correspondientes y sale inmediatamente.

### response($data, $type)

[](#responsedata-type)

Igual que `response($data)` excepto que escribe el encabezado para el tipo `$type`, por ejemplo text/xml.

### json($data)

[](#jsondata)

Escribe `$data` en notación JSON con los encabezados correspondientes y sale inmediatamente.

### json($data, true)

[](#jsondata-true)

Igual que `json($data)` excepto que formatea la salida.

### css($css)

[](#csscss)

Escribe los estilos CSS pasados en `$css` con los encabezados correspondientes.

### html($html)

[](#htmlhtml)

Escribe el contenido HTML pasado en `$html` con los encabezados correspondientes. Igual que `response($data)`.

### redirect($location)

[](#redirectlocation)

Redirige a `$location`.

### debug($data)

[](#debugdata)

Escribe `$data` con la forma adecuada para mostrar en el navegador.

### debug($data, true)

[](#debugdata-true)

Igual que `debug($data)` excepto que también termina el flujo inmediatamente.

### logs($path)

[](#logspath)

Especifica en `$path` la ruta donde se guardarán los archivos de registro de sucesos.

### logs()

[](#logs)

Especifica que los archivos de registro de sucesos se guardarán en la ruta donde se encuentra el archivo `mof.php`.

### log($message)

[](#logmessage)

Escribe `$message` en el archivo `logs/mof.log`. Si `$message` es una variable, escribe su contenido formateado.

Ejemplos
--------

[](#ejemplos)

### Iniciar la sesión

[](#iniciar-la-sesión)

```
