FAQ
Buenas a todos listeros,

Queria hacer una consulta, pues hje probado varias formas de resolverlo pero
no lo consigo =(

tengo una estructura como esta

carpetaMiproyecto
->carpetaSeccion1

->carpetaSeccion2
->carpetaclases

->index2.php
->index.php
->proceso.php
entonces la carpetaclases esta en esa ubicacion porq la necsito en ese
lugar, pero cuando llamo a una clase en proceso.php este me da errores
debido a que en las clases q tengo dentro de carpetaclases se incluyen entre
si. el error mas comun es que el archivo no existe o y hace referencia al
require que hago dentro de una de estas clases q tengo. Por ejemplo si
tengo.

proceso.php
<?php
require_once ('carpetaSeccion2/carpetaclases/miclase1.class.php');
?>

me da un error :
*Warning*: Clase2::require(../carpetaclases/archivo.php) [
function.Conf-require<http://localhost/ifhperu/revista/function.Conf-require>]:
failed to open stream: No such file or directory in *
C:\xampp\htdocs\carpetaMiproyecto\carpetaSeccion1\carpetaSeccion2\Clase2.class.php
* on line *13*
.

entonces si modifico esa linea ok todo me sale bien, pero entoncs ahora es
index2.php el me me botya este error.

LO que deseo es poder usar mis clases pues requiero algunos metodos de estas
desde proceso.php , pero sin que index2.php me bote los errores, es decir
que ambas paginas puedan usar las clases sin necesidad de cambios respecto a
los require, trate de probar con la ruta completa pero mi sistema tiene
restringido hacer includes de URl

Agradesco de antemano su ayuda

Atentamente

Ricardo Vila

Search Discussions

  • Carlos Medina at Jan 28, 2009 at 8:44 pm

    Ricardo Vila schrieb:
    Buenas a todos listeros,

    Queria hacer una consulta, pues hje probado varias formas de resolverlo pero
    no lo consigo =(

    tengo una estructura como esta

    carpetaMiproyecto
    ->carpetaSeccion1

    ->carpetaSeccion2
    ->carpetaclases

    ->index2.php
    ->index.php
    ->proceso.php
    entonces la carpetaclases esta en esa ubicacion porq la necsito en ese
    lugar, pero cuando llamo a una clase en proceso.php este me da errores
    debido a que en las clases q tengo dentro de carpetaclases se incluyen entre
    si. el error mas comun es que el archivo no existe o y hace referencia al
    require que hago dentro de una de estas clases q tengo. Por ejemplo si
    tengo.

    proceso.php
    <?php
    require_once ('carpetaSeccion2/carpetaclases/miclase1.class.php');
    ?>

    me da un error :
    *Warning*: Clase2::require(../carpetaclases/archivo.php) [
    function.Conf-require<http://localhost/ifhperu/revista/function.Conf-require>]:
    failed to open stream: No such file or directory in *
    C:\xampp\htdocs\carpetaMiproyecto\carpetaSeccion1\carpetaSeccion2\Clase2.class.php
    * on line *13*
    .

    entonces si modifico esa linea ok todo me sale bien, pero entoncs ahora es
    index2.php el me me botya este error.

    LO que deseo es poder usar mis clases pues requiero algunos metodos de estas
    desde proceso.php , pero sin que index2.php me bote los errores, es decir
    que ambas paginas puedan usar las clases sin necesidad de cambios respecto a
    los require, trate de probar con la ruta completa pero mi sistema tiene
    restringido hacer includes de URl

    Agradesco de antemano su ayuda

    Atentamente

    Ricardo Vila
    Hola Ricardo,
    yo solucione ese problemita de la siguiente manera:

    Digamos que tengo un file "Bootstrap" que le llamo index.php y en el
    cual empiezo toda la aplicacion. En ese file hago

    if(false == defined('BASEPATH')){
    define('BASEPATH', dirname(__FILE__));
    }

    Con esto hago mi basepath del cual puedo partir siempre. Cuando deseo
    usar clases en toda la aplicacion las pongo en su carpeta
    correspondiente y las meto en el include path:

    set_include_path( get_include_path().PATH_SEPARATOR. BASEPATH . '/libs');

    set_include_path(get_include_path().PATH_SEPARATOR. BASEPATH . '/mods/sys');

    Asi lo hago todo tambien de un guamazo como decimos en venezuela :-) Yo
    por mi parte uso el autoload para llamar mis clases y no tener que estar
    incluyendo nada y listo!

    Ya que uso Zend Framework y EzComponents juntos pues los uno ambos

    en el Bootstrap

    Zend_Loader::registerAutoload( 'autoloadClass' );

    y la clase autoloadClass

    class autoloadClass{

    /**
    * Autoload Class to load EzComponents and Zend Classes
    *
    * @param mixed $strClassName
    */
    public static function autoload( $strClassName ){
    // get the ezc on the Classname
    if( stristr( $strClassName, 'ezc') ){
    try{
    ezcBase::autoload( $strClassName );
    } catch ( Exception $e ){
    echo $e->getMessage();
    return false;
    }
    }else{
    try {
    Zend_Loader::loadClass( $strClassName, null );
    } catch (Exception $e) {
    echo $e->getMessage();
    return false;
    }
    }
    }
    }
    ahora me siento a fumarme mi pipa y dejo que mi vieja me haga masaje en
    los pies :-D

    Saludos

    Carlos Medina

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedJan 28, '09 at 8:22p
activeJan 28, '09 at 8:44p
posts2
users2
websitephp.net

2 users in discussion

Carlos Medina: 1 post Ricardo Vila: 1 post

People

Translate

site design / logo © 2022 Grokbase