sábado, 2 de noviembre de 2013

Buenas, en ésta entrada explicaré las reglas básicas a la hora de desarrollar un componente,
Les recuerdo que como minimo deben tener buenos conocimientos de Programación Orientada a Objetos, sobre le patrón MVC y otras cosas que serán explicadas luego.
Cuando adquieran esos conocimientos podrían empezar a plantearse el desarrollo de un componente.

Hablaremos entonces sobre Components Component division.
ADVERTENCIAprobablemente mucha gente esté en desacuerdo con lo que expreso en las entradas de mi blog, la idea del blog siempre fue, como todo blog, la de presentar textos que muestren un poco de mi "día a día", en mi caso en el mundo de la programación y la informática.
No obstante, todos mis textos están basados en la normativa vigente, y en toda mi experiencia hasta el momento, aquellos que estén en desacuerdo, probablemente sea por ignorancia o desconocimiento, y también podríamos mencionar engreimiento, creer que saben todo, pero tampoco podemos dejar de lado que quizá esté equivocado en algunas cosas, pero con el tiempo me daré cuenta y lo aclararé en nuevas entradas al blog.

Como dije en una entrada anterior, los componentes se dividen en 3 partes, en ésta entrada explicaremos la primera división (Component), que como dije antes, es el código que hace funcionar al componente para lo que debería funcionar.

Como también dije este archivo debe tener de nombre ComponentNombre.php donde Nombre es el nombre de nuestro componente, para fines prácticos usaré un ejemplo de un componente llamado MensajesPrivados.

En primer lugar deben saber que tienen que crear la clase con el mismo nombre que el archivo (ComponentNombre.php entonces Class ComponentNombre).

Y lo primero que deben hacer es darle soporte a ComponentLibrary para lo cual antes de empezar a escribir la clase deberán incluir el ComLib.php, si ustedes usan PCMBasic (el pequeño frámework diseñado para ejemplificar el modelo PCM, el ComLib.php se carga solo, por lo que no tienen que hacer un include, además el PCMBasic cargará el ComLib.php interno, y no el de la carpeta del componente, no obstante el comlib debe estar en la carpeta del componente por si se lo quiere mover a otro sistema que no sea PCMBasic), para que funcione en cualquier sistema pueden hacer un if(!defined('PCM_COMLIB')) include_once('ComLib.php'); lo que hará que si no está cargado el COMLIB lo carga el propio componente.


Una vez que tengan el COMLIB cargado puede hacer uso del trait poniendo en la clase use ComLib;

luego el resto de la clase incluirá todas las funcionalidades del componente, tenga en cuenta que debe poner los atributos como private, y si quiere hacerlos accesibles puede escribir funciones getters y setters, además si incluye y usa el trait MyProperty puede permitir a quienes usen el componente acceder a atributos sin necesidad de llamar funciones.
¿por qué querría eso?
Es bastante simple de responder, los que utilizen el modulo no tienen por que estar pensando en que existen dichas funciones, con solo utilizar el atributo directamente debería ser suficiente, en vez de estar poniendo $instancia->set_atributo($valor); pueden poner simplemente $instancia->atributo = $valor;

Los requisitos para que un componente sea válido y aprobado por el ComponentLibrarySystem son:

- El componente debe ser indefectiblemente una clase.
- El componente debe usar el trait ComponentLibrary (ComLib) para poder crear un enlace entre el componente y el CLSystem (Component Library System).
- Debe cumplir los requisitos del ComLib (eso se explicará cuando se hable sobre ComLib).-
- No debe tener funciones php que estén en estado "Deprecated" o "Experimental".
- El nombre de la clase y del archivo deben empezar con el prefijo Component (y obviamente ambos nombres deben ser iguales)

Si un componente no cumple estos requisitos es un componente inválido.

Saludos!

0 comentarios:

Publicar un comentario

Subscribete al RSS Follow me on Twitter!