Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica
 Ce componenta e asta si ce ziceti...

Dupa 20 ani de facultate, am uita...

Mobile.de ofera imprumut de bani ...

problema test grila
 Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...

Jante noi shitbox

Trinitas TV 4K
 Dacia 1316 cu 6 usi ...

Frecventa modificata radio

Un nou pericol pt batrani

Ar trebui sa vindem imobiliarele ...
 

Accesare propietati din copil in parent class

- - - - -
  • Please log in to reply
29 replies to this topic

#1
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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
egroeg

egroeg

    Junior Member

  • Grup: Members
  • Posts: 104
  • Înscris: 22.04.2005
logic ar fi sa le declari in clasa parinte, iar in clasa copil sa le dai valori

#3
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
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
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
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
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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  :rolleyes:

#6
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postdanutz0501, on 14th June 2012, 19:57, said:

E greu sa fi incepator  :rolleyes:
De fapt, e simplu. Cu cât ești mai începător, cu atât găsești mai ușor alți coforumiști mai avansați care să-ți dea idei ;)

#7
SebastianSG

SebastianSG

    Junior Member

  • Grup: Members
  • Posts: 217
  • Înscris: 29.05.2012

View Postdanutz0501, 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?  :o

#8
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postdanutz0501, on 18th June 2012, 02:23, said:

Relax doar e cu scop autodidactic, nu pentru un "live site".  Invat din greseli si explicatii de la coforumisti.
Aha. Păi ia să vedem ce-ai învățat. Postează noua structură a claselor, corectată.

#10
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
Momentan sant ocupat si cu zugraveala in apartament, dumnezeu cu mila ce o iesii  :naughty:  .
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
SebastianSG

SebastianSG

    Junior Member

  • Grup: Members
  • Posts: 217
  • Înscris: 29.05.2012

View Postdanutz0501, 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
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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);
		}
	}
	
	
}


#13
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
Pai tu cum vrei sa folosesti ca sa iti puna in array?

#14
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
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
yoshumi

yoshumi

    Junior Member

  • Grup: Members
  • Posts: 151
  • Înscris: 27.02.2009
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.

#17
danutz0501

danutz0501

    Member

  • Grup: Members
  • Posts: 437
  • Înscris: 22.04.2008
Da, ms frumos

#18
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
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

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate