PHP Classes

File: README-ES.md

Recommend this page to a friend!
  Classes of Josantonius   PHP URL Manipulation Library   README-ES.md   Download  
File: README-ES.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP URL Manipulation Library
Manipulate and get different types of URLs
Author: By
Last change:
Date: 6 years ago
Size: 12,264 bytes
 

Contents

Class file image Download

PHP Url library

Latest Stable Version Latest Unstable Version License Codacy Badge Total Downloads Travis PSR2 PSR4 CodeCov

English version

Biblioteca para manipulación de urls.

Requisitos

Esta clase es soportada por versiones de PHP 5.6 o superiores y es compatible con versiones de HHVM 3.0 o superiores.

Instalación

La mejor forma de instalar esta extensión es a través de Composer.

Para instalar PHP Url library, simplemente escribe:

$ composer require Josantonius/Url

El comando anterior sólo instalará los archivos necesarios, si prefieres descargar todo el código fuente puedes utilizar:

$ composer require Josantonius/Url --prefer-source

También puedes clonar el repositorio completo con Git:

$ git clone https://github.com/Josantonius/PHP-Url.git

O instalarlo manualmente:

Descargar Url.php:

$ wget https://raw.githubusercontent.com/Josantonius/PHP-Url/master/src/Url.php

Métodos disponibles

Métodos disponibles en esta biblioteca:

- Obtener URL de la página actual:

Url::getCurrentPage();

# Return (string) ? URL actual

- Obtener URL base del sitio:

Url::getBaseUrl();

- Obtener protocolo:

Url::getProtocol($url);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $url | URL desde la que obtener el protocolo. | string | No | false |

# Return (string) ? http or https

- Comprobar si es un sitio seguro (SSL):

Url::isSSL($url);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $url | URL donde comprobar el protocolo. | string | No | false |

# Return (boolean)

- Obtener dominio:

Url::getDomain($url);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $url | URL donde obtener el dominio. | string | No | false |

# Return (string|false) ? dominio o falso

- Get URI:

Url::getUri();

# Return (string) ? ruta/URL

- Obtener URI sin subdirectorios si es que existen:

Url::getUriMethods();

# Return (string) ? method1/method2/method3

- Establecer parámetros GET desde la url y devolver url sin ellos:

Si se recibe una URL como: http://www.web.com/&key=value&key-2=value los parámetros se guardarán como valores GET y devuelve: http://www.web.com/.

Si se recibe una URL como: http://www.web.com/?key=value&key-2=value los parámetros GET se mantienen y devuelve: http://www.web.com/.

Url::setUrlParams($url);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $url | URL donde obtener parametros. | string | No | false |

# Return (string|false) ? URL sin parámetros

- Obtener puerto del servidor:

Url::getPort();

# Return (int) ? puerto

- Añadir barra inversa si no existe al final de la ruta:

Este método eliminará todas las barras que estén en la posición indicada antes de añadirla. Por ejemplo: `addBackSlash('sample///','both');` retornará `/sample/`.

Url::addBackSlash($uri, $position);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $uri | URI donde añadir barra invertida. | string | Sí | | | $position | Lugar donde colocar la barra invertida: 'top', 'end' or 'both'. | string | No | 'end' |

# Return (string|false) ? path/url/ | /path/url | /path/url/ o falso si no se indica una posición correcta.

- Ir a la url anterior:

Url::previous();

# Return (void)

- Redireccionar a la URL indicada:

Url::redirect($url);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $url | URL donde redirigir. | string | Sí | |

# Return (void)

- Convierte urls de texto plano en enlaces HTML:

El segundo argumento se utilizará como etiqueta url <a href=''>$custom</a>.

Url::autoLink($url, $custom);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $url | URL donde enlazar. | string | Sí | | | $custom | Si se proporciona, se utiliza para la etiqueta de enlace. | string | No | null |

# Return (string) ? HTML link

- Covertir un segmento de url en un slug saneado:

Por ejemplo: test name @132 será convertido a test-name--123.

También devolverá todas las letras en minúsculas.

Url::generateSafeSlug($slug);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $slug | URL/slug a sanear. | string | Sí | |

# Return (string) ? slug

- Obtener todas las partes de url basadas en un / separador:

Url::segmentUri($uri);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $uri | URI a segmentar. | string | No | null |

# Return (string) ? segmentos

- Obtener el primer segmento:

Url::getFirstSegment($segments);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $segments | Segmentos. | mixed | Sí | |

# Return (string) ? segmento

- Obtener el último segmento:

Url::getLastSegment($segments);

| Atributo | Descripción | Tipo | Requerido | Predeterminado | --- | --- | --- | --- | --- | | $segments | Segmentos. | mixed | Sí | |

