Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [OOP][MVC] Stworzenie modelu
daw22
post 15.06.2008, 12:01:24
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


Witam,
Mam taki otóż problem. Chcę tworzyć dynamicznie modele korzystając z danych metodą GET. Problem tkwi w tym, że kombinuję, kombinuję i nie wiem w jaki sposób się za to zabrać. Może jakiś przykład.
  1. <?php
  2.  
  3. class Action {
  4. public $model;
  5.  
  6. public function __construct() {
  7. require_once($_GET['model'].'.php');
  8. $this -> model = new $_GET['model'];
  9. }
  10. }
  11.  
  12. class index extends Action {
  13. public function __construct() {
  14. parent::__construct();
  15. }
  16. }
  17. $akcja = new index();
  18. $akcja -> addModel();
  19. $akcja -> model -> operacjaNaModeluDanych($zmienna);
  20. ?>


Of course to kompletnie z księżyca wzięty przykład, wszystko ładnie pięknie chodzi, ale nie wiem w jaki sposób mogę dynamicznie tworzyć nowe objekty.

Proszę o pomoc ; )

Pozdrawiam
Go to the top of the page
+Quote Post
viking
post 15.06.2008, 12:49:15
Post #2





Grupa: Zarejestrowani
Postów: 6 366
Pomógł: 1115
Dołączył: 30.08.2006

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


Kod
require_once($_GET['model'].'.php');

Czyś ty oszalał? winksmiley.jpg

Proponuję podejrzeć Zend_Framework::registerAutoload(); (Zend_Loader oczywiście).
Do tego http://zfforum.pl/viewtopic.php?id=19

A swoją drogą po co odkrywać koło na nowo? Jest kilka gotowych klas obsługujących MVC.


--------------------
Go to the top of the page
+Quote Post
daw22
post 15.06.2008, 13:05:56
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


Co do tego require_once to oczywiście przykład, wszystko jest filtrowane. Tylko nie wiem w jaki sposób mogę dynamicznie tworzyć nowe obiekty korzystając z parametrów GET
Go to the top of the page
+Quote Post
sobstel
post 15.06.2008, 13:42:05
Post #4





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Dynamicznie tworzyć nowe obiekty można różnie, w zależności od tego czy konstruktor przyjmuje argumenty oraz czy ich ilość jest stała (innymi słowy czy są jakieś opcjonalne).

Gdy znasz z góry ilość argumentów przyjmowanych przez konstruktor:

  1. <?php
  2. $className = getWellFilteredInputVarFromGETSuperGlobalArray(); // ;-)
  3. $object = $className($arg1, $arg2, $args3)
  4. ?>


Gdy ilość argumentów może być różna to:

  1. <?php
  2. call_user_func_array(array(new ReflectionClass($className), 'newInstance'), array($arg1, $arg2));
  3. ?>


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
daw22
post 15.06.2008, 15:22:55
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 1
Dołączył: 1.09.2007

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


  1. <?php
  2. $className = getWellFilteredInputVarFromGETSuperGlobalArray(); // ;-)
  3. $object = new $className($arg1, $arg2, $args3)
  4. ?>

Można zamknąć, pozdrawiam.
Dziękuje za pomoc!

Ten post edytował daw22 15.06.2008, 15:23:18
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: 15.05.2024 - 05:18