Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przykładowa aplikacja w PHP OOP
gagatek
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.02.2008

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


chciałbym przeglądnąć i przeanalizować kod aplikacji napisanej w php obiektowym. Wydaje mi się że w ten sposób najlepiej bym zrozumiał cały proces tworzenia aplikacji obiektowych. Chodzi mi o przesyłanie danych wyświetlanie ich obsługę bazy danych. Czy wiecie skąd można by było taką przykładową aplikacje podejrzeć, jak jest zbudowana i zaimplementowana?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcinek37
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


rozumiem, a zatem zastosowanie metody prepare() rozwiąże problem
  1. <?
  2. class nazwaklasy{
  3. public $id;
  4.  
  5. function prepare(){
  6. $this->id = (int)$this->id;
  7. }
  8.  
  9. function show(){
  10. return $this->id;
  11. }
  12.  
  13. }
  14.  
  15.  
  16. $a = new nazwaklasy();
  17. $a->id = $_GET['id'];
  18. $a->prepare();
  19. echo $a->show();
  20. ?>


wiadomo, że każdy pisze kod inaczej, ale czy wg Ciebie takie sprawdzanie numeru ID jest akceptowalne? wiadomo, że INT pozostawi tylko liczby, w metodzie prepare() w przyszłości dodałbym sprawdzanie, czy rekord o podanym ID istnieje w bazie danych - oczywiście za pomocą PDO, bo czytałem, że to najlepsza klasa do łączenia aplikacji z bazą danych
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(marcinek37 @ 27.01.2014, 13:30:49 ) *
wiadomo, że każdy pisze kod inaczej, ale czy wg Ciebie takie sprawdzanie numeru ID jest akceptowalne? wiadomo, że INT pozostawi tylko liczby, w metodzie prepare()...

raczej nazwy metod coś powinny mówić... wielu stara się robić zmienne chronione bądź prywatne by nie były dostępne z zewnątrz i w celu ich prawidłowego ustawienia tworzy settery i gettery (bardziej by to pod JavaScript pasowało), ale bardziej jawne, czyli z nazwy (wszyscy mówią, by kłaść nacisk na angielski, po polsku ustawId...) "setId($iId)" lub "set_id($id)", w pierwszym przypadku np. przez pierwszą literę podałem typ prosty zmiennej, zwyczajowo nazwy pierwsze litery słowa duża litera lub poprzedzone przez "_", czyli "setId($id)" i "getId($id)"

gdyby zmienna zdefiniowana przez Ciebie była chroniona lub prywatna zadziałała by metoda magiczna __set($name, $value), podobnie z __get($name) - ale wtedy zazwyczaj zmienne są jakby w innej przestrzeni nazw (nie traktuj tego dosłownie), po prostu by nie wejść w konflikt ze zmiennymi składowymi klasy zazwyczaj te zmienne są definiowane w tablicy będącą zmienną chroniona/prywatną danej klasy (później obiektu - klasa to stempel obiektu)...

rzutować typy proste też można na kilka sposobów, ostatnio to co muszę napisać jakoś częściej piszę w C++ a i też wolę JavaScript nad PHP więc sprawdziłem w konsoli i np. rzutowanie do całkowitej przez podwójną tyldę nie działa, z kolei ten język też jest na tyle dynamiczny, że rzutowanie przez bity działa podobnie jak w JS, oczywiście ten akapit raczej jako ciekawostka gdyż będziesz używał (int) itd...

  1. <?php
  2. class Test{
  3. protected $test;
  4. public function __set($sName, $value){
  5. $this->$sName = "pref_".$value;
  6. }
  7. public function getTest(){
  8. return $this->test;
  9. }
  10. }
  11.  
  12. $oTest = new Test;
  13. $oTest->test = "co";
  14. $f = "3.2abc";
  15. $g = 0 | $f;
  16. echo $g
  17. ,"\n", ~~$f // takie rzutowanie działa w JavaScript
  18. ,"\n", $oTest->getTest();


ps. ale coś wspomniałem o konwencji nazw... to też będzie Ci się zmieniało z czasem lub w zależności z kim będziesz współpracował, np. przyjęte jest, iż w PHP oraz JS zmienne prywatne/chronione mają prefiks "_", mi np. ostatnio bardziej pasuje sufix "_" częściej stosowany w C++, po za tym dłuższe zmienne staraj się nazywać w takiej kolejności by było Ci wygodniej, jako pierwsze słowo to co zazwyczaj pierwsze by Ci przychodziło do głowy jesli chodzi o podpowiadanie nazwy, dla mnie to jest rzeczownik a potem przymiotnik, ale różnie to jest ;]

Ten post edytował zegarek84 27.01.2014, 14:28:24
Go to the top of the page
+Quote Post

