Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] if(new class == true) ?
Nicc0
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 1
Dołączył: 18.01.2013

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


Witam drogich użytkowników.

Mam do was proste pytanie na które nie umiem sobie odpowiedzieć. (w sumie dziesiątki pytań do google'a też mi nie dały odpowiedzi) Czy to ma prawo działać?

  1. if( new Classes\checkPage($this->get) == true ) {
  2. echo "yep";
  3. } else {
  4. echo "nope";
  5. }


Class'a checkPage:

  1. // Namespace
  2. namespace Library\Classes;
  3.  
  4. class checkPage {
  5. public function __construct($page) {
  6. if(is_array($page)) {
  7. foreach ($page as $key => $value) {
  8. if($key == 'page') {
  9. $filename = ROOT_DIR . '/Template/pages/' . $value . '.html';
  10. if (file_exists($filename)) return true;
  11. } return false;
  12. }
  13. } return false;
  14. }
  15. }


Dodam od siebie, że $this->get, jest tablicą. Na dodatek za każdym razem wyskakuje "yep", mimo tego że $_GET nie jest ustawione :/

Z góry dzięki wam za pomoc.
Go to the top of the page
+Quote Post
johny_s
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


Konstruktor nie powinien nic zwracać, a operator new zawsze zwraca instancje nowej klasy, która dla porównania z true jest prawdziwa (jak dasz === bedzie zawsze fałszywa)
Go to the top of the page
+Quote Post
Nicc0
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 1
Dołączył: 18.01.2013

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


Rozwiązanie banalne -.- aż wstyd się przyznawać. Przecież można tą funkcję wywołać statycznie :/

  1. if( Classes\checkPage::checkPage($this->get) == true ) {
  2. echo "yep";
  3. }


Johny_s, z '===' testowałem, najpierw chciałem rozwiązać ten problem metodą prób i błędów. Bez skutku, ale o tym że konstruktor nie powinien nic zwracać nie wiedziałem (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Nicc0 19.11.2014, 20:24:51
Go to the top of the page
+Quote Post

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: 25.08.2025 - 06:56