Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Subcarpetas en los controladores

Estas en el tema de Subcarpetas en los controladores en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buenas tardes , me gustaria configuracion mi applicacion para poder tener subcarpetas dentro de los modulos de los controllers, pero no se como puedo ...
  #1 (permalink)  
Antiguo 02/03/2011, 08:26
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Subcarpetas en los controladores

Hola buenas tardes , me gustaria configuracion mi applicacion para poder tener subcarpetas dentro de los modulos de los controllers, pero no se como puedo hacerlo la estructura seria:

application
-module
-admin
-controller
-Login
Index.php
-bootstrapt

bootstrapt

Tampoco consigo que entre el bootsrapt de los modulos , este es el bootstrapt del admin:
Código PHP:
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected function 
_initAutoload()
    {
    
             die(
"a");
   }

  #2 (permalink)  
Antiguo 02/03/2011, 09:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

Activaste en el application.ini los modules?
Código:
resources.modules[] =
Saludos.
  #3 (permalink)  
Antiguo 02/03/2011, 10:52
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

lo tengo asi configurado.

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.baseUrl = "/devep"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.modules[] = ""
  #4 (permalink)  
Antiguo 02/03/2011, 11:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

Pues si te fijas la carpeta se llama modules y tu la tienes como module, deberías de modificar eso.

Saludos.
  #5 (permalink)  
Antiguo 02/03/2011, 11:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

Cambiandolo asi:

Perdon me equivoque la carpeta se llama modules:

con lo que la configuracion es correcta asi:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = ""


Y tampoco entra en el boostrapt del module..

Última edición por niewpendejo; 02/03/2011 a las 11:45 Razón: datos erroneos
  #6 (permalink)  
Antiguo 02/03/2011, 11:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

Donde lo tienes hubicado debería de estar dentro de la carpeta del módulo:
/application/modules/admin/Bootstrap.php

Saludos.
  #7 (permalink)  
Antiguo 02/03/2011, 11:54
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Subcarpetas en los controladores

Cual es la estructura del proyecto ?, la correcta es asi:

Código PHP:
Ver original
  1. /proyect
  2.     /application
  3.         /modules
  4.             /admin  
  5.                 controllers
  6.                 models    
  7.                 Bootstrap.php //class Admin_Bootstrap
  8.             /store  
  9.                 controllers
  10.                 models              
  11.                 Bootstrap.php //class Store_Bootstrap
  12.         controllers
  13.         models    
  14.         Bootstrap //class Bootstrap                
  15.     /library
  16.     /public

es esta tu estructura ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 02/03/2011, 17:21
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

Mi estructura es esta:

Código:
application
        /modules
            /admin   
                controllers
                          
                models     
                Bootstrap.php //class Admin_Bootstrap
            /store   
                controllers
                models              
                Bootstrap.php //class Store_Bootstrap
        controllers
        models     
        Bootstrap //class Bootstrap                
    /library
    /public
Y quiero meter dentro de las carpeta cotroladores subcarpetas para dejarla. esto es un ejemplo.


Código:
application
        /modules
            /admin   
                controllers
                   / Test
                        // Class Amdin_Test_IndexController.
                models     
                Bootstrap.php //class Admin_Bootstrap
            /store   
                controllers
                models              
                Bootstrap.php //class Store_Bootstrap
        controllers
        models     
        Bootstrap //class Bootstrap                
    /library
    /public
Pero es que no pasa ni por el bootstrapt del admin , sin embargo a los controladores de la primera estructura sin problemas....
  #9 (permalink)  
Antiguo 02/03/2011, 17:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

No creo que el ruteador por defecto soporte lo que quieres hacer (subcarpetas en los modulos) pero esta muy raro que no cargue los bootstraps, como tienes tu index.php?

Creaste tu proyecto el Zend_Tool??

Saludos.
  #10 (permalink)  
Antiguo 02/03/2011, 17:40
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

Y no use el zend tool

Este es mi Index.php:

Código PHP:
<?php


defined
('APPLICATION_PATH')
    || 
define('APPLICATION_PATH'realpath(dirname(__FILE__) . '/../application/'));

// Define application environment
defined('APPLICATION_ENV')
    || 
define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));


set_include_path(implode(PATH_SEPARATOR, array(
  
realpath(APPLICATION_PATH '/../library'),
  
realpath(APPLICATION_PATH '/../library/Doctrine'),
  
realpath(APPLICATION_PATH '/models'),
  
get_include_path(),
)));
# //Include the Doctrine ORM library

//require_once APPLICATION_PATH.'/models/doctrine/generated/doctrinegenerate.php';

/** Zend_Application */

require_once 'Zend/Application.php';


// Create application, bootstrap, and run
$application = new Zend_Application(
    
APPLICATION_ENV,
    
APPLICATION_PATH '/config/config.ini'
);
/*
* MEMO: Mantenemos la config del  registro temporal
*/
$config = new Zend_Config_IniAPPLICATION_PATH .'/config/config.ini',  APPSTAGE );
Zend_Registry::set('config',$config);

l

ini_set
'display_errors'$config->environment->display_errors);
ini_set'html_errors',  $config->environment->html_errors);
ini_set'log_errors'$config->environment->log_errors );
ini_set'error_log',  APPLICATION_PATH.'/logs/php.log' );
ini_set'error_reporting',  $config->environment->error_reporting );






$application->bootstrap()

Última edición por niewpendejo; 02/03/2011 a las 17:41 Razón: modificar
  #11 (permalink)  
