Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Budowanie aplikacji
Forum PHP.pl > Forum > PHP > Object-oriented programming
Szymciosek
Witam,
chciałbym rozstrzygnąć pewną kwestię:
1) Jak rozdzielić pliki w aplikacji? Czy wszystkie pliki php, w tym też klasy powinny być w jednym katalogu public (oczywiście rozdzielone na podfoldery, ale jednak całość trzymana jest w jednym miejscu)?
- Wg. znajomego powinienem mieć w public tylko views, styles, assets(obrazki i inne ładowane rzeczy)... później dopowiedział mi, że index nie powinno być w public, a trzymane w części private, tutaj się trochę zdziwiłem, wg. niego index ma być tam, a za wszystko ma być odpowiedzialny htaccess. Tylko jak?

Dalsza część, to wasza praktyka w budowaniu aplikacji, jak rozdzielacie całość?
!*!
Zainteresuj się MVC i PSR-0/1/2/3.

Public, to chodzi Ci o public_html? W nim umieszczaj tylko to co odpowiada za wygląd czyli pliki css, img i ewentualnie index.php jak wszystko leci przez niego. Każde inne bebechy aplikacji trzymaj poza nim.

A przekierowanie wszystkiego na index.php może wyglądać tak:

Cytat
RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)?$ index.php [QSA,L]


Czyli wszytko co nie jest istniejącym plikiem lub katalogiem, zostanie przekazane na index.php
Szymciosek
Tak, chodziło mi o public_html.
Czyli zakładając, że index.php jest w public_html, wtedy żeby "połączyć" się z innym plikiem, który jest w części private muszę się cofnąć o katalog wyżej itd?
!*!
Cytat(Szymciosek @ 27.01.2013, 14:02:54 ) *
Tak, chodziło mi o public_html.
Czyli zakładając, że index.php jest w public_html, wtedy żeby "połączyć" się z innym plikiem, który jest w części private muszę się cofnąć o katalog wyżej itd?


Tak. Choć jeśli użyjesz jakiegoś FW lub sam takowy "napiszesz" to dzieje się to automatycznie i pisząc kod, tego nie odczuwasz.
Ładowanie klas następuje przez spl_autloader i to on na podstawie nazwy klasy, wczytuje odpowiedni plik.
To jak klasy mają być nazwane, a raczej jak powinno się je zapisywać wyjaśnia właśnie PSR-* w skrócie:

Cytat
class Plugins_Example{}


Zostanie wczytany plik Example.php w katalogu Plugins. Podkreślnik w nazwach klas powinien oznaczać katalog. A jeśli korzystasz z przestrzeni nazw, To jako pierwszy jej element umieszczaj nazwę aplikacji.

Cytat
namespace NazwaAplikacji\Controllers\Example


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.