Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOP-PHP]Uniewaznienie funckji w pod stronach, Kurde nie wiem jak to wytlumaczyc i jak nazwac temat
marcio
post 23.12.2007, 18:57:06
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Witam mam taki problem robie sobie switch'a w ktorym jest edytowanie i aktualizowanie postow lecz gdy przechodze to edycji postow pokazuje sie tez form z glownej strony tam gdzie sie dodaje nowe posty i dziala,przeszkadza mi to estetycznie i przez to edycja nie dziala poprawnie(przynajmniej mam nadzieje ze to jest przyczyna).

Tzn chodzi o to ze w momencie gdy wywoluje klase czyli:
  1. <?php
  2. include('klasa.php');
  3. $ksiega = new Ksiega($_POST['nick'], $_POST['message']);
  4. $ksiega->Dodaj_wpis();
  5. $ksiega->Pokaz_ksiege();
  6. echo('<div style="background:#000;color:#0f0;text-align:center;border:2px solid:white;">Powered by Marcio. GG(4854727)<img src="http://www.gadu-gadu.pl/users/status.asp?id=4854727&styl=1"/></div>');
  7. ?>

W podstronie edycji jest niepotrzebna 1 funckja a mniej wiecej $ksiega->Dodaj_wpis ktora wyswietla form z dodawaniem postow, i teraz moje pytanie jest nastepujace jak to usunac z podstrony edycji??
Mam teraz zrobic EXTENDS mojej klasy i uniewaznic funckje ktore mi przeszkadzaja?

Jesli ktos jest zainteresowany pomoca i chce zobaczyc klase to:

PLIK KLASY ZNAJDUJE SIE TUTAJ:KLASA


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nevt
post 23.12.2007, 20:01:05
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


z klasie rozszerzenia zadeklaruj te metody ponownie jako prywatne, z pustym ciałem definicji...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
phpion
post 23.12.2007, 20:03:48
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Hmmm mi się wydaje, że należy zmienić hierarchię klas i na nowo przemyśleć projekt. Dziedziczenie powinno być rozszerzeniem klasy o metody, a nie ich "usuwaniem".
Go to the top of the page
+Quote Post
marcio
post 23.12.2007, 20:24:04
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


@NEVT mozesz troche jasniej bo ja OOP malo znam(pokazac na przykladzie)

z mojej znajomosci OOP to chodzi o mniej wiecej cos takiego

  1. <?php
  2. include('klasa.php'); // includuje oryginalna klasa
  3. class Ksiega_edit extends ksiega {
  4. // tutaj dac private dla tych metod ktore chce zmienic czyli??
  5. //i jak wywolac funckja bez jej ciala? o tak
  6.  
  7. Dodaj_wpis() {} //Nic mam tu nie dac tylko nawiasy klamrowe?Jak sie zmienia tylko troche funkji to wiem ze sie zmienia tylko to co //potrzeba a ja chce uniewaznic cala funckje
  8.  
  9. $ksiega_edit = new Ksiega_edit();
  10. $ksiega_edit->Pokaz_ksiege();
  11. //Chodzi o cos takiego?
  12. ?>


@phpion.com O tym nie ma zabardzo mowy biggrin.gif

Ten post edytował marcio 23.12.2007, 20:24:32


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
phpion
post 23.12.2007, 21:11:01
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




~nevt'owi chodziło o coś takiego:
  1. <?php
  2. class Jakas {
  3. public function zrobCos() {
  4. echo 'robie!';
  5. }
  6. }
  7.  
  8. class Jakas_Inna extends Jakas {
  9. public function zrobCos() {
  10. }
  11. }
  12. ?>

Czyli nadpisanie danej metody pustą.
Go to the top of the page
+Quote Post
marcio
post 23.12.2007, 22:53:06
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Czyli w sumie moja czesc kodu byla dobra?
A mam pytanie czy jesli sprobuje to zrobic a mi nie wyjdzie to pomozecie, bo juz sobie z usuwaniem i edytowaniem poradzilem

P.S w sumie to te klasy teraz zaczely mi sie podobac, rozumie je troche i nie sa wcale takie zle

P.S2 mam teraz nastepne pytanie jak juz zrobie druga klasa z funkcja ktora tylko potrzebuje, jak zrobic zeby ta klasa dziala tylko gdy sie edytuje posta czyli jak url jest taki:
  1. <?php
  2. localhost/qwe.php?strona=&action=edytuj&id=177&kod=sds23a
  3. ?>

questionmark.gif

Pytam bo wiem jak by to mialo wygladac jak by to bylo w osobnym pliku lecz jest zawsze w qwe.php lecz zmienia sie link i nie wiem jak na jego podstawie uruchomic 2 klase

Ten post edytował marcio 23.12.2007, 22:46:49


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
nevt
post 24.12.2007, 10:24:53
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


Popieram stanowisko kolegi phpion.com. To, co chcesz osiągnąć jest technicznie możliwe, ale niewłaściwe z założenia i świadczy o błędach w projekcie. Piszesz, że dopiero zaczynasz przygodę z OOP. Więc zancznij od lektury jakiegoś podręcznika / tutoriala o PROJEKTOWANIU (nie programowaniu) OBIEKTOWYM. Wtedy zrozumiesz, czm są obiekty, ich własności i metody. Na czym polega hermetyzacja, hierachia klas i dziedziczenie. Jak opanujesz te podstawy, to ich implementacja w dowolnym języku OOP nie sprawi ci trudności.

Pozdrawiam i powodzenia.


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
marcio
post 24.12.2007, 14:09:56
Post #8





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Ok nie zaprzeczam ze macie racje ale nie chce tego pisac na nowo bo to byl dla mnie duzy wysilek napisac to w OOP i bedzie to moj ostatni skrypt napisany na klasach.Dlatego prosze was w troche wiecej kompresji mojego problemu jesli jest to mozliwe.
Jedyna rzecz jaka mi przychodzi do glowy to zrobic cos takiego.
Gdy odpalam glowna klase ktora wywoluje wszystkie fuckcje czyli qwe.php zrobic if'a ktory za pomoca strstr albo strpos sprawdzi czy w zmiennej $_SERVER['PHP_SELF'] znajduje sie ciag edycji czyli action=edytuj i jesli tak to uniewaznia dane funkcje.
Czy dobrze mysle?Bardzo bede wdzieczny jesli mi mniej wiecej powiecie jakby mialo dzialac te sprawdzenie url jesli moje jest bledne


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
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: 31.07.2025 - 05:34