From 9bcc8c8e8349376ccf79e7393246de787dc9cdda Mon Sep 17 00:00:00 2001 From: Ihor Sychevskyi Date: Sat, 12 Feb 2022 18:43:48 +0200 Subject: [PATCH] update links (en) (#19222) Co-authored-by: Bizley --- docs/guide/caching-data.md | 6 +++--- docs/guide/concept-aliases.md | 2 +- docs/guide/concept-behaviors.md | 2 +- docs/guide/concept-di-container.md | 4 ++-- docs/guide/db-active-record.md | 2 +- docs/guide/db-dao.md | 8 ++++---- docs/guide/db-migrations.md | 2 +- docs/guide/db-query-builder.md | 2 +- docs/guide/input-validation.md | 2 +- docs/guide/output-client-scripts.md | 4 ++-- docs/guide/output-formatting.md | 2 +- docs/guide/rest-authentication.md | 4 ++-- docs/guide/rest-quick-start.md | 2 +- docs/guide/rest-resources.md | 2 +- docs/guide/rest-response-formatting.md | 2 +- docs/guide/rest-versioning.md | 2 +- docs/guide/runtime-responses.md | 6 +++--- docs/guide/runtime-sessions-cookies.md | 2 +- docs/guide/security-authorization.md | 2 +- docs/guide/security-best-practices.md | 2 +- docs/guide/start-forms.md | 2 +- docs/guide/start-hello.md | 2 +- docs/guide/start-installation.md | 8 ++++---- docs/guide/start-looking-ahead.md | 2 +- docs/guide/start-workflow.md | 2 +- docs/guide/structure-applications.md | 4 ++-- docs/guide/structure-assets.md | 2 +- docs/guide/structure-controllers.md | 2 +- docs/guide/structure-filters.md | 4 ++-- docs/guide/structure-models.md | 2 +- docs/guide/structure-overview.md | 2 +- docs/guide/structure-views.md | 4 ++-- docs/guide/test-acceptance.md | 4 ++-- docs/guide/test-fixtures.md | 2 +- docs/guide/test-functional.md | 4 ++-- docs/guide/test-unit.md | 6 +++--- docs/guide/tutorial-i18n.md | 4 ++-- docs/guide/tutorial-start-from-scratch.md | 2 +- docs/guide/tutorial-yii-integration.md | 2 +- 39 files changed, 60 insertions(+), 60 deletions(-) diff --git a/docs/guide/caching-data.md b/docs/guide/caching-data.md index fcea6e1..9665a60 100644 --- a/docs/guide/caching-data.md +++ b/docs/guide/caching-data.md @@ -124,13 +124,13 @@ Yii supports a wide range of cache storage. The following is a summary: and [memcached](https://www.php.net/manual/en/book.memcached.php) extensions. This option can be considered as the fastest one when dealing with cache in a distributed applications (e.g. with several servers, load balancers, etc.) -* [[yii\redis\Cache]]: implements a cache component based on [Redis](http://redis.io/) key-value store +* [[yii\redis\Cache]]: implements a cache component based on [Redis](https://redis.io/) key-value store (redis version 2.6.12 or higher is required). -* [[yii\caching\WinCache]]: uses PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension) +* [[yii\caching\WinCache]]: uses PHP [WinCache](https://iis.net/downloads/microsoft/wincache-extension) ([see also](https://www.php.net/manual/en/book.wincache.php)) extension. * [[yii\caching\XCache]] _(deprecated)_: uses PHP [XCache](https://en.wikipedia.org/wiki/List_of_PHP_accelerators#XCache) extension. * [[yii\caching\ZendDataCache]] _(deprecated)_: uses - [Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) + [Zend Data Cache](https://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) as the underlying caching medium. diff --git a/docs/guide/concept-aliases.md b/docs/guide/concept-aliases.md index 381ee86..955468f 100644 --- a/docs/guide/concept-aliases.md +++ b/docs/guide/concept-aliases.md @@ -116,7 +116,7 @@ Yii predefines a set of aliases to easily reference commonly used file paths and containing the [entry script](structure-entry-scripts.md). - `@web`, the base URL of the currently running Web application. It has the same value as [[yii\web\Request::baseUrl]]. - `@vendor`, the [[yii\base\Application::vendorPath|Composer vendor directory]]. Defaults to `@app/vendor`. -- `@bower`, the root directory that contains [bower packages](http://bower.io/). Defaults to `@vendor/bower`. +- `@bower`, the root directory that contains [bower packages](https://bower.io/). Defaults to `@vendor/bower`. - `@npm`, the root directory that contains [npm packages](https://www.npmjs.com/). Defaults to `@vendor/npm`. The `@yii` alias is defined when you include the `Yii.php` file in your [entry script](structure-entry-scripts.md). diff --git a/docs/guide/concept-behaviors.md b/docs/guide/concept-behaviors.md index e898133..ea085c8 100644 --- a/docs/guide/concept-behaviors.md +++ b/docs/guide/concept-behaviors.md @@ -2,7 +2,7 @@ Behaviors ========= Behaviors are instances of [[yii\base\Behavior]], or of a child class. Behaviors, also known -as [mixins](http://en.wikipedia.org/wiki/Mixin), allow you to enhance the functionality +as [mixins](https://en.wikipedia.org/wiki/Mixin), allow you to enhance the functionality of an existing [[yii\base\Component|component]] class without needing to change the class's inheritance. Attaching a behavior to a component "injects" the behavior's methods and properties into the component, making those methods and properties accessible as if they were defined in the component class itself. Moreover, a behavior can respond to the [events](concept-events.md) triggered by the component, which allows behaviors to also customize the normal diff --git a/docs/guide/concept-di-container.md b/docs/guide/concept-di-container.md index 0493bae..b48790a 100644 --- a/docs/guide/concept-di-container.md +++ b/docs/guide/concept-di-container.md @@ -2,7 +2,7 @@ Dependency Injection Container ============================== A dependency injection (DI) container is an object that knows how to instantiate and configure objects and -all their dependent objects. [Martin Fowler's article](http://martinfowler.com/articles/injection.html) has well +all their dependent objects. [Martin Fowler's article](https://martinfowler.com/articles/injection.html) has well explained why DI container is useful. Here we will mainly explain the usage of the DI container provided by Yii. @@ -544,7 +544,7 @@ Summary Both dependency injection and [service locator](concept-service-locator.md) are popular design patterns that allow building software in a loosely-coupled and more testable fashion. We highly recommend you to read -[Martin's article](http://martinfowler.com/articles/injection.html) to get a deeper understanding of +[Martin's article](https://martinfowler.com/articles/injection.html) to get a deeper understanding of dependency injection and service locator. Yii implements its [service locator](concept-service-locator.md) on top of the dependency injection (DI) container. diff --git a/docs/guide/db-active-record.md b/docs/guide/db-active-record.md index 8dfa6ec..5732856 100644 --- a/docs/guide/db-active-record.md +++ b/docs/guide/db-active-record.md @@ -1,7 +1,7 @@ Active Record ============= -[Active Record](http://en.wikipedia.org/wiki/Active_record_pattern) provides an object-oriented interface +[Active Record](https://en.wikipedia.org/wiki/Active_record_pattern) provides an object-oriented interface for accessing and manipulating data stored in databases. An Active Record class is associated with a database table, an Active Record instance corresponds to a row of that table, and an *attribute* of an Active Record instance represents the value of a particular column in that row. Instead of writing raw SQL statements, diff --git a/docs/guide/db-dao.md b/docs/guide/db-dao.md index 1edf541..81026dd 100644 --- a/docs/guide/db-dao.md +++ b/docs/guide/db-dao.md @@ -11,11 +11,11 @@ you have to take extra effort to create a database-agnostic application. In Yii 2.0, DAO supports the following databases out of the box: -- [MySQL](http://www.mysql.com/) +- [MySQL](https://www.mysql.com/) - [MariaDB](https://mariadb.com/) -- [SQLite](http://sqlite.org/) -- [PostgreSQL](http://www.postgresql.org/): version 8.4 or higher -- [CUBRID](http://www.cubrid.org/): version 9.3 or higher. +- [SQLite](https://sqlite.org/) +- [PostgreSQL](https://www.postgresql.org/): version 8.4 or higher +- [CUBRID](https://www.cubrid.org/): version 9.3 or higher. - [Oracle](https://www.oracle.com/database/) - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): version 2008 or higher. diff --git a/docs/guide/db-migrations.md b/docs/guide/db-migrations.md index 326e0f5..44f87aa 100644 --- a/docs/guide/db-migrations.md +++ b/docs/guide/db-migrations.md @@ -685,7 +685,7 @@ in `safeDown()`. In the above example we first create the table and then insert in `safeDown()` we first delete the row and then drop the table. > Note: Not all DBMS support transactions. And some DB queries cannot be put into a transaction. For some examples, - please refer to [implicit commit](http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). If this is the case, + please refer to [implicit commit](https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). If this is the case, you should still implement `up()` and `down()`, instead. diff --git a/docs/guide/db-query-builder.md b/docs/guide/db-query-builder.md index 5d9b6e0..f2d4248 100644 --- a/docs/guide/db-query-builder.md +++ b/docs/guide/db-query-builder.md @@ -298,7 +298,7 @@ the operator can be one of the following: should be applied. Note that when using an escape mapping (or the third operand is not provided), the values will be automatically enclosed within a pair of percentage characters. - > Note: When using PostgreSQL you may also use [`ilike`](http://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE) + > Note: When using PostgreSQL you may also use [`ilike`](https://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE) > instead of `like` for case-insensitive matching. - `or like`: similar to the `like` operator except that `OR` is used to concatenate the `LIKE` diff --git a/docs/guide/input-validation.md b/docs/guide/input-validation.md index a77e873..f02ffd2 100644 --- a/docs/guide/input-validation.md +++ b/docs/guide/input-validation.md @@ -748,7 +748,7 @@ JS; ### Deferred Validation -If you need to perform asynchronous client-side validation, you can create [Deferred objects](http://api.jquery.com/category/deferred-object/). +If you need to perform asynchronous client-side validation, you can create [Deferred objects](https://api.jquery.com/category/deferred-object/). For example, to perform a custom AJAX validation, you can use the following code: ```php diff --git a/docs/guide/output-client-scripts.md b/docs/guide/output-client-scripts.md index d12e3e3..8d12a5a 100644 --- a/docs/guide/output-client-scripts.md +++ b/docs/guide/output-client-scripts.md @@ -35,10 +35,10 @@ determines at which position the script should be inserted into the page. Possib - [[yii\web\View::POS_HEAD|View::POS_HEAD]] for head section. - [[yii\web\View::POS_BEGIN|View::POS_BEGIN]] for right after opening ``. - [[yii\web\View::POS_END|View::POS_END]] for right before closing ``. -- [[yii\web\View::POS_READY|View::POS_READY]] for executing code on the [document `ready` event](http://learn.jquery.com/using-jquery-core/document-ready/). +- [[yii\web\View::POS_READY|View::POS_READY]] for executing code on the [document `ready` event](https://learn.jquery.com/using-jquery-core/document-ready/). This will automatically register [[yii\web\JqueryAsset|jQuery]] and wrap the code into the appropriate jQuery code. This is the default position. - [[yii\web\View::POS_LOAD|View::POS_LOAD]] for executing code on the - [document `load` event](http://learn.jquery.com/using-jquery-core/document-ready/). Same as the above, this will also register [[yii\web\JqueryAsset|jQuery]] automatically. + [document `load` event](https://learn.jquery.com/using-jquery-core/document-ready/). Same as the above, this will also register [[yii\web\JqueryAsset|jQuery]] automatically. The last argument is a unique script ID that is used to identify the script code block and replace an existing one with the same ID instead of adding a new one. If you don't provide it, the JS code itself will be used as the ID. It is used to avoid registration of the same code muliple times. diff --git a/docs/guide/output-formatting.md b/docs/guide/output-formatting.md index de8497a..7db8ec9 100644 --- a/docs/guide/output-formatting.md +++ b/docs/guide/output-formatting.md @@ -75,7 +75,7 @@ The formatter supports the following output formats that are related with date a - [[yii\i18n\Formatter::asDate()|date]]: the value is formatted as a date, e.g. `January 01, 2014`. - [[yii\i18n\Formatter::asTime()|time]]: the value is formatted as a time, e.g. `14:23`. - [[yii\i18n\Formatter::asDatetime()|datetime]]: the value is formatted as date and time, e.g. `January 01, 2014 14:23`. -- [[yii\i18n\Formatter::asTimestamp()|timestamp]]: the value is formatted as a [unix timestamp](http://en.wikipedia.org/wiki/Unix_time), e.g. `1412609982`. +- [[yii\i18n\Formatter::asTimestamp()|timestamp]]: the value is formatted as a [unix timestamp](https://en.wikipedia.org/wiki/Unix_time), e.g. `1412609982`. - [[yii\i18n\Formatter::asRelativeTime()|relativeTime]]: the value is formatted as the time interval between a date and now in human readable form e.g. `1 hour ago`. - [[yii\i18n\Formatter::asDuration()|duration]]: the value is formatted as a duration in human readable format. e.g. `1 day, 2 minutes`. diff --git a/docs/guide/rest-authentication.md b/docs/guide/rest-authentication.md index 78b2213..87487b5 100644 --- a/docs/guide/rest-authentication.md +++ b/docs/guide/rest-authentication.md @@ -10,14 +10,14 @@ via HTTPS to prevent man-in-the-middle (MitM) attacks**. There are different ways to send an access token: -* [HTTP Basic Auth](http://en.wikipedia.org/wiki/Basic_access_authentication): the access token +* [HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication): the access token is sent as the username. This should only be used when an access token can be safely stored on the API consumer side. For example, the API consumer is a program running on a server. * Query parameter: the access token is sent as a query parameter in the API URL, e.g., `https://example.com/users?access-token=xxxxxxxx`. Because most Web servers will keep query parameters in server logs, this approach should be mainly used to serve `JSONP` requests which cannot use HTTP headers to send access tokens. -* [OAuth 2](http://oauth.net/2/): the access token is obtained by the consumer from an authorization +* [OAuth 2](https://oauth.net/2/): the access token is obtained by the consumer from an authorization server and sent to the API server via [HTTP Bearer Tokens](https://datatracker.ietf.org/doc/html/rfc6750), according to the OAuth2 protocol. diff --git a/docs/guide/rest-quick-start.md b/docs/guide/rest-quick-start.md index d1cc8ad..b9cd113 100644 --- a/docs/guide/rest-quick-start.md +++ b/docs/guide/rest-quick-start.md @@ -9,7 +9,7 @@ In particular, Yii supports the following features about RESTful APIs: * Customizable object serialization with support for selectable output fields; * Proper formatting of collection data and validation errors; * Collection pagination, filtering and sorting; -* Support for [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS); +* Support for [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS); * Efficient routing with proper HTTP verb check; * Built-in support for the `OPTIONS` and `HEAD` verbs; * Authentication and authorization; diff --git a/docs/guide/rest-resources.md b/docs/guide/rest-resources.md index 164cbf5..7b1f72e 100644 --- a/docs/guide/rest-resources.md +++ b/docs/guide/rest-resources.md @@ -140,7 +140,7 @@ the request with `http://localhost/users?fields=id,email&expand=profile` may ret ## Links -[HATEOAS](http://en.wikipedia.org/wiki/HATEOAS), an abbreviation for Hypermedia as the Engine of Application State, +[HATEOAS](https://en.wikipedia.org/wiki/HATEOAS), an abbreviation for Hypermedia as the Engine of Application State, promotes that RESTful APIs should return information that allows clients to discover actions supported for the returned resources. The key of HATEOAS is to return a set of hyperlinks with relation information when resource data are served by the APIs. diff --git a/docs/guide/rest-response-formatting.md b/docs/guide/rest-response-formatting.md index bfc5955..f6c4a23 100644 --- a/docs/guide/rest-response-formatting.md +++ b/docs/guide/rest-response-formatting.md @@ -5,7 +5,7 @@ When handling a RESTful API request, an application usually takes the following with response formatting: 1. Determine various factors that may affect the response format, such as media type, language, version, etc. - This process is also known as [content negotiation](http://en.wikipedia.org/wiki/Content_negotiation). + This process is also known as [content negotiation](https://en.wikipedia.org/wiki/Content_negotiation). 2. Convert resource objects into arrays, as described in the [Resources](rest-resources.md) section. This is done by [[yii\rest\Serializer]]. 3. Convert arrays into a string in the format as determined by the content negotiation step. This is diff --git a/docs/guide/rest-versioning.md b/docs/guide/rest-versioning.md index 946f2f9..4a90c3e 100644 --- a/docs/guide/rest-versioning.md +++ b/docs/guide/rest-versioning.md @@ -5,7 +5,7 @@ A good API is *versioned*: changes and new features are implemented in new versi code, APIs are meant to be used by clients beyond your control. For this reason, backward compatibility (BC) of the APIs should be maintained whenever possible. If a change that may break BC is necessary, you should introduce it in new version of the API, and bump up the version number. Existing clients can continue to use the old, working version of the API; and new or upgraded clients can get the new functionality in the new API version. -> Tip: Refer to [Semantic Versioning](http://semver.org/) +> Tip: Refer to [Semantic Versioning](https://semver.org/) for more information on designing API version numbers. One common way to implement API versioning is to embed the version number in the API URLs. diff --git a/docs/guide/runtime-responses.md b/docs/guide/runtime-responses.md index 9934ca3..9e8efd0 100644 --- a/docs/guide/runtime-responses.md +++ b/docs/guide/runtime-responses.md @@ -230,9 +230,9 @@ can terminate earlier while the Web server is sending the file. To use this feat the [[yii\web\Response::xSendFile()]]. The following list summarizes how to enable the `X-Sendfile` feature for some popular Web servers: -- Apache: [X-Sendfile](http://tn123.org/mod_xsendfile) -- Lighttpd v1.4: [X-LIGHTTPD-send-file](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) -- Lighttpd v1.5: [X-Sendfile](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) +- Apache: [X-Sendfile](https://tn123.org/mod_xsendfile) +- Lighttpd v1.4: [X-LIGHTTPD-send-file](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) +- Lighttpd v1.5: [X-Sendfile](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) - Nginx: [X-Accel-Redirect](https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/) - Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile) diff --git a/docs/guide/runtime-sessions-cookies.md b/docs/guide/runtime-sessions-cookies.md index e53adc9..4d7c267 100644 --- a/docs/guide/runtime-sessions-cookies.md +++ b/docs/guide/runtime-sessions-cookies.md @@ -131,7 +131,7 @@ session classes implementing different session storage: * [[yii\web\DbSession]]: stores session data in a database table. * [[yii\web\CacheSession]]: stores session data in a cache with the help of a configured [cache component](caching-data.md#cache-components). -* [[yii\redis\Session]]: stores session data using [redis](http://redis.io/) as the storage medium. +* [[yii\redis\Session]]: stores session data using [redis](https://redis.io/) as the storage medium. * [[yii\mongodb\Session]]: stores session data in a [MongoDB](https://www.mongodb.com/). All these session classes support the same set of API methods. As a result, you can switch to a different diff --git a/docs/guide/security-authorization.md b/docs/guide/security-authorization.md index 83563e4..52ebc4b 100644 --- a/docs/guide/security-authorization.md +++ b/docs/guide/security-authorization.md @@ -156,7 +156,7 @@ class SiteController extends Controller ## Role Based Access Control (RBAC) Role-Based Access Control (RBAC) provides a simple yet powerful centralized access control. Please refer to -the [Wikipedia](http://en.wikipedia.org/wiki/Role-based_access_control) for details about comparing RBAC +the [Wikipedia](https://en.wikipedia.org/wiki/Role-based_access_control) for details about comparing RBAC with other more traditional access control schemes. Yii implements a General Hierarchical RBAC, following the [NIST RBAC model](https://csrc.nist.gov/CSRC/media/Publications/conference-paper/1992/10/13/role-based-access-controls/documents/ferraiolo-kuhn-92.pdf). diff --git a/docs/guide/security-best-practices.md b/docs/guide/security-best-practices.md index 2724ce7..1fb59e4 100644 --- a/docs/guide/security-best-practices.md +++ b/docs/guide/security-best-practices.md @@ -330,7 +330,7 @@ or explicitly set or filter the value by setting the [[yii\web\Request::setHostI For more information about the server configuration, please refer to the documentation of your webserver: -- Apache 2: +- Apache 2: - Nginx: If you don't have access to the server configuration, you can setup [[yii\filters\HostControl]] filter at diff --git a/docs/guide/start-forms.md b/docs/guide/start-forms.md index 3cba0c5..ea4aaa9 100644 --- a/docs/guide/start-forms.md +++ b/docs/guide/start-forms.md @@ -130,7 +130,7 @@ be rendered, wherein the HTML form will be shown, along with any validation erro > Note: In this very simple example we just render the confirmation page upon valid data submission. In practice, you should consider using [[yii\web\Controller::refresh()|refresh()]] or [[yii\web\Controller::redirect()|redirect()]] - to avoid [form resubmission problems](http://en.wikipedia.org/wiki/Post/Redirect/Get). + to avoid [form resubmission problems](https://en.wikipedia.org/wiki/Post/Redirect/Get). Creating Views diff --git a/docs/guide/start-hello.md b/docs/guide/start-hello.md index c99bf55..8a44845 100644 --- a/docs/guide/start-hello.md +++ b/docs/guide/start-hello.md @@ -88,7 +88,7 @@ is called in an action, it will look for a PHP file named as `views/ControllerID Note that in the above code, the `message` parameter is [[yii\helpers\Html::encode()|HTML-encoded]] before being printed. This is necessary as the parameter comes from an end user, making it vulnerable to -[cross-site scripting (XSS) attacks](http://en.wikipedia.org/wiki/Cross-site_scripting) by embedding +[cross-site scripting (XSS) attacks](https://en.wikipedia.org/wiki/Cross-site_scripting) by embedding malicious JavaScript code in the parameter. Naturally, you may put more content in the `say` view. The content can consist of HTML tags, plain text, and even PHP statements. diff --git a/docs/guide/start-installation.md b/docs/guide/start-installation.md index 7a1c43d..727c7f4 100644 --- a/docs/guide/start-installation.md +++ b/docs/guide/start-installation.md @@ -114,7 +114,7 @@ But there are other installation options available: Installing Assets ----------------- -Yii relies on [Bower](http://bower.io/) and/or [NPM](https://www.npmjs.com/) packages for the asset (CSS and JavaScript) libraries installation. +Yii relies on [Bower](https://bower.io/) and/or [NPM](https://www.npmjs.com/) packages for the asset (CSS and JavaScript) libraries installation. It uses Composer to obtain these libraries, allowing PHP and CSS/JavaScript package versions to resolve at the same time. This can be achieved either by usage of [asset-packagist.org](https://asset-packagist.org) or [composer asset plugin](https://github.com/fxpio/composer-asset-plugin). Please refer to [Assets documentation](structure-assets.md) for more details. @@ -184,9 +184,9 @@ Configuring Web Servers of deploying it to a production server. The application installed according to the above instructions should work out of box with either -an [Apache HTTP server](http://httpd.apache.org/) or an [Nginx HTTP server](http://nginx.org/), on +an [Apache HTTP server](https://httpd.apache.org/) or an [Nginx HTTP server](https://nginx.org/), on Windows, Mac OS X, or Linux running PHP 5.4 or higher. Yii 2.0 is also compatible with facebook's -[HHVM](http://hhvm.com/). However, there are some edge cases where HHVM behaves different than native +[HHVM](https://hhvm.com/). However, there are some edge cases where HHVM behaves different than native PHP, so you have to take some extra care when using HHVM. On a production server, you may want to configure your Web server so that the application can be accessed @@ -236,7 +236,7 @@ DocumentRoot "path/to/basic/web" ### Recommended Nginx Configuration -To use [Nginx](http://wiki.nginx.org/), you should install PHP as an [FPM SAPI](https://www.php.net/install.fpm). +To use [Nginx](https://wiki.nginx.org/), you should install PHP as an [FPM SAPI](https://www.php.net/install.fpm). You may use the following Nginx configuration, replacing `path/to/basic/web` with the actual path for `basic/web` and `mysite.test` with the actual hostname to serve. diff --git a/docs/guide/start-looking-ahead.md b/docs/guide/start-looking-ahead.md index 621d91d..e8c732f 100644 --- a/docs/guide/start-looking-ahead.md +++ b/docs/guide/start-looking-ahead.md @@ -33,4 +33,4 @@ This section will summarize the Yii resources available to help you be more prod - Facebook: - Twitter: - LinkedIn: - - Stackoverflow: + - Stackoverflow: diff --git a/docs/guide/start-workflow.md b/docs/guide/start-workflow.md index 454b07e..07db9e5 100644 --- a/docs/guide/start-workflow.md +++ b/docs/guide/start-workflow.md @@ -63,7 +63,7 @@ basic/ application base path In general, the files in the application can be divided into two types: those under `basic/web` and those under other directories. The former can be directly accessed via HTTP (i.e., in a browser), while the latter can not and should not be. -Yii implements the [model-view-controller (MVC)](http://wikipedia.org/wiki/Model-view-controller) architectural pattern, +Yii implements the [model-view-controller (MVC)](https://wikipedia.org/wiki/Model-view-controller) architectural pattern, which is reflected in the above directory organization. The `models` directory contains all [model classes](structure-models.md), the `views` directory contains all [view scripts](structure-views.md), and the `controllers` directory contains all [controller classes](structure-controllers.md). diff --git a/docs/guide/structure-applications.md b/docs/guide/structure-applications.md index 748b667..1f0eaf4 100644 --- a/docs/guide/structure-applications.md +++ b/docs/guide/structure-applications.md @@ -275,7 +275,7 @@ including message translation, date formatting, number formatting, etc. For exam will use this property value by default to determine in which language the calendar should be displayed and how the date should be formatted. -It is recommended that you specify a language in terms of an [IETF language tag](http://en.wikipedia.org/wiki/IETF_language_tag). +It is recommended that you specify a language in terms of an [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). For example, `en` stands for English, while `en-US` stands for English (United States). More details about this property can be found in the [Internationalization](tutorial-i18n.md) section. @@ -347,7 +347,7 @@ This property specifies the language that the application code is written in. Th meaning English (United States). You should configure this property if the text content in your code is not in English. Like the [language](#language) property, you should configure this property in terms of -an [IETF language tag](http://en.wikipedia.org/wiki/IETF_language_tag). For example, `en` stands for English, +an [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). For example, `en` stands for English, while `en-US` stands for English (United States). More details about this property can be found in the [Internationalization](tutorial-i18n.md) section. diff --git a/docs/guide/structure-assets.md b/docs/guide/structure-assets.md index 336c135..8dc3976 100644 --- a/docs/guide/structure-assets.md +++ b/docs/guide/structure-assets.md @@ -79,7 +79,7 @@ explanation about the properties of [[yii\web\AssetBundle]] can be found in the can be determined by prepending [[yii\web\AssetManager::basePath]] to the relative path, and the actual URL of the file can be determined by prepending [[yii\web\AssetManager::baseUrl]] to the relative path. - an absolute URL representing an external JavaScript file. For example, - `http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` or + `https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` or `//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js`. * [[yii\web\AssetBundle::depends|depends]]: an array listing the names of the asset bundles that this bundle depends on (to be explained shortly). diff --git a/docs/guide/structure-controllers.md b/docs/guide/structure-controllers.md index ee1708b..7bee33d 100644 --- a/docs/guide/structure-controllers.md +++ b/docs/guide/structure-controllers.md @@ -1,7 +1,7 @@ Controllers =========== -Controllers are part of the [MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architecture. +Controllers are part of the [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architecture. They are objects of classes extending from [[yii\base\Controller]] and are responsible for processing requests and generating responses. In particular, after taking over the control from [applications](structure-applications.md), controllers will analyze incoming request data, pass them to [models](structure-models.md), inject model results diff --git a/docs/guide/structure-filters.md b/docs/guide/structure-filters.md index 2ede0f0..8fb6d37 100644 --- a/docs/guide/structure-filters.md +++ b/docs/guide/structure-filters.md @@ -142,7 +142,7 @@ For more details about access control in general, please refer to the [Authoriza ### Authentication Method Filters Authentication method filters are used to authenticate a user using various methods, such as -[HTTP Basic Auth](http://en.wikipedia.org/wiki/Basic_access_authentication), [OAuth 2](http://oauth.net/2/). +[HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), [OAuth 2](https://oauth.net/2/). These filter classes are all under the `yii\filters\auth` namespace. The following example shows how you can use [[yii\filters\auth\HttpBasicAuth]] to authenticate a user using @@ -289,7 +289,7 @@ Please refer to the [Page Caching](caching-page.md) section for more details abo ### [[yii\filters\RateLimiter|RateLimiter]] -RateLimiter implements a rate limiting algorithm based on the [leaky bucket algorithm](http://en.wikipedia.org/wiki/Leaky_bucket). +RateLimiter implements a rate limiting algorithm based on the [leaky bucket algorithm](https://en.wikipedia.org/wiki/Leaky_bucket). It is primarily used in implementing RESTful APIs. Please refer to the [Rate Limiting](rest-rate-limiting.md) section for details about using this filter. diff --git a/docs/guide/structure-models.md b/docs/guide/structure-models.md index 4fb65e1..928df70 100644 --- a/docs/guide/structure-models.md +++ b/docs/guide/structure-models.md @@ -1,7 +1,7 @@ Models ====== -Models are part of the [MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architecture. +Models are part of the [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architecture. They are objects representing business data, rules and logic. You can create model classes by extending [[yii\base\Model]] or its child classes. The base class diff --git a/docs/guide/structure-overview.md b/docs/guide/structure-overview.md index 3c535d5..1110f61 100644 --- a/docs/guide/structure-overview.md +++ b/docs/guide/structure-overview.md @@ -1,7 +1,7 @@ Overview ======== -Yii applications are organized according to the [model-view-controller (MVC)](http://wikipedia.org/wiki/Model-view-controller) +Yii applications are organized according to the [model-view-controller (MVC)](https://wikipedia.org/wiki/Model-view-controller) architectural pattern. [Models](structure-models.md) represent data, business logic and rules; [views](structure-views.md) are output representation of models; and [controllers](structure-controllers.md) take input and convert it to commands for [models](structure-models.md) and [views](structure-views.md). diff --git a/docs/guide/structure-views.md b/docs/guide/structure-views.md index 9e37a89..12254ce 100644 --- a/docs/guide/structure-views.md +++ b/docs/guide/structure-views.md @@ -1,7 +1,7 @@ Views ===== -Views are part of the [MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architecture. +Views are part of the [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architecture. They are code responsible for presenting data to end users. In a Web application, views are usually created in terms of *view templates* which are PHP script files containing mainly HTML code and presentational PHP code. They are managed by the [[yii\web\View|view]] [application component](structure-application-components.md) which provides commonly used methods @@ -52,7 +52,7 @@ or other objects which trigger the [view rendering](#rendering-views). When creating views that generate HTML pages, it is important that you encode and/or filter the data coming from end users before presenting them. Otherwise, your application may be subject to -[cross-site scripting](http://en.wikipedia.org/wiki/Cross-site_scripting) attacks. +[cross-site scripting](https://en.wikipedia.org/wiki/Cross-site_scripting) attacks. To display a plain text, encode it first by calling [[yii\helpers\Html::encode()]]. For example, the following code encodes the user name before displaying it: diff --git a/docs/guide/test-acceptance.md b/docs/guide/test-acceptance.md index 9f5fb1b..189486d 100644 --- a/docs/guide/test-acceptance.md +++ b/docs/guide/test-acceptance.md @@ -6,8 +6,8 @@ a real browser. In both cases the browsers are communicating via HTTP so applica Acceptance testing is implemented with the help of Codeception framework which has a nice documentation about it: -- [Codeception for Yii framework](http://codeception.com/for/yii) -- [Codeception Acceptance Tests](http://codeception.com/docs/03-AcceptanceTests) +- [Codeception for Yii framework](https://codeception.com/for/yii) +- [Codeception Acceptance Tests](https://codeception.com/docs/03-AcceptanceTests) ## Running basic and advanced template tests diff --git a/docs/guide/test-fixtures.md b/docs/guide/test-fixtures.md index 73d1403..85a191c 100644 --- a/docs/guide/test-fixtures.md +++ b/docs/guide/test-fixtures.md @@ -107,7 +107,7 @@ In the above, we have shown how to define a fixture about a DB table. To define ## Using Fixtures -If you are using [Codeception](http://codeception.com/) to test your code, you can use the built-in support for loading +If you are using [Codeception](https://codeception.com/) to test your code, you can use the built-in support for loading and accessing fixtures. If you are using other testing frameworks, you may use [[yii\test\FixtureTrait]] in your diff --git a/docs/guide/test-functional.md b/docs/guide/test-functional.md index 0c300fb..908762f 100644 --- a/docs/guide/test-functional.md +++ b/docs/guide/test-functional.md @@ -11,8 +11,8 @@ JavaScript. Functional testing is implemented with the help of Codeception framework which has a nice documentation about it: -- [Codeception for Yii framework](http://codeception.com/for/yii) -- [Codeception Functional Tests](http://codeception.com/docs/04-FunctionalTests) +- [Codeception for Yii framework](https://codeception.com/for/yii) +- [Codeception Functional Tests](https://codeception.com/docs/04-FunctionalTests) ## Running basic and advanced template tests diff --git a/docs/guide/test-unit.md b/docs/guide/test-unit.md index 0159d49..d948147 100644 --- a/docs/guide/test-unit.md +++ b/docs/guide/test-unit.md @@ -7,9 +7,9 @@ classes being tested. Unit testing in Yii is built on top of PHPUnit and, optionally, Codeception so it's recommended to go through their docs: -- [Codeception for Yii framework](http://codeception.com/for/yii) -- [Codeception Unit Tests](http://codeception.com/docs/05-UnitTests) -- [PHPUnit docs starting from chapter 2](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html) +- [Codeception for Yii framework](https://codeception.com/for/yii) +- [Codeception Unit Tests](https://codeception.com/docs/05-UnitTests) +- [PHPUnit docs starting from chapter 2](https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html) ## Running basic and advanced template tests diff --git a/docs/guide/tutorial-i18n.md b/docs/guide/tutorial-i18n.md index 5d477e9..1bfbb56 100644 --- a/docs/guide/tutorial-i18n.md +++ b/docs/guide/tutorial-i18n.md @@ -19,7 +19,7 @@ For example, the ID `en-US` stands for the locale of "English and the United Sta For consistency reasons, all locale IDs used in Yii applications should be canonicalized to the format of `ll-CC`, where `ll` is a two- or three-letter lowercase language code according to -[ISO-639](http://www.loc.gov/standards/iso639-2/) and `CC` is a two-letter country code according to +[ISO-639](https://www.loc.gov/standards/iso639-2/) and `CC` is a two-letter country code according to [ISO-3166](https://en.wikipedia.org/wiki/ISO_3166-1#Current_codes). More details about locale can be found in the [documentation of the ICU project](https://unicode-org.github.io/icu/userguide/locale/#the-locale-concept). @@ -416,7 +416,7 @@ while `one` matches `21` or `101`: These `other`, `few`, `many` and other special argument names vary depending on language. To learn which ones you should specify for a particular locale, please refer to "Plural Rules, Cardinal" at [https://intl.rmcreative.ru/](https://intl.rmcreative.ru/). -Alternatively you can refer to [rules reference at unicode.org](http://cldr.unicode.org/index/cldr-spec/plural-rules). +Alternatively you can refer to [rules reference at unicode.org](https://cldr.unicode.org/index/cldr-spec/plural-rules). > Note: The above example Russian message is mainly used as a translated message, not an original message, unless you set > the [[yii\base\Application::$sourceLanguage|source language]] of your application as `ru-RU` and translating from Russian. diff --git a/docs/guide/tutorial-start-from-scratch.md b/docs/guide/tutorial-start-from-scratch.md index 9249331..033d01a 100644 --- a/docs/guide/tutorial-start-from-scratch.md +++ b/docs/guide/tutorial-start-from-scratch.md @@ -42,7 +42,7 @@ Make a Package -------------- With the template defined, create a Git repository from it, and push your files there. If you're going to open source -your template, [Github](http://github.com) is the best place to host it. If you intend to keep your template +your template, [Github](https://github.com) is the best place to host it. If you intend to keep your template non-collaborative, any Git repository site will do. Next, you need to register your package for Composer's sake. For public templates, the package should be registered diff --git a/docs/guide/tutorial-yii-integration.md b/docs/guide/tutorial-yii-integration.md index f00d8e0..e1bd6d5 100644 --- a/docs/guide/tutorial-yii-integration.md +++ b/docs/guide/tutorial-yii-integration.md @@ -41,7 +41,7 @@ If a library carries its own class autoloader, you may install it in the [entry of your application. It is recommended the installation is done before you include the `Yii.php` file so that the Yii class autoloader can take precedence in autoloading classes. -If a library does not provide a class autoloader, but its class naming follows [PSR-4](http://www.php-fig.org/psr/psr-4/), +If a library does not provide a class autoloader, but its class naming follows [PSR-4](https://www.php-fig.org/psr/psr-4/), you may use the Yii class autoloader to autoload the classes. All you need to do is just to declare a [root alias](concept-aliases.md#defining-aliases) for each root namespace used in its classes. For example, assume you have installed a library in the directory `vendor/foo/bar`, and the library classes are under