Re: [PHP-ES] OOP + funciones heredadas entre funciones

[email protected] (Mauricio Tapia) Thu, 24 Apr 2014 14:40:54 -0400
Newsgroups php.general.es
Message-ID <CA+xbvFAA8b1VdHnYpnmZpcGHP48=VQUw3ZZMa3anD5Z0LhwBNA@mail.gmail.com>
te diría que estas confundido ...

Class MyClass{

var $prop1;
var $prop2 = 'prop 2';

public function GetValue($new){

$new = $this->prop1;

}

public function SetValue(){

echo $this->prop2. $new;

}
}

$data = new MyClass();
$data->GetValue(PROPIEDAD UNO);
$data->SetValue();



1.- creas el objeto
2.- envías un dato PROPIEDAD UNO ( yo lo enviaría como cadena)
3.- si envias una cadena para getvalue a travez de $new no sirve de nada
debido a que luego $new le asignas otro valor en ese caso prop1 que es nada.
4.- por lo mimo el evento setvalue te dara error ya que $new estará como no
definida

es mi modesta opinión
Saludos



El 24 de abril de 2014, 14:22, Alexis Saucedo <[email protected]>escribió:

> gracias por responder Mauricio y si quisiera hacer algo asi?:
>
> Class MyClass{
>
> var $prop1;
> var $prop2 = 'prop 2';
>
> public function GetValue($new){
>
> $new = $this->prop1;
>
> }
>
> public function SetValue(){
>
> echo $this->prop2. $new;
>
> }
> }
>
> $data = new MyClass();
> $data->GetValue(PROPIEDAD UNO);
> $data->SetValue();
>
> Saludos!
>
>
> El 24 de abril de 2014, 15:10, Mauricio Tapia <[email protected]>escribió:
>
>> Hola
>>
>> El script de ejemplo me funciona, creo que debes corregir a mi parecer 2
>> puntos que te faltan.
>>
>> en la línea
>>
>> echo "valor de funcion 1" $this->op1;
>>
>> agrega un punto que falta
>>
>> echo "valor de funcion 1 ".$this->op1;
>>
>> en la función GetValue lo mismo antes del $this agrega un .
>>
>> Saludos
>> Mauricio Tapia
>> atacamaworkbench.com
>>
>>
>>
>> El 24 de abril de 2014, 12:47, Alexis Saucedo <[email protected]>escribió:
>>
>> Buenas tardes estoy con un dilema y se que lo estoy haciendo mal pero aun
>>> no le encuentro la vuelta haber si me pueden dar una mano, en primer
>>> lugar
>>> necesito crear una clase dinamica por la cual cuando invoque las
>>> propiedades pueda llamar a una funcion. Intente en primer lugar llamar
>>> una
>>> propiedad dentro de una clase desde otra, quise hacer algo asi (lo estoy
>>> haciendo de memoria perdon si hay algun error):
>>>
>>> Class MyClass{
>>>
>>> var $op1 = 'algo';
>>> var $op2 = 'algo2';
>>>
>>> public function SetValue(){
>>>
>>> echo "valor de funcion 1" $this->op1;
>>>
>>> }
>>>
>>> public function GetValue(){
>>>
>>> echo "esto es function GetValue" $this->op2 ."y esto es SetValue"
>>> $this->op1;
>>>
>>> }
>>>
>>> }
>>>
>>> $data = new MyClass();
>>> $data->SetValue();
>>> $data->GetValue();
>>>
>>> esto no me arrojo ningun resultado, esto lo hice por que a lo que quiero
>>> aplicar es a algo asi:
>>>
>>> Class ConectClass{
>>>
>>> var $host = 'localhost';
>>> var $user = 'usuario';
>>> var $pass = 'contraseña';
>>> var $database = 'base de datos';
>>> var $tabla;
>>> var $fila;
>>>
>>> Public Function ConectarDb($db){
>>>
>>> $this->database = $db;
>>>
>>> mysql_connect("$this->host", "$this->user", "this->pass");
>>> mysql_selectdb("$db");
>>>
>>> }
>>>
>>> public function SetValue($table, $file){
>>>
>>> $this->tabla = $table;
>>> $this->fila = $file;
>>>
>>> $query = mysql_query("SELECT $table FROM $this->database");
>>> if($row=mysql_fetch_array()){
>>> echo $row[$file];
>>> }
>>> }
>>>
>>> }
>>>
>>> $data = new ConectClass();
>>> $data->ConectClass(nombre de la base de datos);
>>> $data->ConectClass(nombre de la tabla);
>>> $data->ConectClass(nombre de la fila);
>>>
>>> mi idea es poder instanciar los objetos y agregar los campos, se que en
>>> este ultimo no lo etsoy haciendo correcto, solo me imagine que asi podria
>>> llegar a realizarlo, la idea es que se pueda entender mi punto, ¿alguno
>>> me
>>> podria desenredar esto?.
>>>
>>> Saludos y muchas gracias!
>>>
>>
>>
>>
>> --
>> Atentamente
>> Mauricio Tapia Ortega
>> *atacamaworkbench.com <http://www.atacamaworkbench.com>*
>> Skype : atacamaworkbench
>>
>
>


-- 
Atentamente
Mauricio Tapia Ortega
*atacamaworkbench.com <http://www.atacamaworkbench.com>*
Skype : atacamaworkbench