Dedicated to building robust, user-centered software solutions with clean, maintainable code. Passionate about innovative technology, gaming, and gourmet coffee.
Read More
Error del servidor "No input file specified"
El error No input file specified se presenta porque la implementación de la configuración de PHP en el servidor usa el modo CGI o FastCGI, últimamente los servidores que usamos vienen configurado así por defecto, pero en KumbiaPHP es fácil solucionarlo, te mostraremos como.
Error del servidor «No input file specified»
A veces no tenemos la posibilidad de cambiar la configuración del servidor ya sea porque adquirimos un plan de hosting compartido o estamos probando algún servicio de hosting gratuito el cual viene con más limitaciones. Otras veces simplemente por cuestiones técnicas queremos o debemos usar este tipo de configuración y KumbiaPHP no te va a detener en eso. Entonces ¿Qué debemos hacer?
Evitar el No input file specified
En KumbiaPHP hay varias opciones de configuración para el .htaccess y ninguna funciona para todas las configuraciones de servidores, incluso otros frameworks son mucho mas estrictos en los requerimientos que KumbiaPHP por eso es muy fácil ajustarlo realizando los siguientes cambios:
Con este tutorial vamos a aprender como implementar select anidado o select dependientes usando KumbiaPHP y jquery. Es una lista simple enlazada con tres niveles: Regiones, comunas y ciudades.
Implementando el select anidado
Primero que todo cargamos la librería jquery añadiendo en nuestro template activo la siguiente línea:
Con este tutorial mostraremos como realizar la paginación en PHP de un listado de usuarios usando nuestro framework favorito KumbiaPHP. Utilizaremos como base el proyecto anterior, donde mostramos como subir una imagen y asignarla a un usuario, y cambiaremos el listado normal por un listado paginado.
En el controlador
Lo primero es mencionar que el ActiveRecord cuenta con un paginador muy bueno(Ver sección en el manual: Paginando en ActiveRecord), que nos permitirá con una sola línea de código implementar la paginación en php. Vamos al controlador de usuarios y añadimos la función page(…):
Archivo: app/controllers/user_controller.php
public function page(int $page = 1)//validación 'int' con php7
{
$this->page = (new User)->paginate("page: $page", 'per_page: 7');
}
El parametro $page tiene un valor por defecto, así que, si no le pasamos ningun valor será igual a 1. En el llamado a la función paginate() el primer parámetro es page, con el cual le indicamos el número de página que deseamos mostrar. El segundo parámetro es per_page, con el cual le indicamos el número de elementos a mostrar por página.
¡Hola Kumbieros! Hoy les traigo un tutorial básico para quienes deseen conocer como subir imágenes y datos con el mismo formulario. Es una pregunta recurrente que hemos tenido en nuestro chat de Slack y no es sencilla de responder por ese medio, por eso les presentaré un ejemplo práctico de la creación y actualización de usuario con foto de perfil.
Crearemos un modelo, un controlador y tres vistas, usaremos la librería Upload incluida en KumbiaPHP para gestionar la subida del archivo. Al final dejo el enlace con el código fuente en un repositorio en Github para que puedan ver el ejemplo completo, incluso descargarlo y ponerlo a funcionar.
Base de datos
Lo primero es la tabla en la base de datos:
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int(11) NOT NULL DEFAULT '0',
`email` varchar(255) NOT NULL,
`photo` varchar(255) DEFAULT 'default.png',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Modelo
Ahora el modelo que hereda de ActiveRecord para que nos de la capacidad de operaciones con la tabla de la base de datos:
Archivo: app/models/user.php
<?php
/**
* Clase para manejar los datos del usuario, tabla 'user'
*/
class User extends ActiveRecord
{
}
Controlador
Ahora el controlador que nos permitirá pasar y recibir datos de las vistas. Arrancaremos con el listado de usuarios y para esto creamos la función index.
Archivo: app/controllers/user_controller.php
<?php
/**
* Controlador para las acciones y vistas con el usuario
*/
class UserController extends AppController
{
public function index()
{
$this->data = (new User)->find();
}
}
En estas semanas las dudas que hemos resuelto han sido bastante específicas y la mayoría no eran aptas para ser incluidas en este artículo, por ello he tardado más en reunir el material suficiente para realizar un nuevo post.
A pesar de lo anterior, el texto está listo y ha quedado bastante jugoso, así que no los haré esperar más y los dejaré con el compendio de preguntas resueltas:
¿Cómo hacer un confirm alert? Pregunta ycaicedo
Este ejemplo es con javascript usando el helper Html::link() o Html::linkAction() que permite mostrar primero un diálogo de confirmación al usuario, aunque es fácil de saltar, por ejemplo si el usuario desactiva javascript en el navegador:
¿KumbiaPHP soporta CamelCase en el nombre de tablas? Pregunta abriceno
Con el atributo $source de la clase ActiveRecord se le puede indicar a que tabla consultar, pero el desarrollador debe acordarse de hacer el cambio.Ejemplo:
<?php
class MateriaPrima extends ActiveRecord {
//Tabla utilizada para realizar el mapeo
protected $source = 'MateriaPrima';
}
¿Cómo le inserto una clase a un select generado con Form::dbSelect()? Pregunta jerson.fuentes
El helper Form::dbSelect() tiene los siguientes argumentos:
Saben como después de actualizar un dato, redirigirme a la vista anterior
Para redireccionar en KumbiaPHP existe la clase Redirect
Ejemplo de uso de Redirect::to()
La redirección se puede hacer con Redirect::to() antecedido con un return para que sea lo último que ejecute.
Recomendaciones de joanhey
Mitos sobre el rendimiento de PHP
Busted! 10 Performance Myths you should avoid. Es una presentación muy recomendable de Thomas Lohner de SysEleven GmbH que en 2015 en una charla menciona los 10 mitos sobre mejorar el rendimiento que se deben evitar.
Lo más importante es usar bien las herramientas.
HTTPie un buen sustituto de Curl
HTTPie es una app que funciona en Linux, MacOs y Windows. Es muy útil como sustituto de Curl.
Nos permite fácilmente probar nuestros servidores, API RESTful y web services.
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Cookie settingsACCEPT
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.