# Return (string) ? segmento

Cómo empezar

Para utilizar esta biblioteca con Composer:

require __DIR__ . '/vendor/autoload.php';

use Josantonius\Url\Url;

Si la instalaste manualmente, utiliza:

require_once __DIR__ . '/Url.php';

use Josantonius\Url\Url;

Uso

Ejemplo de uso para esta biblioteca:

- Obtener URL de la página actual:

Url::getCurrentPage();

- Obtener URL base del sitio:

Url::getBaseUrl();

- Get protocol from URL:

Url::getProtocol();

Url::getProtocol('https://josantonius.com/developer/');

- Comprobar si es un sitio seguro (SSL):

Url::isSSL();

Url::isSSL('https://josantonius.com/developer/');

- Obtener dominio:

Url::getDomain();

Url::getDomain('https://josantonius.com/developer/');

- Get URI:

Url::getUri();

- Obtener URI sin subdirectorios si es que existen:

Url::getUriMethods();

- Guardar parámetros GET encontrados en la URL y devolverla sin ellos:

Url::setUrlParams();

Url::setUrlParams('https://josantonius.com?param-1=value&param-2=value');

Url::setUrlParams('https://josantonius.com/&param-1=value&param-2=value');

- Obtener puerto del servidor:

Url::getPort();

- Añadir barra inversa si no existe al final de la ruta:

Url::addBackSlash('https://josantonius.com');

Url::addBackSlash('https://josantonius.com', 'end');

- Añadir barra inversa si no existe al principio de la ruta:

Url::addBackSlash('josantonius.com', 'top');

- Añadir barra inversa si no existe al principio y al final de la ruta:

Url::addBackSlash('josantonius.com', 'both');

- Ir a la URL anterior:

Url::previous();

- Redireccionar a la URL indicada:

Url::redirect('https://josantonius.com/');

- Convierte URLs de texto plano en enlaces HTML:

Url::autoLink('https://josantonius.com');

- Convierte URLs de texto plano en enlaces HTML con nombre personalizado:

Url::autoLink('https://josantonius.com', 'Josantonius');

- Convierte un segmento de URL a un slug seguro:

Url::generateSafeSlug('https://josantonius.com');

- Obtener todas las partes de URL basadas en un / separador:

Url::segmentUri('/josantonius/developer/');

- Obtener el primer segmento de un string:

Url::getFirstSegment('/josantonius/developer/');

- Obtener el primer segmento de un array:

$segments = ['josantonius', 'developer'];

Url::getLastSegment($segments);

- Obtener el último segmento de un string:

Url::getLastSegment('/josantonius/developer/');

- Obtener el último segmento de un array:

$segments = ['josantonius', 'developer'];

Url::getFirstSegment($segments);

Tests

Para ejecutar las pruebas necesitarás Composer y seguir los siguientes pasos:

$ git clone https://github.com/Josantonius/PHP-Url.git

$ cd PHP-Url

$ composer install

Ejecutar pruebas unitarias con PHPUnit:

$ composer phpunit

Ejecutar pruebas de estándares de código PSR2 con PHPCS:

$ composer phpcs

Ejecutar pruebas con PHP Mess Detector para detectar inconsistencias en el estilo de codificación:

$ composer phpmd

Ejecutar todas las pruebas anteriores:

$ composer tests

? Tareas pendientes

  • [ ] Añadir nueva funcionalidad.
  • [ ] Mejorar pruebas.
  • [ ] Mejorar documentación.
  • [ ] Refactorizar código para las reglas de estilo de código deshabilitadas. Ver phpmd.xml y .php_cs.dist.

Contribuir

Si deseas colaborar, puedes echar un vistazo a la lista de issues o tareas pendientes.

Pull requests

  • Fork and clone.
  • Ejecuta el comando `composer install` para instalar dependencias. Esto también instalará las dependencias de desarrollo.
  • Ejecuta el comando `composer fix` para estandarizar el código.
  • Ejecuta las pruebas.
  • Crea una nueva rama (branch), commit, push y envíame un pull request.

¡Gracias a quienes ya habéis contribuido a este proyecto!

<img alt="peter279k" src="https://avatars2.githubusercontent.com/u/9021747?v=4&s=117" height="117" width="117"> | :---:| peter279k|

Repositorio

La estructura de archivos de este repositorio se creó con PHP-Skeleton.

Licencia

Este proyecto está licenciado bajo licencia MIT. Consulta el archivo LICENSE para más información.

Copyright

2017 - 2018 Josantonius, josantonius.com

Si te ha resultado útil, házmelo saber :wink:

Puedes contactarme en Twitter o a través de mi correo electrónico.