Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czy opierać skrypt o metody statyczne?
Fipaj
post
Post #1





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 19.01.2005
Skąd: Warszawa

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


Cześć!

Mój prosty framework (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) jest już na ukończeniu, jednak mam wątpliwości jeśli chodzi o zastosowanie obiektów...

Skrypt działa na systemie szablonów Smarty.

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

Każdy plik posiada swoją klasę, jako przykład weźmy plik libs.php (zarządzanie bibliotekami):

  1. <?php
  2. require_once ('class/Lib.php');
  3. require_once ('lib/smarty/Smarty.class.php');
  4. require_once ('class/Tpl.php');
  5. $tpl = Tpl::loadSmarty ();
  6. Tpl::loadTemplate ('libs', $tpl);
  7.  
  8. if ($_GET['act'] == 'cp') {
  9. Lib::copyLib ($_GET['dir']);
  10. }
  11. if ($_GET['act'] == 'del') {
  12. Lib::delDir ($_GET['dir']);
  13. }
  14.  
  15. $tpl -> display ('main.tpl');
  16. ?>


i class/Lib.php:

  1. <?php
  2. class Lib {
  3. static function copyLib ($name) {
  4. system ('cp -R lib/' . $name . ' www/lib/');
  5. }
  6. static function delDir ($name) {
  7. if (is_file ('www/lib/' . $name)) {
  8. return unlink ('www/lib/' . $name);
  9. }
  10. $dir = dir ('www/lib/' . $name);
  11. while (FALSE !== $entry = $dir -> read ()) {
  12. if ($entry == '.' || $entry == '..') {
  13. continue;
  14. }
  15.  self::delDir ($name . '/' . $entry);
  16. }
  17. $dir -> close ();
  18. return rmdir ('www/lib/' . $name);
  19. }
  20. }
  21. ?>


A więc każda biblioteka to po prostu klasa złożona z kilku funkcji statycznych... Zastanawiam się, czy nie jest to głupotą/nagięciem zasad OOP.

Zastosowałem metody statyczne, bo:
* Nie muszę tworzyć obiektu, by się do nich odwołać...
* ...przez co nie jest problemem użycie danej metody w innym pliku
* Są proste w kodowaniu i użyciu

Z tym, że cały framework jest oparty i takie właśnie klasy... Może można by to rozpisać inaczej: prościej, a zarazem poprawniej?

Pozdrawiam,
Fipaj
Go to the top of the page
+Quote Post

Posty w temacie


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: 24.08.2025 - 06:27