Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]przekazywanie zmiennych pomiedzy metodami (OOP)
michat34
post
Post #1





Grupa: Zarejestrowani
Postów: 200
Pomógł: 1
Dołączył: 4.08.2012

Ostrzeżenie: (10%)
X----


od v5.0.3 varchar moze miec dlugosc tak jak text (65tys znakow), wczesniej mialo tylko 255. zamierzam przechowywac wiadomosci ktore moga miec do 500 znakow (a wiec nie jakies dlugie). i tutaj moje pytanei cos sie lepiej nada? varchar czy text skor ooba moga miec po tysiace znakow..?

Ten post edytował michat34 13.11.2012, 17:12:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Istnieją pewne fundamentalne różnice pomiędzy TEXT a VARCHAR. TEXT nie jest komórką tabeli, jest przechowywany jako obiekt, do którego dostęp zużywa dodatkową pamięć, nie można mu nadać domyślnej wartości innej niż NULL, zajmuje więcej pamięci od VARCHAR. Myślę, że użycie VARCHAR w Twoim przypadku będzie jak najbardziej na miejscu.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
michat34
post
Post #3





Grupa: Zarejestrowani
Postów: 200
Pomógł: 1
Dołączył: 4.08.2012

Ostrzeżenie: (10%)
X----


ok dzieki. mam jeszcze jedni pytnie zadam tu by nie robic nowego tematu:

nie znam sie za dobrze na oop ale probuje stworzyc klase ktora bedzie umiala sie laczyc z baza danych i wykonywac na niej rozne operacje.
ma na razie metode:
  1. public function connect ()
  2. {
  3. try
  4. {
  5. $pdo = new PDO('mysql:host=localhost;dbname=shoutbox', 'root', '');
  6. }
  7. catch(PDOException $e)
  8. {
  9. echo 'Nie można połączyć się z bazą danych: ' . $e->getMessage();
  10. }
  11. }
  12.  
  13. public function read ($id)
  14. {
  15. $pdo=$stmt->quert("SELECT * FROM tabela WHERE id='$id'");
  16. return $stmt->fetch();
  17. }


chcialbym aby uzywajac tej metody mozna bylo wywolac np inna metode zwiazana z baza danych jak:

$klasa = new Klasa;
$klasa->connect()->read(5);

cos w ten desen..
mysle ze nalezaloby tutaj zrobic takei cos ze jedna funkcja potrafi przekazywac innej jakies informacje (to ma jakas fachowa nazwe pewnie) i to bym tutaj chcial uzyskac. jak to zaimplementowac zeby read wiedziala czym jest pdo? w sensie jak takie lancuhowe wywołanie zrobic?
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Metoda, nie powinna wyrzucać tekstu na ekran (w to miejsce daj false), no i musi zwracać uchwyt do bazy jeśli chcesz z niej później korzystać.

  1. public function connect ()
  2. {
  3. $pdo = new PDO('mysql:host=localhost;dbname=shoutbox', 'root', '');
  4. return $pdo;
  5. }
  6.  
  7. public function read ($id)
  8. {
  9. $stmt = $this->connect()->quert("SELECT * FROM tabela WHERE id='$id'");
  10. return $stmt->fetch();
  11. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
d3ut3r
post
Post #5





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

Ostrzeżenie: (0%)
-----


To co chcesz zrobić to tzw chaining teoria jest prosta metoda zwraca zawsze $this;

Przykład:

  1. class Person{
  2.  
  3. private $name;
  4. private $surname;
  5.  
  6. public function setName($name){
  7. $this->name=$name;
  8. return $this;
  9. }
  10.  
  11. public function setSurname($surname){
  12. $this->surname=$surname;
  13. return $this;
  14. }
  15.  
  16. public function getFullName(){
  17. return $this->name.' '.$this->surname;
  18. }
  19.  
  20. }
  21.  
  22. $me=new Person();
  23.  
  24. echo $me->setName('Jan')->setSurname('Nowak')->getFullName();




--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:53