Witam,
Może to i nie miejsce na to, a może i tak? Takie pytanie teoretycznie:
Czy w konstruktorze klasy należy umieszczać wszystkie dane które trafiają do klasy czy tylko te które ulegają przetworzeniu przez tą klasę??
pozdrawiam
<?php /* @var $user User */ $user = new User(); $user->setName('użytkownik'); $user->setPassword('hasło'); $user->registerNewUser(); ?>
<?php /* @var $user User */ $user = new User(); $user->setName('użytkownik'); $user->setPassword('hasło'); $user->registerNewUser(); ?>
<?php public function __construct {} ?>
<?php class User { private $name; private $password; private $gg; // ... etc public function __construct($id = null) { if ($id !== null) { $user = User::retrieveById($id); $this->fillUser($user); } } // funkcja pobiera z bazy danych użytkownika i zwraca go jako obiekt } public function fillUser(User $user) { // funkcja wypełnia pola obiektu polami z przekazanego obiektu; } } ?>
<?php // nowy użytkownik $newUser = new User(); // pobranie istniejącego użytkownika $existingUser = new User(12); // wykonanie poyższego konstruktowa byłoby tym samym co: $existingUser = User::retrieveById(12); // ale to w końcu przykład ?>
<?php class register extends sql { public function __construct($email,$pass,$pass_replace,$nick,$minlenghtpass) { $this->minlenghtpass=$minlenghtpass; } private function licz_wiersze($query) { } public function sprawdz_email_w_bazie($email) { $zap=$this->query("select user_email from users where user_email='".$this->user_email."'"); return $this->licz_wiersze($zap); } public function poprawnosc_email ($email) { { return true; } else { return false; } } public function dlugosc_hasla ($pass) { { return false; } else { return true; } } public function sprawdzanie_hasla($pass,$pass_replace) { return ($this->user_pass==$this->user_pass_replace ? true : false ) } } $register= new register($_POST['email'],$_POST['pass'],$_POST['pass_replace'],$_POST['nick'],'5'); ?>
<?php public function setParam($name, $param) { $this->$name = $param; } $db = new db; $db->setParam('user', $ini_array['mysql']['user']); $db->setParam('pass', $ini_array['mysql']['pass']); $db->setParam('name', $ini_array['mysql']['name']); $db->setParam('host', $ini_array['mysql']['host']); $db->connect(); ?>
<?php public function setParam($name, $param) { $this->$name = $param; } $db = new db; $db->setParam('user', $ini_array['mysql']['user']); $db->setParam('pass', $ini_array['mysql']['pass']); $db->setParam('name', $ini_array['mysql']['name']); $db->setParam('host', $ini_array['mysql']['host']); $db->connect(); ?>
<?php private function licz_wiersze($query) { } ?>
Nie widzę tu nigdzie wywołania, żadnego konstruktora. Może chodzi Ci o
<? $zmienna = 'wartosc'; ?>
Ale tutaj nazwanie $obj zmienna jest trochę dziwne. No i konstruktor nie zawsze jest używany. Jedynie wtedy, gdy jest on zaimplementowany w klasie/klasie rodzicu.
<? $obj = new abcdef(); ?>
<?php $zmienna = 'wartosc'; ?>
Ale tutaj nazwanie $obj zmienna jest trochę dziwne. No i konstruktor nie zawsze jest używany. Jedynie wtedy, gdy jest on zaimplementowany w klasie/klasie rodzicu.
<?php $obj = new abcdef(); ?>