Foros del Web » Programando para Internet » PHP »

error con get_class

Estas en el tema de error con get_class en el foro de PHP en Foros del Web. Buenas estoy migrando php 5.2 a 5.3 y uno de los errores que me genera es este pero no se donde esta la falla alguien ...
  #1 (permalink)  
Antiguo 17/05/2012, 11:22
 
Fecha de Ingreso: mayo-2012
Mensajes: 24
Antigüedad: 12 años, 6 meses
Puntos: 0
error con get_class

Buenas estoy migrando php 5.2 a 5.3 y uno de los errores que me genera es este pero no se donde esta la falla alguien podria ayudarme se lo agradeceria.


get_class() expects parameter 1 to be object, string given
File: /var/www/di/xfm/fm/class/AbstractModel.php Line: 468

la linea 468 esta subrayada


public function pagingHandler(){
/* Repeat con Paginación */
/* Determina si el Modelo utiliza paginación */
if ( $this->_config->pagedDSName != null ){
$pageNumberS = $this->_req->getParameter('pagenumber');
if ( $this->_req->getParameter('startpage') != null && $this->_req->getParameter('startpage') == 'true' ) $this->isPageStart = 1;
if ( $this->_req->getParameter('startpage') != null && $this->_req->getParameter('startpage') == 'false' ) $this->isPageStartUsed = 1;

$aux1 = $this->_req->getParameter('x') . '_xfm_page_using_page';
$aux2 = $this->_req->getParameter('x') . '_xfm_page_record';
$aux3 = $this->_req->getParameter('x') . '_xfm_page_query_string';
$aux4 = $this->_req->getParameter('x') . '_xfm_page_current_page';
if ( ! isset($_SESSION[$aux1] ) ) $_SESSION[$aux1] = '';
if ( ! isset($_SESSION[$aux2] ) ) $_SESSION[$aux2] = '';
if ( ! isset($_SESSION[$aux3] ) ) $_SESSION[$aux3] = '';
if ( ! isset($_SESSION[$aux4] ) ) $_SESSION[$aux4] = '';
if ( ! isset($_SESSION[$this->_req->getParameter('x') . '_xfm_page_last'] ) )
$_SESSION[$this->_req->getParameter('x') . '_xfm_page_last'] = '';


//echo 'aeth'.$this->_req->getQueryString();exit();

if( $this->isPageStart ){
// Request proviene de una acción inicial. (tipo Filtro)
// Se guarda en sesión _record y querystring del request
$_SESSION[$aux1] = '1';
$_SESSION[$aux2] = $this->_record ;
$_SESSION[$aux3] = $this->_req->getQueryString() ;

//echo $this->_req->getQueryString();exit();

// Request Proveniente de un Action enviando QueryString, _Record, y número de página a mostrar
// QueryString, _Record son actualizados en Sesion.
// Se asigna el número de página a mostrar
if( $pageNumberS != null && Util::isInt($pageNumberS) )
$_SESSION[$aux4] = (int)$pageNumberS ;
else
$_SESSION[$aux4] = '1'/*null*/ ;
}
else{
$_SESSION[$aux1] = '0';
if( $pageNumberS == null || (int)$pageNumberS == 0 ){
// Request proveniente de un action cualquiera (insert,update,delete) sin especificar número de página e indicar condición de Start.
// El número de la página a mostrar se tomará de sesión
$pageNumberS = $_SESSION[$aux4];
}else{
// Request proveniente del mismo Action navegando entre páginas
// Si existe un número de página se valida y convierte a numérico
// De lo contrario el número de página será el predefinido (1) en el view
}
// _record y query string se tomará de sesión y se omitirán los provenientes del request
if( Util::isInt($pageNumberS) )
$_SESSION[$aux4] = $pageNumberS ;
$tmpDS = get_class($_SESSION[$aux2]);
if( $tmpDS == 'DataSet' )
$this->_record = $tmpDS;
  #2 (permalink)  
Antiguo 17/05/2012, 11:45
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: error con get_class

en $tmpDS = get_class($_SESSION[$aux2]);

get_class espera que le mandes un objeto como parametro, y en $_SESSION[$aux2] le estas otorgando un string.

http://php.net/manual/es/function.get-class.php
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 17/05/2012, 12:23
 
Fecha de Ingreso: mayo-2012
Mensajes: 24
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: error con get_class

Ok entonces esta lago mal en la sentencia o tendria que añadir algo.
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 21:22.