Skip to content

Commit 4625164

Browse files
committed
modules => directory structure
1 parent 7fcd47e commit 4625164

File tree

160 files changed

+288
-3184
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+288
-3184
lines changed

application/bg/@left-menu.texy

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- [Bootstrap |Bootstrap]
55
- [Презентатори |presenters]
66
- [Шаблони |templates]
7-
- [Модули |modules]
7+
- [Структура на директорията |directory-structure]
88
- [Маршрутизиране |routing]
99
- [Създаване на URL |creating-links]
1010
- [Интерактивни компоненти |components]

application/bg/bootstrap.texy

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class Bootstrap
6666
index.php .[#toc-index-php]
6767
===========================
6868

69-
Началният файл за уеб приложенията е `index.php`, разположен в публичната директория `www/`. Той използва класа `Bootstrap` за инициализиране на средата и създаване на контейнер DI. След това получава услугата `Application` от контейнера, която стартира уеб приложението:
69+
В случая на уеб приложенията основният файл е `index.php`, който се намира в [публичната директория |directory-structure#public-directory-www] `www/`. Това ще накара класа Bootstrap да инициализира средата и да създаде контейнер DI. След това той получава от него услугата `Application`, която стартира уеб приложението:
7070

7171
```php
7272
$bootstrap = new App\Bootstrap;

application/bg/configuration.texy

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ application:
4444

4545
[Псевдонимите опростяват препратките към |creating-links#aliases] често използвани презентатори.
4646

47-
Съпоставянето [определя правилата, по които |modules#Mapping] името на класа се извежда от основното име.
47+
[Съпоставянето определя правилата, по които |directory-structure#Presenter Mapping] името на класа се получава от името на водещия.
4848

4949

5050
Автоматично регистриране на водещи .[#toc-automatic-registration-of-presenters]

application/bg/creating-links.texy

+2-2
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ $url = $this->link('Product:show', [$product->id, 'lang' => 'cs']);
103103
<a n:href="Home:">главная страница</a>
104104
```
105105

106-
Връзките могат да сочат и към други [модули |modules]. Тук връзките се разграничават на относителни към подмодули или абсолютни. Принципът е подобен на дисковите пътища, само че с двоеточия вместо с наклонени черти. Да предположим, че водещият е част от модул `Front`, тогава записваме:
106+
Връзките могат да сочат и към други [модули |directory-structure#Presenters and Templates]. Тук връзките се разграничават на относителни към подмодулите или абсолютни. Принципът е аналогичен на дисковите пътища, само че вместо наклонена черта има двоеточия. Нека приемем, че действителният презентатор е част от модула `Front`, тогава ще напишем:
107107

108108
```latte
109109
<a n:href="Shop:Product:show">ссылка на Front:Shop:Product:show</a>
@@ -281,6 +281,6 @@ LinkGenerator .[#toc-linkgenerator]
281281

282282
LinkGenerator е услуга, която може да се подаде през конструктора и след това да се създадат връзки чрез метода 'link()'.
283283

284-
Има разлика в сравнение с водещите. LinkGenerator създава всички връзки като абсолютни URL адреси. Освен това няма "текущ презентатор", така че не можете да зададете само името на действието "link('default')" или относителни пътища към модули.
284+
В сравнение с водещите има разлика. LinkGenerator създава всички връзки директно като абсолютни URL адреси. Също така няма "действителен презентатор", така че не можете просто да изброите името на действието `link('default')` като цел или да изброите относителни пътища към модули.
285285

286286
Невалидните връзки винаги хвърлят изключение `Nette\Application\UI\InvalidLinkException`.

application/bg/how-it-works.texy

+3-3
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@
4545
└── <b>.htaccess</b> ← запрещает доступ ко всем каталогам, кроме www
4646
\--
4747

48-
Можете да променяте структурата на директориите по всякакъв начин, да преименувате или премествате папки и след това просто да редактирате пътищата до `log/` и `temp/` във файла `Bootstrap.php` и пътя до този файл в `composer.json` в раздела `autoload`. Нищо друго, никакво сложно преконфигуриране, никакви постоянни промени. Nette има [интелигентно автоматично откриване |bootstrap#development-vs-production-mode].
48+
Можете да променяте структурата на директориите по свой вкус, да преименувате или премествате папки - всичко е напълно гъвкаво. Nette разполага и с интелигентно автоматично откриване и автоматично разпознава местоположението на приложението, включително неговата URL база.
4949

50-
За малко по-големи приложения можем да разделим главната папка и папките с шаблони на подпапки (на диска) и пространства от имена (в кода), които наричаме [модули |modules].
50+
За малко по-големи приложения можем да организираме папките с презентатори и шаблони в [поддиректории |directory-structure#Presenters and templates] и да групираме класовете в пространства от имена, които наричаме модули.
5151

5252
Публичната директория `www/` може да бъде променена, без да се налага да инсталирате нещо друго. Всъщност често се случва, че поради спецификата на вашия хостинг ще трябва да я преименувате или да инсталирате т.нар. document-root към тази директория в конфигурацията на хостинга. Ако хостингът ви не позволява да създавате папки на едно ниво над публичната директория, предлагаме ви да потърсите друга хостинг услуга. В противен случай ще се изложите на значителен риск за сигурността.
5353

@@ -75,7 +75,7 @@ HTTP заявка .[#toc-http-request]
7575

7676
Какъв вид фабрика? Ние не произвеждаме трактори, а уебсайтове! Изчакайте, след малко ще бъде обяснено.
7777

78-
Под "инициализиране на средата" разбираме например активирането на услугата [Tracy |tracy:], която е невероятен инструмент за регистриране или визуализиране на грешки. Той регистрира грешките на производствения сървър и ги показва директно на сървъра за разработка. Затова по време на инициализацията трябва да решите дали сайтът ще работи в производствен режим или в режим за разработчици. Nette използва автоматично откриване за това: ако стартирате сайта на localhost, той се стартира в режим за разработчици. Не е необходимо да конфигурирате каквото и да било и приложението е готово както за разработка, така и за внедряване в производството. Тези стъпки се следват и са описани подробно в главата [Bootstrap |bootstrap].
78+
Под "инициализация на средата" разбираме например активирането на [Tracy |tracy:], който е фантастичен инструмент за регистриране и визуализиране на грешки. На производствени сървъри той регистрира грешките, а на сървърите за разработка ги показва директно. Следователно инициализацията включва определяне дали уебсайтът работи в производствен режим или в режим на разработка. За тази цел Nette използва [интелигентно автоматично разпознаване |bootstrap#development-vs-production-mode]: ако стартирате сайта на localhost, той работи в режим на разработка. Не е необходима конфигурация и приложението е готово както за разработка, така и за производствено внедряване. Тези стъпки се изпълняват и са описани подробно в главата за [класа Bootstrap |bootstrap].
7979

8080
Третата точка (да, пропуснахме втората, но ще се върнем към нея) е да стартирате приложението. Класът `Nette\Application\Application` (наричан по-нататък `Application`) обработва HTTP заявките в Nette, така че когато казваме "стартиране на приложение", имаме предвид извикване на метод с име `run()` върху обект от този клас.
8181

0 commit comments

Comments
 (0)