Skip to content

krystianolender/another

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Another to framework PHP. Tworzyłem go jakiś czas temu jako forma sprawdzenia swojej umiejętności w programowaniu obiektowym i chęci sprawdzenia różnych rozwiązań programistycznych jakie mogą mieć zastosowanie w tego typu aplikacjach. By nie przedłużać, bo kod w takich sytuacja mówi sam za siebie wymienię tylko najważniejsze cechy prezentowanego projektu:

  • framework jest wyłącznie mojego autorstwa
  • tworzyłem go z wykorzystaniem zasady "czarnej skrzynki" wzorując się jedynie na innych frameworkach w kwestiach interfejsu i nazewnictwa niektórych klas (trudno by było inaczej, jeśli programowałem już w CakePHP i Zend Framework - niektóre rozwiązania wtedy wydają się oczywiste i przejrzyste)
  • framework w swoim założeniu miał być znacznie bardziej obiektowy dla klienta końcowego niż CakePHP (co jest moim głównym zarzutem do tego frameworka)
  • starałem się trzymać zasady pojedynczej odpowiedzialności klas (dlatego np. napisałem osobne walidatory formularzy zamiast obarczać tym samych formularzy) i separacji działania od widoku (przykładem może być osobny helper widoków dla formularzy z komunikatami, generowaniem htmla itp i osobna klasa samego formularza)
  • przejąłem z CakePHP nawyk tworzenia notacji dla najpopularniejszych czynności programistycznych klienta (np. dodawanie domyślnego modelu do kontrolera, automatyczne "odgadywanie" widoku dla akcji, dodawanie przycisku wysyłania formularza, jeżeli został pominięty itp.)
  • framework nie jest obecnie w fazie gotowej do użytku brakuje mu takich elementów jak zapewnienie bezpieczeństwa (zostawiłem to sobie na koniec, mam kilka publikacji w domu na ten temat, które czekają na swoją kolej), nie ma klasy konfiguracji, cachowania. Skupiłem się w pierwszej kolejności na realizacji MVC, zarządzaniu użytkownikami (autentykacja, autoryzacja), formularzami (walidacja, dekorowanie)
  • model jest realizowany na klasie PDO co daje sporą elastyczność w doborze bazy danych, ale obecnie pracuje na PostgreSQL

Konfiguracja dla bazy danej jest następująca: użytkownik - admin, hasło - admin, baza danych - another Konfigurację można zmienić w pliku Model.php (rozwiązanie robocze).

Skrypt bazy danych znajduje się w pliku skrypt_do_bazy_danych.sql

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors