umiestnovanie a prepajanie suborov
- laci
- Člen | 16
Zdravím. Som úplný začiatočník v Nette a v podstate celkovo v MVC programovani. teda v tomto pripade MVP. Mam totalne hlupu otazku, ale mne mne to dost pomoze. Videl som tu par prikladov, co a ako riesit a nejaku predstavu mam, ale nemam absolutne ziadnu predstavu, kde umiestnovat subory v ramci adresara na server. Dajme tomu, skusim si napisat nejaky model a presenter a budem ich vediet navzajom prepojit. Ale kde ich mam umiestnovat? Niekde v ramci priecinka nette alebo ako ostatne php subory? A potom ako pouzit v nejakom inom subore? Prosim,nemohli by ste mi niekto trosku priblizit tuto problematiku? Viem, ze moja otazka je dost nejasna, ale rad by som vedel, co kde umiestnovat a pod. Za kazdu odpoved samozrejme dakujem.
- Azathoth
- Člen | 495
Snad ti odpovím.
V Nette je tato adresářová struktura: https://doc.nette.org/…n/presenters#…
Takže ty budeš mít všechny php soubory ve složce app. Správně by měl
návštěvník tvých stránek postupně spouštět různé metody tvých
presenterů a presentery spouští různé metody modelu, což je vlastně celá
logika tvých stránek. Takže doporučuji všechny php soubory, které
nepatří přímo do nette, umisťovat do složky model, protože tam patří
aplikační logika tvých stránek.
Pokud máš nějaké jiné soubory, které nepatří do aplikační logiky, tak
uveď příklad, ať se bavíme konkrétněji.
- Šaman
- Člen | 2666
Ideální je začít na
sandboxu, kde již máš adresářovou strukturu vytvořenou. Obecně je ale
jedno, kde budou soubory s třídama, pokud budou v adresári /app (což by
měly být všechny .php soubory – v OOP jsou všechno rozhraní, třídy,
nebo traity).
Konfigurační soubory musí být tam, kde je hledá bootstrap (typicky
/app/config) a šablony musí být umístěny relativně k presenterům (ty si
je dohledávají). Třidy modelu, nebo komponenty si můžeš ale teoreticky
dát kam chceš, RobotLoader si je najde.
- laci
- Člen | 16
Vďaka. Na svojom serveri ani nemám práva zasahovať mimo zložky www, čiže zatiaľ ani nemám inú možnosť ako robiť na sandboxe. Idem podľa postupov, ako urobiť statický web a od toho sa nejako odraziť.Avšak, ako som už spomínal robím na serveri, nie na localhoste a nejako neviem, akomam tam pracovať so sandboxom. Ako tie stránky spúštať a pod.
- Azathoth
- Člen | 495
Já také na hostingu nemám práva jinam než do složky www a proto měj
všechno ve složce www (nahraj celý sandbox do složky www), takže budeš
mít www/app, www/temp, www/www a tak dále. Právě tam je důležité si
pohlídat .httaccess, aby ti uživatelé nemohli lézt do www/app a dalších
složek, ale pouze do www/www.
Tohle by ti mohlo pomoct: https://doc.nette.org/…ubleshooting
Editoval Azathoth (30. 9. 2014 17:10)
- Azathoth
- Člen | 495
Pokud jsi neupravil .httaccess na automatické přesměrování do složky www/www, tak své stránky nenajdeš na www.example.com, ale na www.example.com/www
- laci
- Člen | 16
Ano nato som uz prisiel.Ale aj tu mi ladenka ukazuje chybu.
BadRequestException #404
Cannot load presenter ‚Index:Php‘, class ‚Index_PhpPresenter‘ was not found in ‚/home/laci/www/app/IndexModule/presenters/PhpPresenter.php‘. search►
ako chapem co to tam pise,, len neviem ako to vyriesit.
- Šaman
- Člen | 2666
To je nějaké divné. Můžeš dát odkaz, pokud je to veřejný
hosting?
Tohle skoro vypadá, že máš adresu, která končí
example.com/www/index.php
a Nette si myslí, že se jedná
o IndexModule a PhpPresenter a defaultní akci. Nedělá ti to nějaký ten
.htaccess?
Editoval Šaman (30. 9. 2014 19:20)