Posty w temacie
- gagatek   Przykładowa aplikacja w PHP OOP   28.12.2013, 17:43:24
- - com   google php oop examples mysql   28.12.2013, 17:48:09
- - sf   Zacznij pisać używając jakiegoś frameworka to zroz...   28.12.2013, 17:49:44
- - gagatek   Cytat(com @ 28.12.2013, 17:48:09 ) go...   28.12.2013, 18:05:17
- - pedro84   Najpierw zacznij od przyswojenia teorii, popartej ...   28.12.2013, 18:22:18
- - com   Tak wgl to czym wdg Ciebie są frameworki? przecież...   28.12.2013, 18:29:18
- - gagatek   teorie, podstawy znam, ale chodzi mi o taki ogólny...   28.12.2013, 19:43:53
- - Turson   No to właśnie zajrzyj do jakiegoś frameworka, bo t...   28.12.2013, 23:05:39
- - em1X   1) symfony2 - http://symfony.com/doc/current/cookb...   11.01.2014, 10:06:42
- - marcinek37   dołączam się do prośby - nie ma nic prostszego? te...   21.01.2014, 18:49:29
|- - zegarek84   Cytat(marcinek37 @ 21.01.2014, 18:49...   22.01.2014, 14:10:33
- - em1X   Laravel jest hitem ostatnich miesięcy... http://la...   21.01.2014, 23:09:37
- - marcinek37   generalnie w tym pliku: http://www.speedyshare.com...   23.01.2014, 14:20:39
|- - zegarek84   Cytat(marcinek37 @ 23.01.2014, 14:20...   23.01.2014, 14:47:55
- - em1X   Jak szukasz lepszych/poprawnych, to przestań pisać...   23.01.2014, 14:24:34
- - marcinek37   rozumiem, czyli Wy robicie dokładnie tak samo? w k...   23.01.2014, 14:42:21
- - marcinek37   ok, teraz rozumiem czyli wychodzi na to, że wykona...   23.01.2014, 15:38:46
|- - zegarek84   Cytat(marcinek37 @ 23.01.2014, 15:38...   23.01.2014, 23:45:43
- - Greg0   Może jakiś micro-framework? Silex lub Slim? Co pra...   24.01.2014, 00:28:00
- - marcinek37   zgłupiałem po przeczytaniu postu zegarka84... zro...   24.01.2014, 21:01:59
- - com   OOP to nie jest wcale złożona aplikacja, to jest s...   24.01.2014, 21:31:14
- - marcinek37   dla mnie powyższy kod to po prostu obiektowe PHP, ...   24.01.2014, 21:51:09
- - com   a OOP (Object-oriented programming) to co to niby ...   24.01.2014, 21:55:37
- - marcinek37   dla mnie OOP to synonim obiektowego programowania ...   24.01.2014, 22:01:24
- - com   CytatOOP to nie jest wcale złożona aplikacja, to j...   24.01.2014, 22:13:46
- - marcinek37   ok, czyli już jedno się wyjaśniło - całe szczęście...   24.01.2014, 23:03:46
- - Greg0   Do zbudowania budy dla psa i domu drewnianego użyj...   25.01.2014, 14:04:11
- - marcinek37   rozumiem, że każdy biorący udział w dyskusji mógł ...   26.01.2014, 06:05:41
|- - zegarek84   Cytat(marcinek37 @ 26.01.2014, 06:05...   26.01.2014, 13:52:24
- - viking   Załóżmy że masz jakąś tabelkę w bazie użytkownicy....   26.01.2014, 08:44:32
- - marcinek37   ok, teraz już rozumiem - serdeczne dzięki! pr...   26.01.2014, 17:29:30
- - destroyerr   Cytatok, teraz już rozumiem Szczerze to chciałbym ...   26.01.2014, 21:50:56
- - lukasz1985   @marcinek37 Ja mam ciągle wrażenie, że Ty czegoś n...   26.01.2014, 23:20:08
- - marcinek37   rozumiem, dlaczego warto z niego korzystać, bardzo...   26.01.2014, 23:27:56
- - com   pomijają fakt że lukasz1985 to tu akurat nie miał ...   26.01.2014, 23:35:01
- - marcinek37   owszem, ale lukasz1985 pomógł mi w innym wątku ni...   27.01.2014, 00:14:54
- - Greg0   Nie działa bo pole "zmienna" istnieje ju...   27.01.2014, 12:14:45
- - marcinek37   rozumiem, a zatem zastosowanie metody prepare() ro...   27.01.2014, 13:30:49
|- - zegarek84   Cytat(marcinek37 @ 27.01.2014, 13:30...   27.01.2014, 14:23:57
- - marcinek37   1. Twój post nie odpowiedział mi do końca na pytan...   27.01.2014, 16:26:25
|- - zegarek84   pkt. 1 można rozwiązać na wiele sposobów, włącznie...   27.01.2014, 16:49:07
- - marcinek37   świetne materiały! dziękuję nie chcę otwiera...   8.02.2014, 17:42:47
- - sazian   [PHP] pobierz, plaintext $array = array('test'...   8.02.2014, 22:18:21
- - marcinek37   czyli generalnie nie powinno używać się globali, a...   8.02.2014, 22:56:43
|- - Dejmien_85   Cytat(marcinek37 @ 8.02.2014, 23:56:4...   8.04.2014, 22:37:04
- - Pyton_000   Obiekt klasy powinien mieć określoną, skończoną il...   9.02.2014, 09:41:20
- - mrc   Zawsze można tak: [PHP] pobierz, plaintext // Two...   11.02.2014, 07:31:28


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

 



RSS Aktualny czas: 16.10.2025 - 23:42