Antiguo 02/03/2011, 23:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

Puedes poner tu application.ini?
  #12 (permalink)  
Antiguo 03/03/2011, 02:15
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

Este es mi config.ini. Yo no le veo nada raro.

Código:
[production]

  phpSettings.display_startup_errors = 1
  phpSettings.display_errors = 1

 ; Library

  includePaths.library = APPLICATION_PATH "/../library"

; Nombre  bootstrap

  bootstrap.path = APPLICATION_PATH "/bootstrap.php"
  bootstrap.class = "Bootstrap"
  appnamespace = "Application"
 
  resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  resources.frontController.baseUrl = "/devep"
  resources.frontController.modulesDirectory = APPLICATION_PATH "/modules"
 ;; resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
  resources.modules[] = ""


  resources.layout.layout = "layout"
  resources.layout.layoutPath = APPLICATION_PATH "/layouts"

  



  ;; sessiones
  session.name = devep
  session.use_only_cookies = on
  session.remember_me_seconds = 86400





; ------------------------------------------
; database
; ------------------------------------------


  doctrine.data_fixtures_path = APPLICATION_PATH "/../doctrine/data/fixtures"
  doctrine.sql_path           = APPLICATION_PATH "/../doctrine/data/sql"
  doctrine.migrations_path    = APPLICATION_PATH "/../doctrine/migrations"
  doctrine.yaml_schema_path   = APPLICATION_PATH "/../doctrine/schema/schema.yml"
  doctrine.models_path        = APPLICATION_PATH "/models"
  doctrine.generate_models_options.pearStyle = true
  doctrine.generate_models_options.generateTableClasses = false
  doctrine.generate_models_options.generateBaseClasses = true
  doctrine.generate_models_options.baseClassPrefix = "Base_"
  doctrine.generate_models_options.baseClassesDirectory =
  doctrine.generate_models_options.classPrefixFiles = false
  doctrine.generate_models_options.classPrefix = "Model_"


    ;; environment

    environment.default_timezone = Europe/Madrid
    environment.display_errors = 0
    environment.log_errors = 1
    environment.html_errors = 0
    environment.error_reporting = 15
    environment.compress_output = 1

    


    ;; logger
    logger.log_db       = 1
    logger.log_level    = 7
    logger.filepath       = APPLICATION_PATH"/../logs/logger.log"
    logger.show_debugger  = 0

    logger.firebug      = 0







[testing : production]



     

    ;; environment
    environment.default_timezone = Europe/Madrid
    environment.display_startup_errors = 1
    environment.display_errors = 1
    environment.log_errors = 1
    environment.html_errors = 0
    environment.error_reporting =  15
    environment.compress_output = 1

    ;; logger
    logger.log_db       = 1
    logger.log_level    = 7
    logger.filepath       = APPLICATION_PATH"/../logs/logger.log"
    logger.show_debugger  = 0
    logger.email_alerts = ""
    logger.firebug      = 0



[development : testing]



    

    ;; environment
    environment.default_timezone = Europe/Madrid
    environment.display_startup_errors = 1
    environment.display_errors = 1

    environment.log_errors = 1
    environment.html_errors = 1
    environment.error_reporting =  15
    environment.compress_output = 1

     ;; logger
    logger.log_db       = 0
    logger.log_level    = 1
    logger.filepath       = APPLICATION_PATH "/../logs/logger.log"
    logger.show_debugger  = 0
    logger.email_alerts = ""
    logger.firebug      = 0
  #13 (permalink)  
Antiguo 03/03/2011, 09:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

Es muy raro, asegurate que tu archivo se llame Bootstrap.php, e igual pon un die() pero al inicio del archivo para ver si Zend lo esta cargando.

Saludos.
  #14 (permalink)  
Antiguo 03/03/2011, 12:16
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

Ahora no puedo probarlo , pero creeis que puede ser por la mayuscula,

Mi archivo se llama bootstrap.php no Bootstrap.php.

Si no es por la mayuscula, no entra , porque ya tengo un die puesto y nada de nada....yo no veo que tenga nada mal en la configuracion ni en el Index , y si que se me ve raro...
  #15 (permalink)  
Antiguo 03/03/2011, 12:48
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Subcarpetas en los controladores

Si necesitas estas lineas en el index.php

Código PHP:
Ver original
  1. realpath(APPLICATION_PATH . '/../library/Doctrine'),
  2. realpath(APPLICATION_PATH . '/models'),

es porque algo esta mal, el loader por defecto ya "busca" ahi, no podes zipear y subir a algun lado el proyecto ? y las mayúsculas y minúsculas, importan.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #16 (permalink)  
Antiguo 04/03/2011, 02:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 138
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Subcarpetas en los controladores

Ok ,parece ser que eran las mayusculas de los archivos, nunca pense que podria ser eso...
Gracias

Y lo de organizar los controladores con subcarpetas podeis echarme una mano , como podria ser.

Un saludo
  #17 (permalink)  
Antiguo 04/03/2011, 09:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Subcarpetas en los controladores

Es lo que te comento, el dispatcher no creo que soporte eso, tendrías que crear tu propio Dispatcher que pueda buscar en subcarpetas, y también yo creo enseñarle al router como leer las subcarpetas, te dejo unos links de referencia:

http://framework.zend.com/apidoc/cor...Interface.html
http://doczf.mikaelkael.fr/1.10/es/z...ispatcher.html

Saludos.

Etiquetas: controladores, subcarpetas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:30.