[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:
Bizley
2021-10-19 14:50:26 +02:00
committed by GitHub
parent b22bcaebfd
commit 0041f034fd
221 changed files with 596 additions and 596 deletions

View File

@ -103,7 +103,7 @@ $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]]:使用一个数据库的表存储缓存数据。要使用这个缓存,
@ -120,14 +120,14 @@ Yii 支持一系列缓存存储器,概况如下:
`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))扩展.
[另可参考](https://www.php.net/manual/en/book.wincache.php))扩展.
* [[yii\caching\XCache]]:使用 PHP [XCache](http://xcache.lighttpd.net/)扩展。
* [[yii\caching\ZendDataCache]]:使用
[Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend- server.htm#data_cache_component.htm)

View File

@ -131,7 +131,7 @@ Cache-Control: public, max-age=3600
为了避免此问题,默认情况下 `HttpCache` 禁止自动发送这些头。
想改变这一行为,可以配置 [[yii\filters\HttpCache::sessionCacheLimiter]] 属性。
该属性接受一个字符串值,包括 `public``private``private_no_expire`,和 `nocache`
请参考 PHP 手册中的[缓存限制器](https://secure.php.net/manual/en/function.session-cache-limiter.php)
请参考 PHP 手册中的[缓存限制器](https://www.php.net/manual/en/function.session-cache-limiter.php)
了解这些值的含义。

View File

@ -473,8 +473,8 @@ Active Record 自动维护脏属性列表。 它保存所有属性的旧值,
> 其中每个值都表示为一个字符串类型。
> 为了确保正确的类型,比如,整型需要用[过滤验证器](input-validation.md#data-filtering)
> `['attributeName', 'filter', 'filter' => 'intval']`。其他 PHP 类型转换函数一样适用,像
> [intval()](https://secure.php.net/manual/en/function.intval.php) [floatval()](https://secure.php.net/manual/en/function.floatval.php)
> [boolval](https://secure.php.net/manual/en/function.boolval.php),等等
> [intval()](https://www.php.net/manual/en/function.intval.php) [floatval()](https://www.php.net/manual/en/function.floatval.php)
> [boolval](https://www.php.net/manual/en/function.boolval.php),等等
### 默认属性值Default Attribute Values <span id="default-attribute-values"></span>

View File

@ -771,7 +771,7 @@ foreach ($query->each() as $username => $user) {
#### MySQL中批量查询的局限性Limitations of batch query in MySQL <span id="batch-query-mysql"></span>
MySQL 是通过 PDO 驱动库实现批量查询的。默认情况下MySQL 查询是 [`带缓存的`](https://secure.php.net/manual/en/mysqlinfo.concepts.buffering.php)
MySQL 是通过 PDO 驱动库实现批量查询的。默认情况下MySQL 查询是 [`带缓存的`](https://www.php.net/manual/en/mysqlinfo.concepts.buffering.php)
这违背了使用游标cursor获取数据的目的
因为它不阻止驱动程序将整个结果集加载到客户端的内存中。

View File

@ -1,7 +1,7 @@
数组助手类ArrayHelper
======================
除了 [PHP 中丰富的数组函数集](https://secure.php.net/manual/zh/book.array.php)
除了 [PHP 中丰富的数组函数集](https://www.php.net/manual/zh/book.array.php)
Yii 数组助手类提供了额外的静态方法,让你更高效地处理数组。
@ -117,7 +117,7 @@ $type = ArrayHelper::remove($array, 'type');
## 检查键名的存在Checking Existence of Keys <span id="checking-existence-of-keys"></span>
`ArrayHelper::keyExists` 工作原理和 [array_key_exists](https://secure.php.net/manual/en/function.array-key-exists.php) 差不多,除了
`ArrayHelper::keyExists` 工作原理和 [array_key_exists](https://www.php.net/manual/en/function.array-key-exists.php) 差不多,除了
它还可支持大小写不敏感的键名比较,比如:
```php
@ -321,7 +321,7 @@ ArrayHelper::multisort($data, function($item) {
各个键指定不同的顺序。
最后一个参数译者注第四个参数是PHP的排序标识sort flag可使用的值和调用 PHP
[sort()](https://secure.php.net/manual/zh/function.sort.php) 函数时传递的值一样。
[sort()](https://www.php.net/manual/zh/function.sort.php) 函数时传递的值一样。
## 检测数组类型Detecting Array Types <span id="detecting-array-types"></span>
@ -356,7 +356,7 @@ $decoded = ArrayHelper::htmlDecode($data);
您可以使用 [[yii\helpers\ArrayHelper::merge()|ArrayHelper::merge()]] 将两个或多个数组合并成一个递归的数组。
如果每个数组都有一个具有相同字符串键值的元素,则后者将覆盖前者
(不同于 [array_merge_recursive()](https://secure.php.net/manual/en/function.array-merge-recursive.php))。
(不同于 [array_merge_recursive()](https://www.php.net/manual/en/function.array-merge-recursive.php))。
如果两个数组都有一个数组类型的元素并且具有相同的键,则将执行递归合并。
对于整数键的元素,来自后一个数组的元素将被附加到前一个数组。
您可以使用 [[yii\helpers\UnsetArrayValue]] 对象来取消前一个数组的值或

View File

@ -2,7 +2,7 @@ Html 帮助类Html helper
=======================
任何一个 web 应用程序会生成很多 HTMl 超文本标记。如果超文本标记是静态的,
那么[将 PHP 和 HTML 混合在一个文件里](https://secure.php.net/manual/en/language.basic-syntax.phpmode.php)
那么[将 PHP 和 HTML 混合在一个文件里](https://www.php.net/manual/en/language.basic-syntax.phpmode.php)
这种做法是非常高效的。但是,如果这些超文本标记是动态生成的,那么如果没有额外的辅助工具,这个过程将会变得复杂。
Yii 通过 HTML 帮助类来提供生成超文本标记的方法。这个帮助类包含有一系列的用于处理通用的 HTML 标签和其属性以及内容的静态方法。
@ -147,8 +147,8 @@ Html::removeCssStyle($options, ['width', 'height']);
### 标签内容的转码和解码Encoding and Decoding Content <span id="encoding-and-decoding-content"></span>
为了让内容能够正确安全的显示,一些 HTML 特殊字符应该被转码。在 PHP 中,
这个操作由 [htmlspecialchars](https://secure.php.net/manual/en/function.htmlspecialchars.php) 和
[htmlspecialchars_decode](https://secure.php.net/manual/en/function.htmlspecialchars-decode.php) 完成。
这个操作由 [htmlspecialchars](https://www.php.net/manual/en/function.htmlspecialchars.php) 和
[htmlspecialchars_decode](https://www.php.net/manual/en/function.htmlspecialchars-decode.php) 完成。
直接使用这些方法的问题是,你总是需要指定转码所需的额外标志。由于标志一般总是不变的,而内容转码的过程为了避免一些安全问题,
需要和应用的默认过程匹配,
Yii 提供了两个简单可用的对 PHP 原生方法的封装:

View File

@ -29,15 +29,15 @@ Yii 2.0 需要 PHP 5.4 或更高版本,该版本相对于 Yii 1.1 所需求的
因此在语言层面上有很多的值得注意的不同之处。
下面是 PHP 层的主要变化汇总:
- [命名空间](https://secure.php.net/manual/zh/language.namespaces.php)
- [匿名函数](https://secure.php.net/manual/zh/functions.anonymous.php)
- [命名空间](https://www.php.net/manual/zh/language.namespaces.php)
- [匿名函数](https://www.php.net/manual/zh/functions.anonymous.php)
- 数组短语法 `[...元素...]` 用于取代 `array(...元素...)`
- 视图文件中的短格式 echo 标签 `<?=`,自 PHP 5.4 起总会被识别并且合法,无论 short_open_tag 的设置是什么,可以安全使用。
- [SPL 类和接口](https://secure.php.net/manual/zh/book.spl.php)
- [延迟静态绑定](https://secure.php.net/manual/zh/language.oop5.late-static-bindings.php)
- [日期和时间](https://secure.php.net/manual/zh/book.datetime.php)
- [Traits](https://secure.php.net/manual/zh/language.oop5.traits.php)
- [intl](https://secure.php.net/manual/zh/book.intl.php) Yii 2.0 使用 PHP 扩展 `intl`
- [SPL 类和接口](https://www.php.net/manual/zh/book.spl.php)
- [延迟静态绑定](https://www.php.net/manual/zh/language.oop5.late-static-bindings.php)
- [日期和时间](https://www.php.net/manual/zh/book.datetime.php)
- [Traits](https://www.php.net/manual/zh/language.oop5.traits.php)
- [intl](https://www.php.net/manual/zh/book.intl.php) Yii 2.0 使用 PHP 扩展 `intl`
来支持国际化的相关功能。

View File

@ -55,6 +55,6 @@ Yii 发行包中附带的系统要求检查器查看每个具体特性所需的
使用 Yii 需要对面向对象编程OOP有基本了解因为 Yii 是一个纯面向对象的框架。Yii 2.0 还使用了 PHP 的最新特性,
例如[命名空间](https://www.php.net/manual/en/language.namespaces.php)
和[Trait特质](https://secure.php.net/manual/en/language.oop5.traits.php)。
和[Trait特质](https://www.php.net/manual/en/language.oop5.traits.php)。
理解这些概念将有助于你更快地掌握 Yii 2.0。

View File

@ -189,7 +189,7 @@ JS
```
上面的示例代码使用 PHP
[Heredoc 语法](https://secure.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc) 以获得更好的可读性。
[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()`

View File

@ -175,7 +175,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 14:41:00 CEST'); // 14:41:00
如果你想要进行更高级的配置, 可以使用 [[yii\i18n\Formatter::numberFormatterOptions]] 和
[[yii\i18n\Formatter::numberFormatterTextOptions]]
[NumberFormatter class](https://secure.php.net/manual/en/class.numberformatter.php) 来进行格式化。
[NumberFormatter class](https://www.php.net/manual/en/class.numberformatter.php) 来进行格式化。
例如,为了调整小数部分的最大值和最小值,你可以配置 [[yii\i18n\Formatter::numberFormatterOptions]] 如下:
```php
@ -235,7 +235,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // output: 1 января 2014
默认配置下,当前 [[yii\i18n\Formatter::locale|locale]] 决定于 [[yii\base\Application::language]].
你可以覆盖 [[yii\i18n\Formatter::locale]] 属性来满足不同的需要。
> Note: Yii formatter 依赖 [PHP intl extension](https://secure.php.net/manual/en/book.intl.php)
> Note: Yii formatter 依赖 [PHP intl extension](https://www.php.net/manual/en/book.intl.php)
> 来进行本地数据格式化
> 因为不同的 ICU 库可能会导致不同的输出,所以请在你的所有机器上保持 ICU 库的一致性。
> 请参阅 [Setting up your PHP environment for internationalization](tutorial-i18n.md#setup-environment)。

View File

@ -7,7 +7,7 @@
为了即使在最糟糕的情况下(你的应用程序被破解了)也能给用户密码提供增强的安全性,
你需要使用一个能够对抗暴力破解攻击的哈希算法。目前最好的选择是 `bcrypt`。在 PHP 中,
你可以通过 [crypt 函数](https://secure.php.net/manual/en/function.crypt.php) 生成 `bcrypt` 哈希。
你可以通过 [crypt 函数](https://www.php.net/manual/en/function.crypt.php) 生成 `bcrypt` 哈希。
Yii 提供了两个帮助函数以让使用 `crypt` 来进行安全的哈希密码生成和验证更加容易。
当一个用户为第一次使用,提供了一个密码时(比如:注册时),密码就需要被哈希化。

View File

@ -139,7 +139,7 @@ Yii依靠 [Bower](http://bower.io/) 和/或 [NPM](https://www.npmjs.com/) 软件
------------
当安装完成之后,
或配置你的Web服务器(看下面的文章)或使用[内置Web Server](https://secure.php.net/manual/en/features.commandline.webserver.php)
或配置你的Web服务器(看下面的文章)或使用[内置Web Server](https://www.php.net/manual/en/features.commandline.webserver.php)
当在项目 `web` 目录下可以通过下面的命令:
```bash
@ -173,7 +173,7 @@ http://localhost:8080/
```
你需要配置好 PHP 安装环境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 或 以上版本。
如果应用需要用到数据库,那还要安装 [PDO PHP 扩展](https://secure.php.net/manual/zh/pdo.installation.php)
如果应用需要用到数据库,那还要安装 [PDO PHP 扩展](https://www.php.net/manual/zh/pdo.installation.php)
和相应的数据库驱动(例如访问 MySQL 数据库所需的 `pdo_mysql`)。
@ -234,7 +234,7 @@ DocumentRoot "path/to/basic/web"
### 推荐使用的 Nginx 配置 <span id="recommended-nginx-configuration"></span>
为了使用 [Nginx](http://wiki.nginx.org/),你应该已经将 PHP 安装为 [FPM SAPI](https://secure.php.net/install.fpm) 了。
为了使用 [Nginx](http://wiki.nginx.org/),你应该已经将 PHP 安装为 [FPM SAPI](https://www.php.net/install.fpm) 了。
你可以使用如下 Nginx 配置,将 `path/to/basic/web` 替换为实际的 `basic/web` 目录,
`mysite.local` 替换为实际的主机名以提供服务。

View File

@ -4,8 +4,8 @@ Yii 的学习曲线并不像其他 PHP 框架那样陡峭,但仍然需要一
## PHP
Yii 是一个 PHP 框架,因此请确保您 [阅读并理解语言参考](https://secure.php.net/manual/zh/langref.php)。
用 Yii 进行开发时,您将以面向对象的方式编写代码,因此请确保您熟悉[类与对象](https://secure.php.net/manual/en/language.oop5.basic.php)以及[命名空间](https://www.php.net/manual/en/language.namespaces.php)。
Yii 是一个 PHP 框架,因此请确保您 [阅读并理解语言参考](https://www.php.net/manual/zh/langref.php)。
用 Yii 进行开发时,您将以面向对象的方式编写代码,因此请确保您熟悉[类与对象](https://www.php.net/manual/en/language.oop5.basic.php)以及[命名空间](https://www.php.net/manual/en/language.namespaces.php)。
## 面向对象编程Object oriented programming

View File

@ -356,7 +356,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
该属性提供一种方式修改 PHP 运行环境中的默认时区,配置该属性本质上就是调用 PHP 函数
[date_default_timezone_set()](https://secure.php.net/manual/en/function.date-default-timezone-set.php)
[date_default_timezone_set()](https://www.php.net/manual/en/function.date-default-timezone-set.php)
例如:
```php

View File

@ -37,8 +37,8 @@ echo $model->name;
```
也可像访问数组单元项一样访问属性,这要感谢[[yii\base\Model]]支持
[ArrayAccess 数组访问](https://secure.php.net/manual/en/class.arrayaccess.php)
和 [ArrayIterator 数组迭代器](https://secure.php.net/manual/en/class.arrayiterator.php):
[ArrayAccess 数组访问](https://www.php.net/manual/en/class.arrayaccess.php)
和 [ArrayIterator 数组迭代器](https://www.php.net/manual/en/class.arrayiterator.php):
```php
$model = new \app\models\ContactForm;

View File

@ -67,7 +67,7 @@ use yii\helpers\Html;
注意和调用 [[yii\base\Widget::widget()]] 返回渲染结果不同,
调用 [[yii\base\Widget::begin()]] 方法返回一个可组建小部件内容的小部件实例。
> Note: 当调用 [[yii\base\Widget::end()]] 的时候,一些小部件将使用 [输出缓冲](https://secure.php.net/manual/en/book.outcontrol.php)
> Note: 当调用 [[yii\base\Widget::end()]] 的时候,一些小部件将使用 [输出缓冲](https://www.php.net/manual/en/book.outcontrol.php)
> 来调整封闭的内容。因此,当调用 [[yii\base\Widget::begin()]] 和
> [[yii\base\Widget::end()]] 时,最好在同一个视图文件里。
> 不遵循这个规则可能会导致意外的输出。

View File

@ -141,7 +141,7 @@ public function rules()
- `format`:被验证值的日期/时间格式。
这里的值可以是 [ICU manual](http://userguide.icu-project.org/formatparse/datetime#TOC-Date-Time-Format-Syntax) 中定义的日期时间格式。
另外还可以设置以 `php:` 开头的字符串用来表示PHP可以识别的日期时间格式。
`Datetime` 日期时间类。请参考 <https://secure.php.net/manual/en/datetime.createfromformat.php> 获取更多支持的格式。
`Datetime` 日期时间类。请参考 <https://www.php.net/manual/en/datetime.createfromformat.php> 获取更多支持的格式。
如果没有设置,默认值将使用 `Yii::$app->formatter->dateFormat` 中的值。
请参考 [[yii\validators\DateValidator::$format|API 文档]] 以获取更详细的说明。
@ -389,8 +389,8 @@ function foo($model, $attribute) {
> Tip: 如果你只是想要用 trim 处理下输入值,你可以直接用 [trim](#trim) 验证器的。
> Tip: 有许多的PHP方法结构和 `filter` 需要的结构一致。
> 比如使用类型转换方法 ([intval](https://secure.php.net/manual/en/function.intval.php)
> [boolval](https://secure.php.net/manual/en/function.boolval.php), ...) 来确保属性为指定的类型,
> 比如使用类型转换方法 ([intval](https://www.php.net/manual/en/function.intval.php)
> [boolval](https://www.php.net/manual/en/function.boolval.php), ...) 来确保属性为指定的类型,
> 你可以简单的设置这些方法名而不是重新定义一个匿名函数:
>
> ```php

View File

@ -231,7 +231,7 @@ $price = 100;
echo \Yii::t('app', 'Price: {0, number, currency}', $price);
```
> Note: 参数的格式化需要安装 [intl PHP 扩展](https://secure.php.net/manual/en/intro.intl.php)。
> Note: 参数的格式化需要安装 [intl PHP 扩展](https://www.php.net/manual/en/intro.intl.php)。
可以使用缩写的形式或完整的形式来格式化占位符:
@ -738,12 +738,12 @@ class TranslationEventHandler
## 设置 PHP 环境Setting Up PHP Environment <span id="setup-environment"></span>
Yii 使用 [PHP intl 扩展](https://secure.php.net/manual/en/book.intl.php) 来提供大多数 I18N 的功能,
Yii 使用 [PHP intl 扩展](https://www.php.net/manual/en/book.intl.php) 来提供大多数 I18N 的功能,
如日期和数字格式的 [[yii\i18n\Formatter]] 类和消息格式的 [[yii\i18n\MessageFormatter]] 类。
`intl` 扩展没有安装时,两者会提供一个回调机制。然而,该回调机制只适用于目标语言是英语的情况下。
因此,当 I18N 对你来说必不可少时,强烈建议你安装 `intl`
[PHP intl 扩展](https://secure.php.net/manual/en/book.intl.php) 是基于对于所有不同的语言环境
[PHP intl 扩展](https://www.php.net/manual/en/book.intl.php) 是基于对于所有不同的语言环境
提供格式化规则的 [ICU库](http://site.icu-project.org/)。
不同版本的 ICU 中可能会产生不同日期和数值格式的结果。
为了确保你的网站在所有环境产生相同的结果,

View File

@ -11,8 +11,8 @@
一个好的 PHP 环境是非常重要的。为了得到最大的性能,
- 使用最新稳定版本的 PHP。 PHP 的主要版本可能带来显著的性能提升。
- 启用字节码缓存 [Opcache](https://secure.php.net/opcache)PHP 5.5或更高版本)
或 [APC](https://secure.php.net/apc)
- 启用字节码缓存 [Opcache](https://www.php.net/opcache)PHP 5.5或更高版本)
或 [APC](https://www.php.net/apc)
PHP 5.4或更早版本)。字节码缓存省去了每次解析和加载 PHP 脚本所带来的开销。
- [Tune `realpath()` cache](https://github.com/samdark/realpath_cache_tuner).
@ -217,7 +217,7 @@ composer dumpautoload -o
- [Yii debug toolbar and debugger](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md)
- [Blackfire](https://blackfire.io/)
- [XHProf](https://secure.php.net/manual/en/book.xhprof.php)
- [XHProf](https://www.php.net/manual/en/book.xhprof.php)
- [XDebug profiler](http://xdebug.org/docs/profiler)
## 准备扩展应用程序