Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]OOP switch i includowanie podstron, jw
miras
post 18.04.2013, 19:23:00
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Witam, zastanawiam się jak najlepiej rozwiązać includowanie podstron w OOP.

wymyśliłem coś takiego, proszę o jakieś sugestie / poprawki, ażeby to jak najbardziej przypominało programowanie obiektowe smile.gif


plik switch.class.php


  1. <?php
  2. class Pages {
  3. public $page;
  4.  
  5. function add_page($pag) {
  6. $this->page = $pag;
  7. }
  8.  
  9. function inc_page() {
  10. if (file_exists("include/".$this->page.".php")) {
  11. include("include/".$this->page.".php");
  12. } else {
  13. echo "Brak takiego pliku";
  14. }
  15. }
  16. }
  17.  
  18. ?>



plik index.php

  1. <?php
  2. include("switch.class.php");
  3. $pages = new Pages;
  4. $pages->add_page($_GET['page']);
  5. $pages->inc_page();
  6. ?>


--------------------
Go to the top of the page
+Quote Post
nospor
post 18.04.2013, 19:24:54
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://forum.php.pl/index.php?showtopic=30...t=0&start=0
A dowiesz się co robisz źle


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
miras
post 18.04.2013, 19:29:19
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


słuszna uwaga, dzięki, a co do "obiektowości" mojego skryptu to ma to w ogóle jakiś sens?


--------------------
Go to the top of the page
+Quote Post
jasin
post 18.04.2013, 19:38:36
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


Skoro mowa o includowaniu, to czy nie lepiej napisac autoloader?


--------------------
Go to the top of the page
+Quote Post
miras
post 18.04.2013, 19:45:45
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


możesz coś więcej powiedzieć na ten temat?


--------------------
Go to the top of the page
+Quote Post
krzysiekk
post 18.04.2013, 21:03:38
Post #6





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 13.03.2006
Skąd: Jaworze

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


  1. $filter_ALL = new Application_InputFilter();


klasa jest w folderze Application plik klasy nazywa sie inputfilter.php a klasa w nim class Application_InputFilter{}

i tak przygotowany plik ładujemy przy użyciu

  1. function __autoload($class_name)
  2.  
  3. {
  4.  
  5. require_once( APP_PATH . '_' . str_replace('_', '/', strtolower($class_name)) . '.php' );
  6.  
  7. }



i każdą inną klase wg powyższego schematu
Go to the top of the page
+Quote Post
jasin
post 18.04.2013, 21:09:58
Post #7





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


Ja bym proponował:
http://symfony.com/doc/current/components/class_loader.html
który można pobrać z
https://packagist.org/packages/symfony/class-loader
za pomocą
http://getcomposer.org/


--------------------
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: 25.07.2025 - 09:45