Diferencia entre revisiones de «Cambios Pendientes Spirit»
De KumbiaPHP Framework Wiki
Línea 36: | Línea 36: | ||
</pre></s> | </pre></s> | ||
+ | * Ya que los nuevos hepers son clases, poder cambiar los dirs de js, img, css,.... Via atributos | ||
* Partials paginators si van al page 1 no deben enviar el 1, solo el path | * Partials paginators si van al page 1 no deben enviar el 1, solo el path | ||
Revisión del 09:24 7 oct 2009
Sumario
Cambios Pendientes KumbiaPHP versión 1.0 Spirit
- Terminar el scaffold
- Crear la web de Kumbiaphp con Kumbiaphp
Views
templates, partials y errors por _shared y ponerlos dentro o no se pueden usar esos nombres para controllersen View para usar el set_response tambien usar _xxx. ejemplo: views/controller/_rss/action- Proposicion crear tambien un dir default(u otro nombre) dentro del _shared, para tener views por defecto si no existe para esa accion en su dir views/controller/action.(debe tener un atributo el controller para habilitarlo por seguridad)
Por ejemplo si no tiene index.php cargar el shared/default/index.phmtl si existe. Otro, un xml.phtml que podria usar cualquier accion de cualquier controller.
ActiveRecord
- Eliminar ereg, eregi, ereg_xxx del codigo
- El paginate debe enviar exception si se le pasa valor negativo y evitar la llamada a bd
- Tambien el paginate debe enviar exception si despues de la consulta no existe esa pag
- Ahora los modelos llevaran el include_once arriba para la clase que necesiten
- Las validaciones no deben usar el Flash al no validar
- Mirar si podemos pasarle algo del nuevo ActiveRecord
- Intentar añadir with:
- (Behaviors)
- Si lo podemos aligerar un poco, mejor
- Intentar añadir metodos estaticos, por si usan php 5.3 que lo aprovechen. (internamente ese metodo comprobara la version de PHP)
Cambiado models_autoload a Off en el config.ini. Ademas era una mala practicaPosibilidad de quitar el models_autoload del config.ini. Eso lo puede hacer el usuario en el initialize añadir Load::models()- (Los callabacks deben ser protected)
- (Crear convencion _up en activeRecord para upload de archivos.)
Helpers
- (Crear alias e para el echo, igual como ahora el h para htmlspecialchars)
Este es mejor:
crear alias eh para que haga las 2 cosas de un golpe, el echo y el htmlspecialchars. Podemos escoger otro nombre para este alias. ejemplo:
<h1><?php eh($model->campo) ?></h1>
- Ya que los nuevos hepers son clases, poder cambiar los dirs de js, img, css,.... Via atributos
- Partials paginators si van al page 1 no deben enviar el 1, solo el path
Router
Quitar el redirect del controller y pasarlo al router,tambien que pueda pasar el 301, 302,... si no usa tiempo.Quitar de atributos el all_parameters y el id (id no es necesario y si alguien lo quiere $parameters[0])- (Optimizarlo)
- Cambiar routes.ini para evitar el bug que tiene php 5.3
- poder pasar parametros usando el routes.ini
- Poder usar el Flash via session (no es del router pero el cambio es debido al enrutar)
- Obtener la URL completa incluyendo el dominio.(con esto ademas podriamos usar routes relativas y absolutas)
- Manejo de rutas estáticas para subdominios.
Exception
- Arreglar la exception por si hay espacios en el trace
- Cambiar los path separators(win)en el trace
- Poder enviar en el throw el tipo de error (404,500,501,....)
- Añadir boton listar ficheros, debajo de xx files includes. (Posible que salga via jquery). Separados por:
- Includes app
- Includes Core
- Includes Exception
- (Mirar donde podemos usar mas Try y Catch de exceptions, y poder quitar validaciones.)
Recordar
- Intentar standarizar el sistema de drivers o adapters (db adapters, cache drivers, sesion drivers, auth ...)
- Mejorar la cache
- Y si quitamos el constructor del controller??? por seguridad y ponemos este y un par mas como private vacios.
- Posibilidad de crear un php en el dir de CORE para que devuelva la version y su path.(esto para que se pueda poner en bin, por ejemplo)
- Crear plantilla para partials, helpers, ... (Autor, categoria, descripcion,...)
- Crear boceto para sistema de plugins(mini apps)
- Considerar HomeController como controller por defecto (mostraria la bienvenida tb) sin usar routes.ini
- Considerar admin o backend modulo por defecto con auth
- Intentar poder usar el auth por defecto, si existe la tabla usuarios y usar el http auth.(convencion sobre configuaracion)
- Quitar o cambiar los vendors por nuevos
- Posible cambio en pages, en vez de show usar el index. Asi funcionaria example.com/pages/xxx
- Tambien se puede añadir en pages un metodo secret o secure que miraria primero el auth
- Mejorar el config class
Antiguo beta1
Terminar la nueva bienvenidaCuando se lanzan las excepciones en ocasiones no se cargan los estilosTerminar que el kumbia exception se encargue de mostrar views para la salida de errores (diferentes en desarrollo y en producción )Crear session en dispatcher solo si el controller es persistenteMover la carga del tags.php y use_helper('main') al get_view()Si no usa ni template ni view, validarlo antes de llamar al get_view()</s<- Cambiar en los callbacks de ActiveRecord el return 'cancel' por un bool es mejor hacer return false
Mover el application controller del dir controllers al dir de la appMover el model base tambien al dir de la appEl application debe extender del controller base de kumbia libs (ahora esta al reves)Cambiar enviroment.ini por databases.ini(lo suyo seria que tuviese el db_date del config.ini y si es posible añadir uno para el charset de la db)- Cambiar los if(file_exists por if(!include $file) { throw new KumbiaException..... (o mejor con un try, si es posible)
Crear un dir temp (para poner dentro el de cache y el de logs)Cambiar, si es posible el mode de config.ini para que sea production = on | offQuitar del config.ini la configuracion de directoriosNecesitamos un metodo para la carga selectiva de modulos (como la de modelos)Quitar el extends object en las clases que no lo necesitan (posiblemente no la necesita ninguna)Quitar el join_path y donde se useSolucionar el problema de los headersIntegrar la nueva cacheEliminar toda la vieja cache en la clase kumbia y controllerAñadir cache a los partialsHacer la clase logger estática- Añadir mas información a los log (estilo apache)
- Habilitar archivos log vía rss
- Habilitar una opción vía config.ini para enviar un mail con los log, contendría el mail del admin.
- Cuando la APP este en producción las excepciones deben ir a un log o rss(si esta habilitado). Y enviar un error 500
Añadir locale al config.iniMejorar la carga de clases del boot.iniMover la carga del standard form al boot.ini- Utilizar el filter_var de PHP en la clase filter. Y en el sanitize y validate de models
Terminar y limpiar el pages controllerUsar el pages controller para visualizar la bienvenida y ponerlo en el routes.ini- La clase xml debe cargarse cuando se necesita y después hacer un exit()
Añadir variable $view al controller para evitar bug y limpiar codigo del render del controller- Rehacer el Router::route_to
Arreglo de los validadores de ActiveRecord.Quitar de los validadores de ActiveRecord el llamado a $this->_connet() eso se ha de pasar al save() tomar como referencia al método validates_presence_ofHabilitar en el config.ini la carga de modelos (databases), esto para cuando se desee trabajar con o sin modelosAgregar al paginate de ActiveRecord el atributo count- El objeto devuelto por Active Record debe ser:
- Objeto ActiveRecord {
- array Metadata (con la metadata)
- array Items (con objetos stdObject)
- }
- Y si es posible, mejor sólo un array sin nombre con los items.
- El active record debe crear el objecto de un golpe ( $items[] = (obj) $array_row )
- El controller debe hacer el sanitize del get, post y request y no el active record
Las variables que inicializa al principio Kumbia::main() deberia crear constantes
Sera más fácil de leer el código y podremos quitar código que sólo pasa esas variables, asi como las variables de objeto, usando menos memoria. Serian para los directorios: MODELS, CONTROLLERS, LIBS, VIEWS, HELPERS Y si es un módulo, ya se creara aqui el directorio correctamente (posible problema con el
route_to, hay que mirarlo)