Autor
|
Tema: problema con clases php (Leído 4,256 veces)
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
buenas bueno tengo esto: <?php class Ftp { var $cid; var $result; var $FTPSERVER; var $USER; var $PASS; var $rootdir; public function connect($mode_pasive=true){ if ((!$cid) || (!$resultado)) { return (false); }else{ if ($mode_pasive==true){ } return (true); } } } $ftp=new Ftp(); $ftp->$FTPSERVER="ftp.260mb.com"; $ftp->$USER="zeroql"; $ftp->$PASS="linkql"; $ftp->$rootdir="/"; $ftp->connect(true); ?>
el problema es cuando lo pongo a prueba me sale este error Notice: Undefined variable: FTPSERVER in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61
Fatal error: Cannot access empty property in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61 Me pueden decir que tengo de malo??? apenas estoy empezando a crear clases con php, y este es mi primer ensayo. de ante mano muchas gracias.
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
#!drvy
|
Hola, las funciones como tal no adoptan las variables definidas anteriormente. Por tanto, o las debes pasar en la misma funcion ( function($variables) ) o las debes declarar como globales ( global $variable1,$variable2;). ejemplo: <?php $variable1 = 'blablabla'; function bla($variable){ return $variable; } echo bla($variable1);
<?php $variable1 = 'blablabla'; function bla(){ global $variable1; return $variable1; } echo bla();
PD: En tu caso utilizando class es mas facil. <?php class aaaa { var $cid = 'xDDD'; public function mostrar(){ return $this->cid; } } $bbb = new aaaa(); echo $bbb->mostrar(); ?>
Recuerda que cuando la quieres mostrar no es $this->$cid sino $this->cid, sin el siglo de variable.Saludos
|
|
« Última modificación: 13 Noviembre 2011, 19:39 pm por drvy | BSM »
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
normalmente no permite el paso de variables, pero es una clase, y si miras bien cuando se llama a la clase se definen las propiedades, eso lo he visto mucho también en otras clases, pero nose por que me salta este error!
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
#!drvy
|
Sea clase o no funciona igual Lo que se utiliza en clase es lo que edite en el post de arriba. $this->variable. $this->cid; $this->FTPSERVER; etc.. Saludos
|
|
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
y segun tu codigo mi llamada esta bien hecha, por que esta fuera de la clase!!!
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
#!drvy
|
WTF ? Lo que tienes mal es la función en si. No usas $this->, ni global ni nada xD public function connect($mode_pasive=true){ $result=ftp_login($cid,$this->USER,$this->PASS); if ((!$cid) || (!$result)) { return (false); }else{ if ($mode_pasive==true){ } return (true); } }
PD: RECUERDA (y te lo puse arriba) cuando vas a usar variable en una clase. No utilices $ utiliza $this->variable. Saludos
|
|
« Última modificación: 13 Noviembre 2011, 20:01 pm por drvy | BSM »
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
Actualmente ese no es mi problema es cuando hago la llamada a la clase: $ftp=new Ftp(); $ftp->$FTPSERVER="ftp.260mb.com"; $ftp->$USER="zeroql"; $ftp->$PASS="linkql"; ...
se presenta este error: Notice: Undefined variable: FTPSERVER in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61
Fatal error: Cannot access empty property in C:\xampp\htdocs\sovys\class\class_ftp.php on line 61 La linea 62 es: $ftp->$FTPSERVER="ftp.260mb.com";
como se ve no se ha realizado la llamada a la funcion, por el momento no presentara errores en la funcion...
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
#!drvy
|
Vale vale, es que no sabia de que linea estabamos hablando xD Pues lo mismo ^^ En vez de $ftp->$FTPSERVER="ftp.260mb.com";
esto $ftp->FTPSERVER="ftp.260mb.com";
Saludos
|
|
|
En línea
|
|
|
|
Zeroql
Desconectado
Mensajes: 957
Todo lo k sucede sucede por una razon
|
Ok muchas gracias ahora si me ha funcionado a la perfecccion. muchas gracias
|
|
|
En línea
|
Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo. /.-ZEROQL.-\ ----- #937675#
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con las clases en c#
.NET (C#, VB.NET, ASP)
|
The Jackal
|
2
|
2,718
|
18 Noviembre 2007, 13:10 pm
por The Jackal
|
|
|
Problema con clases
Java
|
Debci
|
3
|
2,727
|
9 Julio 2009, 20:53 pm
por Amerikano|Cls
|
|
|
Problema con Clases
.NET (C#, VB.NET, ASP)
|
Dreamcacher
|
1
|
2,201
|
5 Octubre 2011, 20:51 pm
por Keyen Night
|
|
|
Problema con clases
Java
|
Lain0x
|
5
|
3,733
|
24 Noviembre 2011, 16:51 pm
por Lain0x
|
|
|
[RESUELTO ]Problema invisible en Clases :(
PHP
|
mokoMonster
|
0
|
1,879
|
20 Enero 2012, 15:14 pm
por mokoMonster
|
|