Saludos, esta vez te traemos unas librería php que puedes tener en consideración a revisar.
Se ha hecho lo posible, por incluir proyectos que se encuentran bien documentados y activos.
Esperemos sea de su agrado y tengan en cuenta que esta comunidad sigue creciendo, no se olviden de compartir y darle like a nuestras redes sociales.

Aquí les presentamos las Librerías Php que hemos considerado para su estudio.

Solicitudes para PHP
Una librería PHP sin dependencias que permite enviar solicitudes HTTP. Proporciona los métodos necesarios para añadir cabeceras, acceder a los datos de respuesta, manejos de formularios y todo lo que pueda necesitar, cuidadosamente empaquetado con una API fácil y simple de usar.

$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);

var_dump($request->status_code);
// int(200)

var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"

var_dump($request->body);
// string(26891) "[...]"

Rinvex
Rinvex es un paquete de PHP que permite a los desarrolladores recuperar información detallada sobre los países del mundo. Usando cerca de 50 métodos.Usted puede obtener el área de un país, la moneda , nombre nativo, etc. Hay un montón de información disponible y las fuentes de datos son bastante fiables.

$egypt = country('eg');

$egypt->getCapital();   // Cairo
$egypt->getDemonym();   // Egyptian
$egypt->getTld();       // .eg
$egypt->getContinent(); // Africa
$egypt->getSubregion(); // Northern Africa
$egypt->getBorders();   // ["ISR","LBY","SDN"]

Botman
Una librería PHP para el desarrollo de bots messenger. Funciona con la mayoría de las plataformas de mensajería más populares, incluyendo Facebook Messenger, Slack, Telegrama, WeChat, y otros. También hay un proyecto para laravel disponibles aquí.

// creamos una instancia
$botman = BotManFactory::create($config);

// le damos algo que escuchar al bot.
$botman->hears('holla bloguero-ec', function (BotMan $bot) {
    $bot->reply('Hola como estás.');
});

// empieza a escuchar
$botman->listen();

Charts
Paquete gráfico de multi-librería para crear gráficos interactivos utilizando laravel. Permitiendo a los desarrolladores crear una amplia variedad de gráficos, indicadores y ProgressBars usando una sola herramienta.

$chart = Charts::create('linea', 'highcharts')
 ->title('Mi primer chart')
 ->labels(['Uno', 'Dos', 'Tres'])
 ->values([5,10,20])
 ->dimensions(0,500);
 

Swap
Le perimte recuperar los tipos de cambios de una serie de servicios tales como, Google y Yahoo. Solicitar respuestas pueden ser fácilmente almacenados en caché y se puede acceder más luego a ellas.

// Construit Swap con Fixer.io
$swap = (new Builder())
    ->add('fixer')
    ->build();

// Obtenemos últimas tasas EUR/USD 
$rate = $swap->latest('EUR/USD');

// 1.129
$rate->getValue();

// Obtener tasa de ultimos 15 días EUR/USD 
$rate = $swap->historical('EUR/USD', (new \DateTime())->modify('-15 days'));

Matemáticas PHP
Una colección de funciones matemáticas y algoritmos van desde la simple álgebra para las finanzas, estadísticas, análisis numérico y otros campos. La biblioteca es modular, tiene una API sencilla, y no requiere ningúna dependencia externa.

// Factores de un entero
$factors = Algebra::factors($n);

// Suceción de Fibonacci
$fib = Advanced::fibonacci($n);

// Combinaciones
$nCk  = Combinatorics::combinations($n, $k);

// cocientes
$LL = Experiment::likelihoodRatio($a, $b, $c, $d);

PHPUnit
PHPUnit es un framework de pruebas avanzadas que permite a los equipos para probar a fondo su código. Las pruebas unitarias se escriben en las clases orientadas a objetos, con la ayuda de los muchos métodos para la manipulación de las afirmaciones, dependencias, etc. Un simple CLI se proporciona para el funcionamiento de prueba y la generación de informes.

