Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Framework tak dla poszerzenia wiedzy
nivius
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 1
Dołączył: 26.09.2012

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


Witam,
jako że zawodowo od kilku lat zajmuje się PHP od czasu do czasu siadam do czegoś, od tak dla poszerzenia wiedzy z zakresu programowania. Od kilku lat planowałem napisać framework w i końcu się przemogłem przy okazji chciałem poznać torchę NAMESPACE. Framework tworzę raczej dla swoich potrzeb. I tutaj pytania do was:
1) Co sądzicie na temat mojego "dzieła"?
2) Co sądzicie na temat architektury?
3) Co byście zmienili?
4) Czy łatwo się w nim połapać?

Celowo dodaje framework z okrojoną dokumentacją kodu, poztym jest on w bardzo wczesnej fazie rozwoju dlatego nie ma tam zbyt wiele chciałbym usłyszeć opinię na temat samego mechanizmu (w przyszłości będzie wdrożony ORM, Twig i kilka bibliotek pomocniczych np. do wysyłania maili). Framework polecam odpalić s kilkoma parametrami http://adres/test/test1?get=1 (dla wypełnienia tablicy routing i get). Na tyle ile mogłem starałem się uciec od podobieństw do Synfony. Pozdrawiam i z niecierpliwością czekam na ocenę.


http://speedy.sh/rg9wu/se-0.4.zip
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


- nie musisz kodu klasy obejmować w klamry{} gdy tworzysz namespace, wystarczy domknięcie

  1. namespace Core\Foo;


Przejrzałem kilka plików, trzymasz się PSR-0/1/2? I szczerze mówiąc to... nie widzę tam FW.

- korzystaj z spl loadera, a nie __autoload
- pliki konfiguracyjne zapisuj jako PHP. mysql.json zostanie odczytany jako plik tekstowy.

  1. <?php
  2. require_once('../core/Init.inc.php');
  3.  
  4. class Index extends Core{}
  5.  
  6. $index = new index();
  7. $index->configs->getConfig( 'Main', 'mysql' );
  8. $index->configs->getConfig( 'Main', 'systemConfig' );
  9. echo '<pre>';
  10. print_r( $index );
  11. echo '</pre>';
  12.  
  13. function convert($size)
  14. {
  15. $unit=array('b','kb','mb','gb','tb','pb');
  16. return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
  17. }
  18.  
  19. echo convert(memory_get_usage(true));


Tak ma wyglądać plik każdej aplikacji?

Nie nazwałbym tego FW, ale pracuj dalej. I popracuj też nad nazwami zmiennych, plików itd. W powyższym kodzie, nic mi nie mówi zmienna/klasa $index a rzekomo wczytuje CFG.

Ten post edytował !*! 26.09.2012, 10:03:40
Go to the top of the page
+Quote Post
nivius
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 1
Dołączył: 26.09.2012

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


Cytat(!*! @ 26.09.2012, 11:02:15 ) *
- nie musisz kodu klasy obejmować w klamry{} gdy tworzysz namespace, wystarczy domknięcie

  1. namespace Core\Foo;


Przejrzałem kilka plików, trzymasz się PSR-0/1/2? I szczerze mówiąc to... nie widzę tam FW.

- korzystaj z spl loadera, a nie __autoload
- pliki konfiguracyjne zapisuj jako PHP. mysql.json zostanie odczytany jako plik tekstowy.

  1. <?php
  2. require_once('../core/Init.inc.php');
  3.  
  4. class Index extends Core{}
  5.  
  6. $index = new index();
  7. $index->configs->getConfig( 'Main', 'mysql' );
  8. $index->configs->getConfig( 'Main', 'systemConfig' );
  9. echo '<pre>';
  10. print_r( $index );
  11. echo '</pre>';
  12.  
  13. function convert($size)
  14. {
  15. $unit=array('b','kb','mb','gb','tb','pb');
  16. return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
  17. }
  18.  
  19. echo convert(memory_get_usage(true));


Tak ma wyglądać plik każdej aplikacji?

Nie nazwałbym tego FW, ale pracuj dalej. I popracuj też nad nazwami zmiennych, plików itd. W powyższym kodzie, nic mi nie mówi zmienna/klasa $index a rzekomo wczytuje CFG.


Nie aplikacje będą bardzo podobne do klas zawartych /core/, i będą one wywoływane na podstawie routingu. Tak zamierzam zrezygnować z autoload, a jesli chodzi o pliki json, to nie otworzysz ich ponieważ htaccess nie pozwala. Klasa index jest raczej przykładowa (dla potrzeb pokazania struktury )

Ten post edytował nivius 26.09.2012, 10:10:20
Go to the top of the page
+Quote Post
!*!
post
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(nivius @ 26.09.2012, 11:07:04 ) *
a jesli chodzi o pliki json, to nie otworzysz ich ponieważ htaccess nie pozwala

Czasami są przypadki gdzie takiego pliku nie ma i/lub nie może zostać utworzony, co wtedy? Narysuj główny trzon FW na kartce, i rób do niego dodatki, ale nie opieraj całego FW o nie same.

Ten post edytował !*! 26.09.2012, 10:14:50
Go to the top of the page
+Quote Post

Posty w temacie
- nivius   Framework tak dla poszerzenia wiedzy   26.09.2012, 00:55:25
- - qrooel   https://github.com/   26.09.2012, 01:26:23
- - !*!   CytatOd kilku lat planowałem napisać framework w i...   26.09.2012, 07:26:16
- - skowron-line   A skąd pomysł na JSON ?   26.09.2012, 07:55:26
- - nivius   JSON wybrałem z powodu prostoty, pozatym trąbi się...   26.09.2012, 08:18:24
- - skowron-line   Jak już będzisz rozwijał swoj FW to postaraj się z...   26.09.2012, 09:06:39
|- - nivius   Cytat(skowron-line @ 26.09.2012, 10...   26.09.2012, 09:38:43
- - !*!   - nie musisz kodu klasy obejmować w klamry{} gdy t...   26.09.2012, 10:02:15
|- - nivius   Cytat(!*! @ 26.09.2012, 11:02...   26.09.2012, 10:07:04
|- - !*!   Cytat(nivius @ 26.09.2012, 11:07:04 )...   26.09.2012, 10:13:48
|- - nivius   Cytat(!*! @ 26.09.2012, 11:13...   26.09.2012, 10:22:19
- - IceManSpy   W pliku Init.inc.php masz costakiego: [PHP] pobier...   26.09.2012, 17:18:43
|- - nivius   Cytat(IceManSpy @ 26.09.2012, 18:18:4...   26.09.2012, 17:53:43
- - Spawnm   Zamiast __autoload daj spl_autoload_register() na...   26.09.2012, 17:48:44
- - Niktoś   CytatNo właśnie nie mam pomysłu jak obsługiwać błę...   26.09.2012, 18:08:45
|- - nivius   Cytat(Niktoś @ 26.09.2012, 19:08:45 )...   26.09.2012, 18:13:13
- - rzymek01   Żeby oceniać architekturę przydałyby się jakieś di...   26.09.2012, 18:58:53
- - memory   Ja tam nic nie widzę, 2 klasy z 1,2 metodami   27.09.2012, 13:05:39
- - nivius   Cytat(memory @ 27.09.2012, 14:05:39 )...   27.09.2012, 21:19:22


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: 26.12.2025 - 21:17