| 1 |
lars |
1 |
<com:TContent ID="body" >
|
|
|
2 |
|
|
|
3 |
<h1 id="1201">Aplikacja</h1>
|
|
|
4 |
<p id="160157" class="block-content">
|
|
|
5 |
Aplikacja jest instancją <tt>TApplication</tt> lub klasy po niej dziedziczącej. Zarządza modułami dostarczającymi różnorodne funkcjonalności i ładuje je w razie potrzeby. Dostarcza użytkownikowu końcowemu serwisy.
|
|
|
6 |
Jest centralnym miejscem do przechowywania różnych parametrów używanych w aplikacji. W aplikacji PRADO instancja aplikacji jest jedynym globalnie dostepnym obiektem poprzez wywołania funkcji <tt>Prado::getApplication()</tt>.
|
|
|
7 |
</p>
|
|
|
8 |
<p id="160158" class="block-content">
|
|
|
9 |
Aplikacje są konfigurowane poprzez <a href="?page=Configurations.AppConfig">konfigurację aplikacji</a>. Są zazwyczaj tworzone w skrypcie wejściowym w podobny do następującego sposób,
|
|
|
10 |
<com:TTextHighlighter CssClass="source block-content" id="code_160071">
|
|
|
11 |
require_once('/path/to/prado.php');
|
|
|
12 |
$application = new TApplication;
|
|
|
13 |
$application->run();
|
|
|
14 |
</com:TTextHighlighter>
|
|
|
15 |
gdzie metoda <tt>run()</tt> rozpoczyna działanie aplikacji obsługującej żądania użytkownika.
|
|
|
16 |
</p>
|
|
|
17 |
|
|
|
18 |
<h2 id="1202">Organizacja folderów</h2>
|
|
|
19 |
<p id="160159" class="block-content">
|
|
|
20 |
Minimalna aplikacja PRADO zawiera dwa pliki: plik wejściowy i plik szablonu. Muszą być one zorganizowane w następujący sposób.
|
|
|
21 |
<img src="<%~directory.gif%>" class="figure"/>
|
|
|
22 |
</p>
|
|
|
23 |
<ul id="u2" class="block-content">
|
|
|
24 |
<li><tt>wwwroot</tt> - główny katalog serwera WWW lub jeden z podkatalogów.</li>
|
|
|
25 |
<li><tt>index.php</tt> - skrypt wejściowy aplikacji PRADO.</li>
|
|
|
26 |
<li><tt>assets</tt> - katalog przechowujący opublikowane pliki prywatne. Zobacz sekcję <a href="?page=Advanced.Assets">assets</a>.</li>
|
|
|
27 |
<li><tt>protected</tt> - podstawowa ścieżka aplikacji zawierająca jej dane oraz prywatne pliki skryptów. Ten folder powinien być niedostepny z zewnątrz lub powinien znajdować się poza strukturą serwera WWW.</li>
|
|
|
28 |
<li><tt>runtime</tt> - application runtime storage path. Ten folder jest używany przez PRADO do przechowywania informacji o wykonywanej aplikacji, takich jak stan aplikacji, kedzowane dane, itd.</li>
|
|
|
29 |
<li><tt>pages</tt> - podstawowa ścieżka przechowująca wszystkie strony PRADO. Zobacz sekcję <a href="?page=Fundamentals.Services">serwisy</a>.</li>
|
|
|
30 |
<li><tt>Home.page</tt> - domyślna strona zwracana gdy użytkownik nie poda jawnie żadanej strony. Jest to plik szablonu strony. Nazwa pliku bez rozszerzenia jest nazwą strony. Klasą strony jest klasa <tt>TPage</tt>. Jeśli znajduje się tam również plik klasy <tt>Home.php</tt>, klasą strony staje się <tt>Home</tt>.</li>
|
|
|
31 |
</ul>
|
|
|
32 |
|
|
|
33 |
<p id="160160" class="block-content">
|
|
|
34 |
Produktywna aplikacja PRADO zazwyczaj potrzebuje więcej plików. Może ona zawierać plik konfiguracji aplikacji <tt>application.xml</tt> w podstawej ścieżce aplikacji <tt>protected</tt>. Strony mogą być zorganizowane w foldery, część z nich może zawierać pliki konfiguracji strony <tt>config.xml</tt>. Aby dowiedzieć się wiecej, zajrzyć do sekcji <a href="?page=Configurations.Overview">konfiguracji</a>.
|
|
|
35 |
</p>
|
|
|
36 |
|
|
|
37 |
<h2 id="1203">Osadzanie aplikacji</h2>
|
|
|
38 |
<p id="160161" class="block-content">
|
|
|
39 |
Osadzanie aplikacji PRADO zazwyczaj wiąże się z kopiowaniem folderów. Na przykład, aby osadzić powyższą minimalną wersję aplikacji na innym serwerze należy wykonać następujące kroki.
|
|
|
40 |
</p>
|
|
|
41 |
<ol>
|
|
|
42 |
<li>Skopiuj zawartość z <tt>wwwroot</tt> do dostępnego poprzez WWW foldera na nowym serwerze.</li>
|
|
|
43 |
<li>Zmodyfikuj skrypt wejściowy <tt>index.php</tt> tak by prawidłowo inkludował plik <tt>prado.php</tt>.</li>
|
|
|
44 |
<li>Usuń całą zawartość z folderów <tt>assets</tt> i <tt>runtime</tt> i upewnij się, że oba umożliwiają zapis procesom serwera WWW.</li>
|
|
|
45 |
</ol>
|
|
|
46 |
|
|
|
47 |
<h2 id="1204">Cykle życia aplikacji</h2>
|
|
|
48 |
<p id="160162" class="block-content">
|
|
|
49 |
Tak jak cykle życia strony tak aplikacja również posiada cykle życia. Moduły aplikacji mogą rejestrować zdarzenia dla cykli życia.
|
|
|
50 |
Kiedy aplikacja znajduje się w konkretnym cyklu i wywołuje odpowiednie zdarzenie, zarejstrowana metoda modułu jest wywoływana automatycznie.
|
|
|
51 |
Moduły załaczone w oficjalnym wydaniu PRADO, takie jak <tt>TAuthManager</tt>, używają tego sposobu aby wyknać swoje zadania.
|
|
|
52 |
</p>
|
|
|
53 |
<p id="160163" class="block-content">
|
|
|
54 |
Cykle życia aplikacji mogą zostać przedstawione następująco:
|
|
|
55 |
</p>
|
|
|
56 |
<img src="<%~applifecycles.gif%>" />
|
|
|
57 |
|
|
|
58 |
<div class="last-modified">$Id: Applications.page 2344 2007-12-17 01:49:31Z aztech $</div></com:TContent>
|