mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-01 11:39:41 +08:00
[doc] Update PHP doc links (#18957)
* Replace https://secure.php.net with https://www.php.net * Replace http://www.php.net with https://www.php.net
This commit is contained in:
@ -95,13 +95,13 @@ $data = $cache->getOrSet($key, function () use ($user_id) {
|
||||
|
||||
Yii поддерживает множество хранилищ кэша:
|
||||
|
||||
* [[yii\caching\ApcCache]]: использует расширение PHP [APC](https://secure.php.net/manual/en/book.apc.php). Эта опция считается самой быстрой при работе с кэшем в «толстом» централизованном приложении (т.е. один сервер, без выделенного балансировщика нагрузки и т.д.);
|
||||
* [[yii\caching\ApcCache]]: использует расширение PHP [APC](https://www.php.net/manual/en/book.apc.php). Эта опция считается самой быстрой при работе с кэшем в «толстом» централизованном приложении (т.е. один сервер, без выделенного балансировщика нагрузки и т.д.);
|
||||
* [[yii\caching\DbCache]]: использует таблицу базы данных для хранения кэшированных данных. Чтобы использовать этот кэш, вы должны создать таблицу так, как это описано в [[yii\caching\DbCache::cacheTable]];
|
||||
* [[yii\caching\DummyCache]]: является кэшем-пустышкой, не реализующим реального кэширования. Смысл этого компонента в упрощении кода, проверяющего наличие кэша. Вы можете использовать данный тип кэша и переключиться на реальное кэширование позже. Примеры: использование при разработке; если сервер не поддерживает кэш. Для извлечения данных в этом случае используется один и тот же код `Yii::$app->cache->get($key)`. При этом можно не беспокоиться, что `Yii::$app->cache` может быть `null`;
|
||||
* [[yii\caching\FileCache]]: использует обычные файлы для хранения кэшированных данных. Замечательно подходит для кэширования больших кусков данных, таких как содержимое страницы;
|
||||
* [[yii\caching\MemCache]]: использует расширения PHP [memcache](https://secure.php.net/manual/en/book.memcache.php) и [memcached](https://secure.php.net/manual/en/book.memcached.php). Этот вариант может рассматриваться как самый быстрый при работе в распределенных приложениях (например, с несколькими серверами, балансировкой нагрузки и так далее);
|
||||
* [[yii\caching\MemCache]]: использует расширения PHP [memcache](https://www.php.net/manual/en/book.memcache.php) и [memcached](https://www.php.net/manual/en/book.memcached.php). Этот вариант может рассматриваться как самый быстрый при работе в распределенных приложениях (например, с несколькими серверами, балансировкой нагрузки и так далее);
|
||||
* [[yii\redis\Cache]]: реализует компонент кэша на основе [Redis](http://redis.io/), хранилища ключ-значение (требуется Redis версии 2.6.12 или выше);
|
||||
* [[yii\caching\WinCache]]: использует расширение PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension) ([смотрите также](https://secure.php.net/manual/en/book.wincache.php));
|
||||
* [[yii\caching\WinCache]]: использует расширение PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension) ([смотрите также](https://www.php.net/manual/en/book.wincache.php));
|
||||
* [[yii\caching\XCache]] _(deprecated)_: использует расширение PHP [XCache](http://xcache.lighttpd.net/);
|
||||
* [[yii\caching\ZendDataCache]] _(deprecated)_: использует [Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm).
|
||||
|
||||
|
||||
@ -104,7 +104,7 @@ Cache-Control: public, max-age=3600
|
||||
|
||||
## Ограничитель кэша сессий <span id="session-cache-limiter"></span>
|
||||
|
||||
Когда на странице используются сессии, PHP автоматически отправляет некоторые связанные с кэшем HTTP заголовки, определённые в настройке `session.cache_limiter` в php.ini. Эти заголовки могут вмешиваться или отключать кэширование, которое вы ожидаете от `HttpCache`. Чтобы предотвратить эту проблему, по умолчанию `HttpCache` будет автоматически отключать отправку этих заголовков. Если вы хотите изменить это поведение, вы должны настроить свойство [[yii\filters\HttpCache::sessionCacheLimiter]]. Это свойство может принимать строковое значение, включая `public`, `private`, `private_no_expire` и `nocache`. Пожалуйста, обратитесь к руководству PHP о [session_cache_limiter()](https://secure.php.net/manual/en/function.session-cache-limiter.php)
|
||||
Когда на странице используются сессии, PHP автоматически отправляет некоторые связанные с кэшем HTTP заголовки, определённые в настройке `session.cache_limiter` в php.ini. Эти заголовки могут вмешиваться или отключать кэширование, которое вы ожидаете от `HttpCache`. Чтобы предотвратить эту проблему, по умолчанию `HttpCache` будет автоматически отключать отправку этих заголовков. Если вы хотите изменить это поведение, вы должны настроить свойство [[yii\filters\HttpCache::sessionCacheLimiter]]. Это свойство может принимать строковое значение, включая `public`, `private`, `private_no_expire` и `nocache`. Пожалуйста, обратитесь к руководству PHP о [session_cache_limiter()](https://www.php.net/manual/en/function.session-cache-limiter.php)
|
||||
для объяснения этих значений.
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
=================
|
||||
|
||||
Поиск и подключение файлов классов в Yii реализовано при помощи
|
||||
[автозагрузки классов](https://secure.php.net/manual/ru/language.oop5.autoload.php). Фреймворк предоставляет свой быстрый
|
||||
[автозагрузки классов](https://www.php.net/manual/ru/language.oop5.autoload.php). Фреймворк предоставляет свой быстрый
|
||||
совместимый с [PSR-4](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md)
|
||||
автозагрузчик, который устанавливается в момент подключения `Yii.php`.
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
При использовании автозагрузчика классов Yii следует соблюдать два простых правила создания и именования классов:
|
||||
|
||||
* Каждый класс должен принадлежать [пространству имён](https://secure.php.net/manual/ru/language.namespaces.php)
|
||||
* Каждый класс должен принадлежать [пространству имён](https://www.php.net/manual/ru/language.namespaces.php)
|
||||
(то есть `foo\bar\MyClass`).
|
||||
* Каждый класс должен находиться в отдельном файле, путь к которому определятся следующим правилом:
|
||||
|
||||
|
||||
@ -341,7 +341,7 @@ $user->touch('login_time');
|
||||
Сравнение с трейтами <span id="comparison-with-traits"></span>
|
||||
---------------------------------------------------
|
||||
|
||||
Несмотря на то, что поведения схожи с [трейтами](https://secure.php.net/manual/ru/language.oop5.traits.php) тем, что
|
||||
Несмотря на то, что поведения схожи с [трейтами](https://www.php.net/manual/ru/language.oop5.traits.php) тем, что
|
||||
"внедряют" свои свойства и методы в основной класс, они имеют множество отличий. Они оба имеют свои плюсы и минусы,
|
||||
и, скорее, дополняют друг друга, а не заменяют.
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
Обработчики событий <span id="event-handlers"></span>
|
||||
--------------
|
||||
|
||||
Обработчик события - это [callback-функция PHP](https://secure.php.net/manual/ru/language.types.callable.php), которая выполняется при срабатывании события, к которому она присоединена. Можно использовать следующие callback-функции:
|
||||
Обработчик события - это [callback-функция PHP](https://www.php.net/manual/ru/language.types.callable.php), которая выполняется при срабатывании события, к которому она присоединена. Можно использовать следующие callback-функции:
|
||||
|
||||
- глобальную функцию PHP, указав строку с именем функции (без скобок), например, `'trim'`;
|
||||
- метод объекта, указав массив, содержащий строки с именами объекта и метода (без скобок), например, `[$object, 'methodName']`;
|
||||
|
||||
@ -689,7 +689,7 @@ try {
|
||||
```
|
||||
|
||||
> Note: в коде выше ради совместимости с PHP 5.x и PHP 7.x использованы два блока catch.
|
||||
> `\Exception` реализует интерфейс [`\Throwable` interface](https://secure.php.net/manual/ru/class.throwable.php)
|
||||
> `\Exception` реализует интерфейс [`\Throwable` interface](https://www.php.net/manual/ru/class.throwable.php)
|
||||
> начиная с PHP 7.0. Если вы используете только PHP 7 и новее, можете пропустить блок с `\Exception`.
|
||||
|
||||
Второй способ заключается в том, чтобы перечислить операции с базой данных, которые требуют тразнакционного выполнения,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Объекты доступа к данным (DAO)
|
||||
==============================
|
||||
|
||||
Построенные поверх [PDO](https://secure.php.net/manual/ru/book.pdo.php), Yii DAO (объекты доступа к данным) обеспечивают
|
||||
Построенные поверх [PDO](https://www.php.net/manual/ru/book.pdo.php), Yii DAO (объекты доступа к данным) обеспечивают
|
||||
объектно-ориентированный API для доступа к реляционным базам данных. Это основа для других, более продвинутых, методов
|
||||
доступа к базам данных, включая [построитель запросов](db-query-builder.md) и [active record](db-active-record.md).
|
||||
|
||||
@ -62,7 +62,7 @@ return [
|
||||
> Tip: Вы можете настроить несколько компонентов подключения, если в вашем приложении используется несколько баз данных.
|
||||
|
||||
При настройке подключения, вы должны обязательно указывать Имя Источника Данных (DSN) через параметр [[yii\db\Connection::dsn|dsn]].
|
||||
Формат DSN отличается для разных баз данных. Дополнительное описание смотрите в [справочнике PHP](https://secure.php.net/manual/ru/pdo.construct.php).
|
||||
Формат DSN отличается для разных баз данных. Дополнительное описание смотрите в [справочнике PHP](https://www.php.net/manual/ru/pdo.construct.php).
|
||||
Ниже представлены несколько примеров:
|
||||
|
||||
* MySQL, MariaDB: `mysql:host=localhost;dbname=mydatabase`
|
||||
@ -174,7 +174,7 @@ $post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id AND status
|
||||
->queryOne();
|
||||
```
|
||||
|
||||
Привязка переменных реализована через [подготавливаемые запросы](https://secure.php.net/manual/ru/mysqli.quickstart.prepared-statements.php).
|
||||
Привязка переменных реализована через [подготавливаемые запросы](https://www.php.net/manual/ru/mysqli.quickstart.prepared-statements.php).
|
||||
Помимо предотвращения атак путём SQL инъекций, это увеличивает производительность, так как запрос подготавливается
|
||||
один раз, а потом выполняется много раз с разными параметрами. Например,
|
||||
|
||||
@ -338,7 +338,7 @@ try {
|
||||
```
|
||||
|
||||
> Note: в коде выше ради совместимости с PHP 5.x и PHP 7.x использованы два блока catch.
|
||||
> `\Exception` реализует интерфейс [`\Throwable` interface](https://secure.php.net/manual/ru/class.throwable.php)
|
||||
> `\Exception` реализует интерфейс [`\Throwable` interface](https://www.php.net/manual/ru/class.throwable.php)
|
||||
> начиная с PHP 7.0. Если вы используете только PHP 7 и новее, можете пропустить блок с `\Exception`.
|
||||
|
||||
При вызове метода [[yii\db\Connection::beginTransaction()|beginTransaction()]], будет запущена новая транзакция.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
ArrayHelper
|
||||
===========
|
||||
Вдобавок к [богатому набору функций](https://secure.php.net/manual/ru/book.array.php) для работы с массивами, которые есть в самом PHP, хелпер Yii Array предоставляет свои статические функции - возможно они могут быть вам полезны.
|
||||
Вдобавок к [богатому набору функций](https://www.php.net/manual/ru/book.array.php) для работы с массивами, которые есть в самом PHP, хелпер Yii Array предоставляет свои статические функции - возможно они могут быть вам полезны.
|
||||
|
||||
|
||||
## Получение значений <span id="getting-values"></span>
|
||||
@ -110,7 +110,7 @@ $type = ArrayHelper::remove($array, 'type');
|
||||
|
||||
## Проверка наличия ключей <span id="checking-existence-of-keys"></span>
|
||||
|
||||
`ArrayHelper::keyExists` работает так же, как и стандартный [array_key_exists](https://secure.php.net/manual/ru/function.array-key-exists.php),
|
||||
`ArrayHelper::keyExists` работает так же, как и стандартный [array_key_exists](https://www.php.net/manual/ru/function.array-key-exists.php),
|
||||
но также может проверять ключи без учёта регистра:
|
||||
|
||||
```php
|
||||
@ -245,7 +245,7 @@ ArrayHelper::multisort($data, function($item) {
|
||||
```
|
||||
Третий аргумент определяет способ сортировки – от большего к меньшему или от меньшего к большему. В случае, если мы сортируем по одному ключу, передаем `SORT_ASC` или `SORT_DESC`. Если сортировка осуществляется по нескольким ключам, вы можете назначить направление сортировки для каждого из них с помощью массива.
|
||||
|
||||
Последний аргумент – это флаг, который используется в стандартной функции PHP `sort()`. Посмотреть его возможные значения можно [тут](https://secure.php.net/manual/ru/function.sort.php).
|
||||
Последний аргумент – это флаг, который используется в стандартной функции PHP `sort()`. Посмотреть его возможные значения можно [тут](https://www.php.net/manual/ru/function.sort.php).
|
||||
|
||||
|
||||
## Определение типа массива <span id="detecting-array-types"></span>
|
||||
@ -335,7 +335,7 @@ $data = ArrayHelper::toArray($posts, [
|
||||
|
||||
Для таких случаев [[yii\helpers\ArrayHelper]] предоставляет [[yii\helpers\ArrayHelper::isIn()|isIn()]] и
|
||||
[[yii\helpers\ArrayHelper::isSubset()|isSubset()]]. Методы принимают такие же параметры, что и
|
||||
[in_array()](https://secure.php.net/manual/ru/function.in-array.php).
|
||||
[in_array()](https://www.php.net/manual/ru/function.in-array.php).
|
||||
|
||||
```php
|
||||
// true
|
||||
|
||||
@ -2,7 +2,7 @@ Html-помощник
|
||||
=============
|
||||
|
||||
Каждое веб-приложение формирует большое количество HTML-разметки. Если разметка статическая, её можно эффективно
|
||||
сформировать [смешиванием PHP и HTML в одном файле](https://secure.php.net/manual/ru/language.basic-syntax.phpmode.php), но
|
||||
сформировать [смешиванием PHP и HTML в одном файле](https://www.php.net/manual/ru/language.basic-syntax.phpmode.php), но
|
||||
когда разметка динамическая, становится сложно формировать её без дополнительной помощи. Yii предоставляет такую помощь
|
||||
в виде Html-помощника, который обеспечивает набор статических методов для обработки часто-используемых HTML тэгов, их
|
||||
атрибутов и содержимого.
|
||||
@ -155,8 +155,8 @@ Html::removeCssStyle($options, ['width', 'height']);
|
||||
### Экранирование контента <span id="encoding-and-decoding-content"></span>
|
||||
|
||||
Для корректного и безопасного отображения контента специальные символы в HTML-коде должны быть экранированы. В чистом
|
||||
PHP это осуществляется с помощью функций [htmlspecialchars](https://secure.php.net/manual/ru/function.htmlspecialchars.php)
|
||||
и [htmlspecialchars_decode](https://secure.php.net/manual/ru/function.htmlspecialchars-decode.php). Проблема использования
|
||||
PHP это осуществляется с помощью функций [htmlspecialchars](https://www.php.net/manual/ru/function.htmlspecialchars.php)
|
||||
и [htmlspecialchars_decode](https://www.php.net/manual/ru/function.htmlspecialchars-decode.php). Проблема использования
|
||||
этих функций заключается в том, что приходится указывать кодировку и дополнительные флаги во время каждого вызова.
|
||||
Поскольку флаги всё время одинаковы, а кодировка остаётся одной и той же в пределах приложения, Yii в целях
|
||||
безопасности предоставляет два компактных и простых в использовании метода:
|
||||
|
||||
@ -123,7 +123,7 @@ class SiteController extends Controller
|
||||
Сначала нужно добавить в правило валидации `file` параметр `maxFiles` для ограничения максимального количества
|
||||
загружаемых одновременно файлов. Установка `maxFiles` равным `0` означает снятие ограничений на количество файлов,
|
||||
которые могут быть загружены одновременно. Максимально разрешенное количество одновременно закачиваемых файлов
|
||||
также ограничивается директивой PHP [`max_file_uploads`](https://secure.php.net/manual/ru/ini.core.php#ini.max-file-uploads),
|
||||
также ограничивается директивой PHP [`max_file_uploads`](https://www.php.net/manual/ru/ini.core.php#ini.max-file-uploads),
|
||||
и по умолчанию равно 20. Метод `upload()` нужно изменить для сохранения загруженных файлов по одному.
|
||||
|
||||
```php
|
||||
|
||||
@ -28,16 +28,16 @@ Yii 2.0 широко использует [Composer](https://getcomposer.org/),
|
||||
версией 5.2, которая использовалась Yii 1.1. Таким образом, существует много различий в языке, которые вы должны принимать
|
||||
во внимание:
|
||||
|
||||
- [Пространства имён](https://secure.php.net/manual/ru/language.namespaces.php);
|
||||
- [Анонимные функции](https://secure.php.net/manual/ru/functions.anonymous.php);
|
||||
- [Пространства имён](https://www.php.net/manual/ru/language.namespaces.php);
|
||||
- [Анонимные функции](https://www.php.net/manual/ru/functions.anonymous.php);
|
||||
- Использование короткого синтаксиса для массивов: `[...элементы...]` вместо `array(...элементы...)`;
|
||||
- Использование короткого echo `<?=` для вывода в файлах представлений. С версии PHP 5.4 данную возможность можно
|
||||
использовать не опасаясь;
|
||||
- [Классы и интерфейсы SPL](https://secure.php.net/manual/ru/book.spl.php);
|
||||
- [Позднее статическое связывание (LSB)](https://secure.php.net/manual/ru/language.oop5.late-static-bindings.php);
|
||||
- [Классы для дат и времени](https://secure.php.net/manual/ru/book.datetime.php);
|
||||
- [Трейты](https://secure.php.net/manual/ru/language.oop5.traits.php);
|
||||
- [Интернационализация (intl)](https://secure.php.net/manual/ru/book.intl.php); Yii 2.0 использует расширение PHP `intl`
|
||||
- [Классы и интерфейсы SPL](https://www.php.net/manual/ru/book.spl.php);
|
||||
- [Позднее статическое связывание (LSB)](https://www.php.net/manual/ru/language.oop5.late-static-bindings.php);
|
||||
- [Классы для дат и времени](https://www.php.net/manual/ru/book.datetime.php);
|
||||
- [Трейты](https://www.php.net/manual/ru/language.oop5.traits.php);
|
||||
- [Интернационализация (intl)](https://www.php.net/manual/ru/book.intl.php); Yii 2.0 использует расширение PHP `intl`
|
||||
для различного функционала интернационализации.
|
||||
|
||||
|
||||
|
||||
@ -46,6 +46,6 @@ Yii 2.0 требует PHP 5.4.0 и выше и наилучшим образо
|
||||
требований, который поставляется с каждым релизом фреймворка.
|
||||
|
||||
Для разработки на Yii потребуется общее понимание ООП, так как фреймворк полностью следует этой парадигме. Также стоит
|
||||
изучить такие современные возможности PHP как [пространства имён](https://secure.php.net/manual/ru/language.namespaces.php)
|
||||
и [трейты](https://secure.php.net/manual/ru/language.oop5.traits.php). Понимание этих концепций позволит вам более легко освоиться c Yii 2.0.
|
||||
изучить такие современные возможности PHP как [пространства имён](https://www.php.net/manual/ru/language.namespaces.php)
|
||||
и [трейты](https://www.php.net/manual/ru/language.oop5.traits.php). Понимание этих концепций позволит вам более легко освоиться c Yii 2.0.
|
||||
|
||||
|
||||
@ -156,7 +156,7 @@ JS
|
||||
);
|
||||
```
|
||||
|
||||
Приведенный выше пример кода использует PHP [синтаксис Heredoc](https://secure.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) для лучшей читаемости. Это также обеспечивает лучшую подсветку синтаксиса в большинстве IDE, поэтому это предпочтительный способ написания встроенного JavaScript, особенно полезный для кода, более длинного чем однострочный. Переменная `$message` создается PHP и благодаря [[yii\helpers\Json::htmlEncode|Json::htmlEncode]] содержит строку в допустимом синтаксисе JS, которую можно вставить в JavaScript код, чтобы поместить динамическую строку в вызов функции `alert()`.
|
||||
Приведенный выше пример кода использует PHP [синтаксис Heredoc](https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) для лучшей читаемости. Это также обеспечивает лучшую подсветку синтаксиса в большинстве IDE, поэтому это предпочтительный способ написания встроенного JavaScript, особенно полезный для кода, более длинного чем однострочный. Переменная `$message` создается PHP и благодаря [[yii\helpers\Json::htmlEncode|Json::htmlEncode]] содержит строку в допустимом синтаксисе JS, которую можно вставить в JavaScript код, чтобы поместить динамическую строку в вызов функции `alert()`.
|
||||
|
||||
> Note: При использовании Heredoc, будьте осторожны с именами переменных в коде JS, поскольку переменные, начинающиеся с `$`, могут интерпретироваться как переменные PHP, которые будут заменены их содержимым.
|
||||
> jQuery функция в форме `$(` или `$.` не интерпретируется как переменная PHP и может безопасно использоваться.
|
||||
|
||||
@ -32,7 +32,7 @@ Formatter может быть использован двумя различны
|
||||
```
|
||||
|
||||
Все данные, отображаемые через компонент formatter, будут локализованы, если
|
||||
[расширение PHP intl](https://secure.php.net/manual/ru/book.intl.php) было установлено. Для этого вы можете настроить свойство
|
||||
[расширение PHP intl](https://www.php.net/manual/ru/book.intl.php) было установлено. Для этого вы можете настроить свойство
|
||||
[[yii\i18n\Formatter::locale|locale]]. Если оно не было настроено, то в качестве локали будет использован
|
||||
[[yii\base\Application::language|язык приложения]]. Подробнее смотрите в разделе «[интернационализация](tutorial-i18n.md)».
|
||||
Компонент форматирования будет выбирать корректный формат для даты и чисел в соответствии с локалью, включая имена
|
||||
@ -51,7 +51,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // выведет: 1 январ
|
||||
```
|
||||
|
||||
> Обратите внимание, что форматирование может различаться между различными версиями библиотеки ICU, собранных с PHP,
|
||||
> а также на основе того установлено ли [расширение PHP intl](https://secure.php.net/manual/ru/book.intl.php) или нет.
|
||||
> а также на основе того установлено ли [расширение PHP intl](https://www.php.net/manual/ru/book.intl.php) или нет.
|
||||
> Таким образом, чтобы гарантировать, что ваш сайт будет одинаково отображать данные во всех окружениях рекомендуется
|
||||
> установить расширение PHP intl во всех окружениях и проверить, что версия библиотеки ICU совпадает.
|
||||
> См. также: [Настройка PHP окружения для интернационализации](tutorial-i18n.md#setup-environment).
|
||||
@ -115,7 +115,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // выведет: 1 январ
|
||||
Дополнительно вы можете задать специальный формат, используя синтаксис, заданный [ICU Project](http://site.icu-project.org/),
|
||||
который описан в руководстве ICU по следующему адресу:
|
||||
<http://userguide.icu-project.org/formatparse/datetime>. Также вы можете использовать синтаксис, который распознаётся
|
||||
PHP-функцией [date()](https://secure.php.net/manual/ru/function.date.php), используя строку с префиксом `php:`.
|
||||
PHP-функцией [date()](https://www.php.net/manual/ru/function.date.php), используя строку с префиксом `php:`.
|
||||
|
||||
```php
|
||||
// ICU форматирование
|
||||
@ -170,7 +170,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 14:41:00 CEST'); // 14:41:00
|
||||
[[yii\i18n\Formatter::thousandSeparator|тысячного разделителя]], которые были заданы в соответствии с локалью.
|
||||
|
||||
Для более сложной конфигурации [[yii\i18n\Formatter::numberFormatterOptions]] и [[yii\i18n\Formatter::numberFormatterTextOptions]]
|
||||
могут быть использованы для настройки внутренне используемого [класса NumberFormatter](https://secure.php.net/manual/ru/class.numberformatter.php).
|
||||
могут быть использованы для настройки внутренне используемого [класса NumberFormatter](https://www.php.net/manual/ru/class.numberformatter.php).
|
||||
|
||||
Например, чтобы настроить максимальное и минимальное количество знаков после запятой, вы можете настроить свойство
|
||||
[[yii\i18n\Formatter::numberFormatterOptions]] как в примере ниже:
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
Для того, чтобы обеспечить повышенную безопасность паролей ваших пользователей даже в худшем случае (ваше
|
||||
приложение взломано), нужно использовать алгоритм шифрования, устойчивый к атаке перебором. Лучший вариант в текущий
|
||||
момент `bcrypt`. В PHP вы можете использовать хеши `bcrypt` через [функцию crypt](https://secure.php.net/manual/en/function.crypt.php).
|
||||
момент `bcrypt`. В PHP вы можете использовать хеши `bcrypt` через [функцию crypt](https://www.php.net/manual/en/function.crypt.php).
|
||||
Yii обеспечивает две вспомогательные функции, которые упрощают использование функции `crypt` для генерации и проверки
|
||||
пароля.
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ INSERT INTO `country` VALUES ('US','United States',322976000);
|
||||
Настраиваем подключение к БД <span id="configuring-db-connection"></span>
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
Перед продолжением убедитесь, что у вас установлены PHP-расширение [PDO](https://secure.php.net/manual/ru/book.pdo.php) и драйвер PDO для используемой вами базы данных (например, `pdo_mysql` для MySQL). Это базовое требование в случае использования вашим приложением реляционной базы данных.
|
||||
Перед продолжением убедитесь, что у вас установлены PHP-расширение [PDO](https://www.php.net/manual/ru/book.pdo.php) и драйвер PDO для используемой вами базы данных (например, `pdo_mysql` для MySQL). Это базовое требование в случае использования вашим приложением реляционной базы данных.
|
||||
После того, как они установлены, откройте файл `config/db.php` и измените параметры на верные для вашей базы данных. По умолчанию этот файл содержит следующее:
|
||||
|
||||
```php
|
||||
|
||||
@ -122,7 +122,7 @@ php requirements.php
|
||||
|
||||
Для корректной работы фреймворка вам необходима установка PHP, соответствующая его минимальным требованиям. Основное
|
||||
требование — PHP версии 5.4 и выше. Если ваше приложение работает с базой данных, необходимо установить
|
||||
[расширение PHP PDO](https://secure.php.net/manual/ru/pdo.installation.php) и соответствующий драйвер
|
||||
[расширение PHP PDO](https://www.php.net/manual/ru/pdo.installation.php) и соответствующий драйвер
|
||||
(например, `pdo_mysql` для MySQL).
|
||||
|
||||
|
||||
@ -174,7 +174,7 @@ DocumentRoot "path/to/basic/web"
|
||||
|
||||
### Рекомендуемые настройки Nginx <span id="recommended-nginx-configuration"></span>
|
||||
|
||||
PHP должен быть установлен как [FPM SAPI](https://secure.php.net/manual/ru/install.fpm.php) для [Nginx](http://wiki.nginx.org/).
|
||||
PHP должен быть установлен как [FPM SAPI](https://www.php.net/manual/ru/install.fpm.php) для [Nginx](http://wiki.nginx.org/).
|
||||
Используйте следующие параметры Nginx и не забудьте заменить `path/to/basic/web` на корректный путь к `basic/web` и
|
||||
`mysite.test` на ваше имя хоста.
|
||||
|
||||
|
||||
@ -349,7 +349,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
|
||||
|
||||
Данное свойство предоставляет альтернативный способ установки временной зоны в процессе работы приложения.
|
||||
Путем указания данного свойства, вы по существу вызываете PHP функцию
|
||||
[date_default_timezone_set()](https://secure.php.net/manual/ru/function.date-default-timezone-set.php). Например,
|
||||
[date_default_timezone_set()](https://www.php.net/manual/ru/function.date-default-timezone-set.php). Например,
|
||||
|
||||
```php
|
||||
[
|
||||
|
||||
@ -29,7 +29,7 @@ $model->name = 'example';
|
||||
echo $model->name;
|
||||
```
|
||||
|
||||
Также возможно получить доступ к атрибутам как к элементам массива, спасибо поддержке [ArrayAccess](https://secure.php.net/manual/ru/class.arrayaccess.php) и [Traversable](https://secure.php.net/manual/ru/class.traversable.php)
|
||||
Также возможно получить доступ к атрибутам как к элементам массива, спасибо поддержке [ArrayAccess](https://www.php.net/manual/ru/class.arrayaccess.php) и [Traversable](https://www.php.net/manual/ru/class.traversable.php)
|
||||
в [[yii\base\Model]]:
|
||||
|
||||
```php
|
||||
|
||||
@ -117,7 +117,7 @@ public function rules()
|
||||
- `format`: формат даты/времени, согласно которому должна быть сделана проверка.
|
||||
Значение может быть паттерном, описанным в [руководстве ICU](http://userguide.icu-project.org/formatparse/datetime#TOC-Date-Time-Format-Syntax)
|
||||
или форматом PHP префиксированным `php:`. Формат должен приниматься классом `Datetime`. Подробнее о нём можно
|
||||
прочитать в [руководстве PHP по date_create_from_format()](https://secure.php.net/manual/ru/datetime.createfromformat.php).
|
||||
прочитать в [руководстве PHP по date_create_from_format()](https://www.php.net/manual/ru/datetime.createfromformat.php).
|
||||
Если значение не задано, используется `Yii::$app->formatter->dateFormat`.
|
||||
Подробнее читайте в [[yii\validators\DateValidator::$format|документации по API]].
|
||||
- `timestampAttribute`: имя атрибута, которому данный валидатор может присваивать значение UNIX timestamp,
|
||||
|
||||
@ -134,7 +134,7 @@ echo \Yii::t('app', 'Balance: {0}', $sum);
|
||||
|
||||
### Указатели с расширенным форматированием
|
||||
|
||||
Чтобы использовать расширенные возможности, вам необходимо установить и включить [PHP-расширение intl](https://secure.php.net/manual/ru/intro.intl.php).
|
||||
Чтобы использовать расширенные возможности, вам необходимо установить и включить [PHP-расширение intl](https://www.php.net/manual/ru/intro.intl.php).
|
||||
После этого вам станет доступен расширенный синтаксис указателей, а также сокращённая запись `{placeholderName, argumentType}`,
|
||||
эквивалентная форме `{placeholderName, argumentType, argumentStyle}`, позволяющая определять стиль форматирования.
|
||||
|
||||
@ -554,13 +554,13 @@ class TranslationEventHandler
|
||||
Настройка PHP-окружения <span id="setup-environment"></span>
|
||||
------------------------------------------------------------
|
||||
|
||||
Для работы с большей частью функций интернационализации Yii использует [PHP-расширение intl](https://secure.php.net/manual/ru/book.intl.php).
|
||||
Для работы с большей частью функций интернационализации Yii использует [PHP-расширение intl](https://www.php.net/manual/ru/book.intl.php).
|
||||
Например, это расширение используют классы, отвечающие за форматирование чисел и дат [[yii\i18n\Formatter]] и за форматирование
|
||||
строк [[yii\i18n\MessageFormatter]]. Оба класса поддерживают базовый функционал даже в том случае, если расширение `intl` не
|
||||
установлено. Однако этот запасной вариант более или менее будет работать только для сайтов на английском языке, хотя даже для
|
||||
них большая часть широких возможностей расширения `intl` не будет доступна, поэтому его установка настоятельно рекомендуется.
|
||||
|
||||
[PHP-расширение intl](https://secure.php.net/manual/ru/book.intl.php) основано на [библиотеке ICU](http://site.icu-project.org/), которая
|
||||
[PHP-расширение intl](https://www.php.net/manual/ru/book.intl.php) основано на [библиотеке ICU](http://site.icu-project.org/), которая
|
||||
описывает правила форматирования для различных локалей. Поэтому следует помнить, что форматирование чисел и дат вместе с
|
||||
синтаксисом форматирования может отличаться в зависимости от версии библиотеки ICU, которая была скомпилирована в вашем
|
||||
дистрибутиве PHP.
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
Хорошо сконфигурированное окружение PHP очень важно. Для получения максимальной производительности,
|
||||
|
||||
- Используйте последнюю стабильную версию PHP. Мажорные релизы PHP могут принести значительные улучшения производительности.
|
||||
- Включите кеширование байткода в [Opcache](https://secure.php.net/manual/ru/book.opcache.php) (PHP 5.5 и старше) или [APC](http://secure.php.net/manual/ru/book.apc.php)
|
||||
- Включите кеширование байткода в [Opcache](https://www.php.net/manual/ru/book.opcache.php) (PHP 5.5 и старше) или [APC](https://www.php.net/manual/ru/book.apc.php)
|
||||
(PHP 5.4 и более ранние версии). Кеширование байткода позволяет избежать затрат времени на обработку и подключение PHP
|
||||
скриптов при каждом входящем запросе.
|
||||
|
||||
@ -213,4 +213,4 @@ composer dumpautoload -o
|
||||
|
||||
- [Отладочный тулбар Yii и отладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md)
|
||||
- [Профайлер XDebug](http://xdebug.org/docs/profiler)
|
||||
- [XHProf](https://secure.php.net/manual/en/book.xhprof.php)
|
||||
- [XHProf](https://www.php.net/manual/en/book.xhprof.php)
|
||||
|
||||
Reference in New Issue
Block a user