Interesante idea la de desarrollar un port scanner con PHP, lo cual nos puede venir bien para saber si ciertos servicios están activos: servidor web, MySQL, FTP, …
El tutorial lo explica muy detalladamente, pero realmente se trata de abrir un socket en un determinado puerto y ver si devuelve una conexión. Port Scanning and Service Status Checking in PHP
Vía / PHPDeveloper.org
Últimamente estoy trabajando bastante con Gutenberg, tiene sus cosas buenas y malas. Sea como sea, es el futuro de WordPress, así que toca aprender.
Lo más interesante de todo es poder usar lo que sabía de webpack, React, HMR, … Y para practicar he hecho un plugin que permite añadir snippets de código en los posts usando los bloques de Gutenberg
Para ello uso la librería highlight.js que permite destacar código de forma sencilla. Aquí un ejemplo
// Import CSS.import'./scss/style.scss';
import'./scss/editor.scss';
import icon from'./icon';
import edit from'./edit';
import save from'./save';
import attributes from'./attributes';
import { __ } from'@wordpress/i18n'; // Import __() from wp.i18nexportconst name = 'sentidoweb/snippet';
exportconst settings = {
// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
title: __( 'Snippets editor', 'sw-snippet' ), // Block title.
icon: icon,
category: 'common', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
keywords: [
__( 'code', 'sw-snippet' ),
__( 'format', 'sw-snippet' ),
__( 'snippet', 'sw-snippet' ),
],
attributes,
edit,
save,
};
pChart es una clase PHP que nos ayuda a crear gráficas. Los datos que se muestran se recuperan de sentencias SQL, ficheros CSV o simplemente introduciéndolos de forma manual.
Permite realizar gráficas de líneas, barras y circulares. Su uso es bastante sencillo. Incluso permite añadir ficheros de esquemas de colores. pChart
loadFile(): carga cualquier archivo con código php, envuelve a la funcion include(). Tiene 3 parámetros, el nombre del archivo, el directorio dónde se situa, si es NULL buscará solamente en el include_path y un flag para indicar si se usa include o include_once. Si se produce cualquier error lanza una excepción Zend_Exception.
loadClass(): carga una clase, la cual se indica como parámetro, a parte se puede decir el directorio donde se encuentra. Si el directorio es null y el nombre de la clase tiene guiones bajos (_), usará los subrayados para localizar los directorios: p.e. Paquete_Componente_Clase lo sustituirá por Paquete/Componente/Clase.php. Si se produce algun error, se lanza una Zend_Exception.
loadInterface(): funciona igual que loadClass pero para interfaces.
isReadable(): es igual que la función is_readable de PHP pero con la posibilidad de buscar en el include_path.
dump(): ejecuta la función var_dump de PHP pero usando etiquetas pre de HTML y seleccionando se si realiza un echo o no.
register(): registra un objeto en el espacio de la aplicación, una vez registrado, cuando se recupera, siempre será la misma instancia. Se le debe pasar por parámetro el nombre y la variable.
registry(): devuelve una variable del registro cuando se le pasa su nombre por parámetro o una lista de todas las variables del registro cuando se pasa null.
Drake es un módulo de Drupal que nos permite ejecutar aplicaciones realizadas con CakePHP, se trata de un puente entre ambos.
Drupal es uno de los mejores CMS en PHP, pero que dispone de un pequeño framework, mientras que CakePHP es uno de los mejores frameworks de PHP pero que no dispone de gran funcionalidad como CMS. Por ello nace Drake, que se encarga de unirlos para conseguir desarrollar mejores aplicaciones.
Drake solo admite Drupal 5 debido a que serÃa costoso dar soporte a versiones de Drupal 4 y Drupal 5, ya que el API de Drupal 5 es bastante diferente al de la versión 4. La instalación parece muy sencilla, por lo que no creo que presente muchas dificultades su uso. Drake
VÃa / PHPDeveloper.org