Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Klasa wiadomości - sprawdzanie czy naciśnięto przycisk etc.
Riot
post 25.11.2014, 17:26:30
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.11.2014
Skąd: Kosmos

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


Cześć, po sporej dawce wiedzy OOP (przynajmniej wg mnie) postanowiłem napisać klase która się mi wkońcu do czegoś przyda, mianowicie system wiadomości. Rozkminiłem sobie to tak że będą odzielne klasy - Nowa_Wiadomosc oraz Skrzynka_Odbiorcza. Pierwsze pytanie - dobrze myśle?

Napisałem sobie na razie taki szybki kod, nawet nie przypominający OOP:

  1. <form action="" method="POST">
  2. <input type="text" name="wiadomosc">
  3. <input type="submit" name="wyslij">
  4. </form>
  5. </body>
  6. </html>


  1. <?php
  2.  
  3. class Nowa_Wiadomosc {
  4.  
  5. function napisz_wiadomosc (){
  6. if (filtruj_pole($_POST["wyslij"])) {
  7. if (filtruj_pole($_POST["wiadomosc"], 2)) {
  8. //wysyla wiadomosc...
  9. }
  10. }
  11. }
  12.  
  13. function filtruj_pole($pole, $min_znakow = 0) { //sprawdza czy pole jest prawidlowo wypelnione
  14. if (isset($pole)) {
  15. if (strlen($pole) >= $min_znakow) {
  16. return strlen($pole);
  17. }
  18. }
  19. }
  20. }
  21.  
  22. $wiad = new Nowa_Wiadomosc();
  23. echo $wiad->filtruj_pole($_POST["wiadomosc"]);
  24. ?>


Tera tak - jak sprawdzić z gracją czy wciśnieto przycisk "wiadomosc"? Mogę zrobić if (isset($_POST["wiadomosc"])) {...} ale interesuje mnie jak to zrobić w OOP. Gdybyście podrzucili jakiś kod, byłoby znakomicie. Dzięki

Ten post edytował Riot 25.11.2014, 17:32:47
Go to the top of the page
+Quote Post
Turson
post 25.11.2014, 18:34:23
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


1. Klasy i metode pisze się w stylu camelCase.
2. Przyjęło się, że używa się angielskich nazw przy nazewnictwie klas i metod.
3.
Cytat
Rozkminiłem sobie to tak że będą odzielne klasy - Nowa_Wiadomosc oraz Skrzynka_Odbiorcza. Pierwsze pytanie - dobrze myśle?

W teorii tak.
4.
Cytat
Tera tak - jak sprawdzić z gracją czy wciśnieto przycisk "wiadomosc"? Mogę zrobić if (isset($_POST["wiadomosc"])) {...} ale interesuje mnie jak to zrobić w OOP

a if(isset(.. nie jest z gracją? Innego sposobu nie ma. Może być if(!empty ale czy to dodaje gracji? Póki nie masz własnego mechanizmu obsługi żądań to nic innego nie wymyślisz.
5.
  1. if (filtruj_pole($_POST["wyslij"])) {

Zapominasz o słowie kluczowym $this
6.
  1. function filtruj_pole($pole, $min_znakow = 0) { //sprawdza czy pole jest prawidlowo wypelnione
  2. if (isset($pole)) {
  3. if (strlen($pole) >= $min_znakow) {
  4. return strlen($pole);
  5. }
  6. }
  7. }

if(isset($pole - bez sensu. Pole musi istnieć skoro przekazujesz je jako argument. Jak nie przekażesz to PHP wywali bład,
Go to the top of the page
+Quote Post
Riot
post 25.11.2014, 19:28:08
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.11.2014
Skąd: Kosmos

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


Cytat(Turson @ 25.11.2014, 18:34:23 ) *
1. Klasy i metode pisze się w stylu camelCase.
2. Przyjęło się, że używa się angielskich nazw przy nazewnictwie klas i metod.


Zdaje sobie z tego sprawę tongue.gif

Cytat(Turson @ 25.11.2014, 18:34:23 ) *
Zapominasz o słowie kluczowym $this

Too wtedy jeden obiekt = pole. Tak? wink.gif

Cytat(Turson @ 25.11.2014, 18:34:23 ) *
if(isset($pole - bez sensu. Pole musi istnieć skoro przekazujesz je jako argument. Jak nie przekażesz to PHP wywali bład,

Podejrzewałem że działa to w sposób -> przesyłam sobie to pole, sprawdza czy istnieje. Bo w źródle można zmienić nazwę pola biggrin.gif Widocznie sie myliłem.
Go to the top of the page
+Quote Post
Turson
post 25.11.2014, 20:06:06
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
Too wtedy jeden obiekt = pole. Tak? wink.gif

Przeczytaj kurs OOP jeszcze raz smile.gif

Cytat
Podejrzewałem że działa to w sposób -> przesyłam sobie to pole, sprawdza czy istnieje. Bo w źródle można zmienić nazwę pola biggrin.gif Widocznie sie myliłem.

Ale nie sprawdzasz czy ktoś nie zmienił nazwy a tylko czy zmienna pochodząca z wymaganego argumentu istnieje.
Go to the top of the page
+Quote Post
Riot
post 25.11.2014, 21:55:12
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 15.11.2014
Skąd: Kosmos

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


Czytałem pincet razy. Kilka lat pisania w języku w którym dopiero wprowadzają 'pseudo' OOP robi swoje. Mogłeś napisać po prostu gdzie popełniam błąd wink.gif
Go to the top of the page
+Quote Post
Turson
post 25.11.2014, 21:57:45
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Sprawdź $this i self
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 Wersja Lo-Fi Aktualny czas: 16.08.2025 - 01:42