class StackTest extends TestCase
{
    public function testPushAndPop()
    {
        $stack = [];
        $this->assertEquals(0, count($stack));

        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));

        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }
}

Atoum
Atoum es un sencillo , moderno e intuitivo framework de pruebas de unidad para PHP! Es completamente independiente,tiene un montón de grandes características. Tiene un motor simulado, afirmaciones expresivas, y una CLI que puede ejecutar múltiples pruebas en paralelo.

$this->given($testedInstance = new testedClass())
    ->and($testedClass[] = $firstValue = uniqid())
    ->then
        ->sizeof($testedInstance)->isEqualTo(1)
        ->string($testedClass[0])->isEqualTo($firstValue);

Simple Regex
Simple Regex es una forma prolija de escribir expresiones regulares. La librería proporciona múltiples métodos que pueden ser de cadena entre sí, siendo legible y fácil de entender las reglas RegEx. La biblioteca cuenta con puertos para JavaScript y Python.

$query = SRL::startsWith()
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('._%+-');
    })->onceOrMore()
    ->literally('@')
    ->anyOf(function (Builder $query) {
        $query->digit()
            ->letter()
            ->oneOf('.-');
    })->onceOrMore()
    ->literally('.')
    ->letter()->atLeast(2)
    ->mustEnd()->caseInsensitive();

Stash PHP
Stash hace que sea fácil de acelerar su código, por el almacenamiento en caché de los resultados de las funciones o codigos extencivos . Ciertas acciones, como consultas de bases de datos o las llamadas a las API externas, requieren de mucho tiempo para correr, pero tienden a tener los mismos resultados en cortos períodos de tiempo. Esto hace que sea mucho más eficiente para almacenar los resultados y les devuelva la llamada más tarde.

$pool = $this->cachePool;

// Obtiene un objeto de la cache pool.
$item = $pool->getItem("/user/{$userId}/info");

// Obtiene el dato.
$userInfo = $item->get();

// Chequea si la caché se perdió.
if($item->isMiss())
{
    // se ejecuta código relativamente lento.
    $userInfo = loadUserInfoFromDatabase($userId);

    // establece un nuevo valor $item.
    $item->set($userInfo);

    // almacena el valor lento para que no se pierda.
    $pool->save($item)
}

Oauth 2.0 Servidor
Esta librería le permite configurar fácilmente un servidor de OAuth 2.0 y configurar todos los niveles de autenticación necesarios para proteger su API. Es totalmente compatible con los estándares y es compatible con todas las subvenciones definidas por el protocolo OAuth.

// Setup the authorization server
$server = new \League\OAuth2\Server\AuthorizationServer(
    $clientRepository,
    $accessTokenRepository,
    $scopeRepository,
    $privateKey,
    $publicKey
);

// Enable a grant on the server
$server->enableGrantType(
    new \League\OAuth2\Server\Grant\ClientCredentialsGrant(),
    new \DateInterval('PT1H') // access tokens will expire after 1 hour
);

Imagine
Una librería de manipulación de imágenes, que trata de reunir a todas las librerías de procesamiento de imágenes, bajo nivel de PHP bajo la misma API orientada a objetos. Este permite ser utilizado para una amplia variedad de tareas tales como el dibujo, cambiar el tamaño, recortar, filtros, efectos, edición de metadatos, y otros.

$palette = new Imagine\Image\Palette\RGB();

$image = $imagine->create(new Box(400, 300), $palette->color('#000'));

$image->draw()
    ->ellipse(new Point(200, 150), new Box(300, 225), $image->palette()->color('fff'));

$image->save('/path/to/ellipse.png');

AWS SDK
La librería PHP oficial para trabajar con Amazon Web Services . El SDK hace que sea fácil de conectar AWS con cualquier proyecto PHP y accede a todos los diferentes servicios disponibles. También esta disponible para laravel.

// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-west-2'
]);

$s3->putObject([
    'Bucket' => 'my-bucket',
    'Key'    => 'my-object',
    'Body'   => fopen('/path/to/file', 'r'),
    'ACL'    => 'public-read',
]);

Purl
librería PHP ligera para trabajar con direcciones URL. Con Purl puede componer caminos complejos por atributos, extraer datos de direcciones URL, manipular peticiones, reconocer las direcciones URL , y mucho más.

$url = \Purl\Url::parse('http://bloguero-ec.com')
    ->set('scheme', 'http')
    ->set('port', '443')
    ->set('user', 'bloguero')
    ->set('pass', 'password')
    ->set('path', 'about/me')
    ->set('query', 'param1=value1¶m2=value2');

echo $url->getUrl(); // https://bloguero:password@bloguero-ec.com:443/about/me?param1=value1¶m2=value2
echo $url->publicSuffix; // com
echo $url->registerableDomain; // bloguero-ec.com

Daux.io
Es un generador de documentación que utiliza una estructura de carpetas y Marcador, para crear sitios web de documentación responsibles. Daux.io tiene la sintaxis resaltado automático, 4 locales de tematización, Bootstrap HTML para facilitar la personalización, la navegación con URLs legibles, y muchas otras cosas mas.

// Ejemplo
{
    "title": "DAUX.IO",
    "tagline": "The Easiest Way To Document Your Project",
    "author": "Justin Walsh",
    "image": "app.png",
    "html": {
        "theme": "daux-blue",
        "breadcrumbs": true,
        "repo": "domain/daux.io",
        "edit_on_github": "domain/daux.io/blob/master/docs",
        "twitter": ["justin_walsh", "todaymade"],
        "google_analytics": "UA-12653604-10",
        "links": {
            "Download": "https://domain.com/justinwalsh/daux.io/archive/master.zip",
            "GitHub Repo": "https://domain.com/justinwalsh/daux.io",
            "Made by Todaymade": "http://domain.com"
        }
    }
}

Dompdf
DOMPDF es un generador de PDF que tiene el formato HTML regular y lo convierte a archivos .pdf. Entiende la mayoría de las reglas CSS, que pueden ser maquetado en línea o a través de una hoja de estilo externa.

// referencia al Dompdf 
use Dompdf\Dompdf;

// instancuiamos y usamos la clase dompdf 
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world');

// (Optional) Confiuramos papel tamaño y orientación
$dompdf->setPaper('A4', 'landscape');

// Genera el HTML como PDF
$dompdf->render();

// Salida del navegador 
$dompdf->stream();

también te podría interesar Plugin de jQuery para impresión de páginas web.
InstaPHP.
Esta es una librería no oficial, para acceder a la API de Instagram. Se ofrece a los desarrolladores una manera fácil para autenticar su aplicación y obtener acceso a diversos datos de Instagram incluyendo imágenes, usuarios, likes , comentarios y etiquetas.

$api = new Instaphp\Instaphp([
    'client_id' => 'your client id',
    'client_secret' => 'your client secret',
    'redirect_uri' => 'http://domain.com/',
    'scope' => 'comments+likes'
]);

$popular = $api->Media->Popular(['count' => 10]);

if (empty($popular->error)) {
    foreach ($popular->data as $item) {
        printf('', $item['images']['low_resolution']['url']);
    }
}

Latitude.
Librería cero dependencias para la construcción de consultas SQL utilizando métodos encadenables. Es compatible con la mayoría de los tipos de consulta y funciona bien con MySQL, PostgreSQL, SQL Server y otras bases de datos. También hay helpers para la protección contra la inyección de SQL.

$select = SelectQuery::make(
        'id',
        'username'
    )
    ->from('users');

echo $select->sql();
// SELECT id, username FROM users

Gracias por visitar no se olviden de compartir.

  • ertrii Live

    Gran aporte, se agradece 🙂