Accesare propietati din copil in parent class
Last Updated: Jun 27 2012 10:20, Started by
danutz0501
, Jun 14 2012 16:05
·
0
#1
Posted 14 June 2012 - 16:05
Pot sa fac asa ceva?Ma tot chinui de vreo 2 ore si google chiar nu ajuta cu nimic.
Am o clasa parinte care o folosesc pt baza de date (interogarii etc) si o clasa copil care o extinde. Clasa copil vreau sa o fac de genu config in care sa setez diverse variabile constante care o sa le folosesc in clasa parinte. |
#2
Posted 14 June 2012 - 16:09
logic ar fi sa le declari in clasa parinte, iar in clasa copil sa le dai valori
|
#3
Posted 14 June 2012 - 17:57
Strict la subiect: declară proprietățile protected în bază.
DAR mie tare îmi miroase a neînțelegere de OOP. Cel mai bine scrie aici ce problemă vrei să modelezi și ce idei ai, eu sunt dispus să îți dau idei (mai) corecte pentru o implementare. |
#4
Posted 14 June 2012 - 18:56
Din cate am inteles eu el vrea sa ieie valorile de confiurare la baza de date (host, username, password, ...) si cum vrea sa faca el e cam ciudat.
Mai simplu ar fi sa faca o noua clasa in care incarca valorile dintr-un fisier sau o baza de date. |
#5
Posted 14 June 2012 - 19:57
Ms baieti, am rezolvato in cel mai usor mod. Am facut clasa principala sa extinda clasa config in care imi tin setarile, si asa am inheritance in restu de clase care extind pe cea principala.
E greu sa fi incepator |
#6
Posted 14 June 2012 - 20:04
#7
Posted 17 June 2012 - 23:11
danutz0501, on 14th June 2012, 20:57, said: [...] am rezolvato in cel mai usor mod. Am facut clasa principala sa extinda clasa config [...] Ouch. Sigur e rezolvarea corectă? Adică toate clasele tale sunt clase de configurare acum? Și atunci fiecare instanță are propriul set de configurare, care ar trebui să fie global aplicației? What have you done? |
#8
Posted 18 June 2012 - 02:23
Rezolvare corecta nu, doar incercare de a invata OOP, inheritence si tot ce tine de domeniu asta OOP.
Relax doar e cu scop autodidactic, nu pentru un "live site". Invat din greseli si explicatii de la coforumisti. |
#9
Posted 18 June 2012 - 06:40
#10
Posted 18 June 2012 - 09:33
Momentan sant ocupat si cu zugraveala in apartament, dumnezeu cu mila ce o iesii .
Si in acelasi timp incerc sa gasesc mai multe informatii despre multitone si registry pattern, am nevoie de 3 baze de date pentru proiectul care incerc sa il realizez +1 fisier(clasa) pt configurare, si incerc sa imi dau seama ce si cum ar fi mai bine pt configurari, sa fie o instanta globala gen multitone registry etc, sau sa le fac private pentru ca pana la urma sant setari de configurare si accesandule global si modificandule, s-ar putea sa ma trezesc cu niste neplaceri si sa nu imi dau seama ce si unde sa modificat, fiind o instanta globala. Am de asimilat multe informatii, si in 1-2 zile nu sant capabil sa le fac. |
|
#11
Posted 18 June 2012 - 13:09
danutz0501, on 18th June 2012, 03:23, said: Rezolvare corecta nu, doar incercare de a invata OOP, inheritence si tot ce tine de domeniu asta OOP. Relax doar e cu scop autodidactic, nu pentru un "live site". Invat din greseli si explicatii de la coforumisti. Vezi ce am pus eu cu bold acolo? Aia este tocmai ceva de OOP. Fă cum a zis OriginalCopy și încearcă să exemplifici aici ce și cum, și poate o să înțelegi și mai multe, și mai bine . |
#12
Posted 18 June 2012 - 22:42
Iar vin pe capul vostru. Incercand sa inteleg registry patern ma lovesc de o problema, nu pot introduce valorile in array. Unde gresesc?
class registry{ private static $reg = array(); public function __construct(){ self::main_config(); } public static function set($key, $value){ self::$reg[$key] = $value; } public static function get($key){ return isset(self::$reg[$key]) ? self::$reg[$key] : null; } public static function clear(){ self::$reg = array(); } private static function main_config(){ include("config.php"); foreach($config_array as $key => $value){ self::set($key, $value); } } } |
#14
Posted 19 June 2012 - 11:41
Sa rezolvat printr-o noua instalare(reinstalare xampp) setam registry::set(cheie , valoare) si daca incercam sa citesc valoare sau chiar var_dump primeam doar NULL nu seta absolut nimic in array.
Oricum multumesc frumos pentru ajutor. |
#15
Posted 19 June 2012 - 13:29
In primul rand imi cer scuze de dublu post. Dar am o simpla intrebare ce am facut gresit aici de primesc notice: Notice: Undefined index: a in E:\WEB\xampp\htdocs\3\registry.php on line 29
clasa a si clasa b sant identice doar am schimbat a cu b in interiorul claselor class a{ public function __construct(){ echo("a"); } public function write(){ echo "metod a write"; } } registry class registry{ private static $reg = array(); public function __construct(){ self::main_config(); } public static function set($key, $value){ if(!isset(self::$reg[$key])){ self::$reg[$key] = $value; } } public static function getInstance($key) { if(!isset(self::$reg[$key])){ self::set(self::$reg[$key], self::$reg[$key] = new $key); } return self::get($key); } public static function get($key){ return isset(self::$reg[$key]) ? self::$reg[$key] : null; } public static function delete($key){ if(isset(self::$reg[$key])){ unset(self::$reg[$key]); } } public static function edit($key, $value){ if(isset(self::$reg[$key])){ self::$reg[$key] = $value; } } public static function clear(){ self::$reg = array(); } private static function main_config(){ if(is_file(CORE_PATH."config.php")){ include("config.php"); foreach($config_array as $key => $value){ self::set($key, $value); } } } } si apelarea spl_autoload_register(function($class){ $file_name = $class.".php"; if(is_file($file_name)){ include_once ($file_name); } else{ die($file_name.' nu a putut fi gasit'); exit($file_name.' nu a putut fi gasit'); } }); $a = registry::getInstance('a'); $b = registry::getInstance('b'); registry::set('ab',12); $c = registry::getInstance('b'); $c->write();Inteleg ca un notice nu e o eroare grava dar nu inteleg de ce il primesc Edited by danutz0501, 19 June 2012 - 13:30. |
|
#16
Posted 19 June 2012 - 14:37
public static function getInstance($key) { if(!isset(self::$reg[$key])){ self::set($key, new $key); } return self::get($key); } Cred ca asta vroiai sa faci. |
#18
Posted 19 June 2012 - 20:32
Nu înțeleg de ce atâtea metode statice. Știi ce e o metodă statică? Știi ce e o clasă? Știi de ce le-ai făcut statice?
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users