From aa5b546e2bf1f36285be4308751251cc79677d3f Mon Sep 17 00:00:00 2001 From: Phan Xuan Dung Date: Mon, 4 May 2015 14:31:59 +0700 Subject: [PATCH 01/48] Readme Update --- docs/guide-vi/README.md | 199 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 docs/guide-vi/README.md diff --git a/docs/guide-vi/README.md b/docs/guide-vi/README.md new file mode 100644 index 00000000000..eda6d25fc2f --- /dev/null +++ b/docs/guide-vi/README.md @@ -0,0 +1,199 @@ +The Definitive Guide to Yii 2.0 +=============================== + +Các hướng dẫn được phát hành theo [Các điều khoản về tài liệu Yii](http://www.yiiframework.com/doc/terms/). + +Giữ toàn quyền. + +2014 (c) Yii Software LLC. + + +Giới thiệu +------------ + +* [Về Yii](intro-yii.md) +* [Nâng cấp lên từ phiên bản 1.1](intro-upgrade-from-v1.md) + + +Bắt đầu +--------------- + +* [Cài đặt Yii](start-installation.md) +* [Thực hiện chạy ứng dụng](start-workflow.md) +* [Viết lời chào đầu tiên](start-hello.md) +* [Làm việc với form Forms](start-forms.md) +* [Làm việc với Databases](start-databases.md) +* [Sử dụng Gii để sinh code](start-gii.md) +* [Mức cao hơn](start-looking-ahead.md) + + +Cấu trúc ứng dụng (Application Structure) +--------------------- + +* [Tổng quan về kiến trúc ứng dụng](structure-overview.md) +* [Mục Scripts](structure-entry-scripts.md) +* [Ứng dụng](structure-applications.md) +* [Các thành phần ứng dụng](structure-application-components.md) +* [Bộ điều khiển (Controllers)](structure-controllers.md) +* [Models](structure-models.md) +* [Views](structure-views.md) +* [Modules](structure-modules.md) +* [Filters](structure-filters.md) +* [Widgets](structure-widgets.md) +* [Assets](structure-assets.md) +* [Phần mở rộng (Extensions)](structure-extensions.md) + + +Yêu cầu xử lý +----------------- + +* [Tổng quan](runtime-overview.md) +* [Bootstrapping](runtime-bootstrapping.md) +* [Routing và URL Creation](runtime-routing.md) +* [Yêu cầu (Requests)](runtime-requests.md) +* [Responses](runtime-responses.md) +* [Sessions và Cookies](runtime-sessions-cookies.md) +* [Xử lý lỗi (Handling Error)](runtime-handling-errors.md) +* [Logging](runtime-logging.md) + + +Các khái niệm chính +------------ + +* [Thành phần (Components)](concept-components.md) +* [Thuộc tính (Properties)](concept-properties.md) +* [Sự kiện (Events)](concept-events.md) +* [Hành vi (Behaviors)](concept-behaviors.md) +* [Cấu hình (Configurations)](concept-configurations.md) +* [Bí danh (Aliases)](concept-aliases.md) +* [Lớp tự động nạp (Autoloading)](concept-autoloading.md) +* [Service Locator](concept-service-locator.md) +* [Dependency Injection Container](concept-di-container.md) + + +Làm việc với Databases +---------------------- + +* [Data Access Objects](db-dao.md): Kết nối cơ sở dữ liệu, truy vấn cơ bản, giao dịch và phương thức hoạt động +* [Query Builder](db-query-builder.md): Sử dụng một truy vấn đơn giản, các lớp cơ sở dữ liệu trừu tượng +* [Active Record](db-active-record.md): The Active Record ORM, truy vấn và thao tác với dữ liệu, định nghĩa các mối quan hệ giữa các bảng +* [Migrations](db-migrations.md): Cung cấp cho đội dự án dễ dàng trong việc quản lý những schema CSDL trong ứng dụng +* **TBD** [Sphinx](db-sphinx.md) +* **TBD** [Redis](db-redis.md) +* **TBD** [MongoDB](db-mongodb.md) +* **TBD** [ElasticSearch](db-elasticsearch.md) + + +Nhận dữ liệu người dùng +----------------------- + +* [Tạo mới Forms](input-forms.md) +* [Kiểm tra dữ liệu đầu vào (Validating Input)](input-validation.md) +* [File Upload](input-file-upload.md) +* [Thu thập dữ liệu từ danh sách đầu vào (Đang phát triển)](input-tabular-input.md) +* [lấy dữ liệu cho nhiều Models (Chưa giải quyết)](input-multiple-models.md) + + +Hiển thị dữ liệu +--------------- + +* [Định dạng dữ liệu (Data Formatting)](output-formatter.md) +* [Phân trang (Pagination)](output-pagination.md) +* [Sắp xếp (Sorting)](output-sorting.md) +* [Cung cấp dữ liệu ra (Data Providers)](output-data-providers.md) +* [Dữ liệu Widgets](output-data-widgets.md) +* [làm việc với Client Scripts](output-client-scripts.md) +* [Giao diện (Theming)](output-theming.md) + + +Bảo mật (Security) +-------- + +* [Xác thực (Authentication)](security-authentication.md) +* [Quyền (Authorization)](security-authorization.md) +* [Các thao tác xử lý với Passwords (Đang phát triển)](security-passwords.md) +* [Auth Clients](security-auth-clients.md) +* [Best Practices](security-best-practices.md) + + +Bộ nhớ Cache +------- + +* [Tổng quan](caching-overview.md) +* [Cache dữ liệu](caching-data.md) +* [Fragment Caching](caching-fragment.md) +* [Page Caching](caching-page.md) +* [HTTP Caching](caching-http.md) + + +RESTful Web Services +-------------------- + +* [Bắt đầu](rest-quick-start.md) +* [Tài nguyên (Resources)](rest-resources.md) +* [Bộ điều khiển (Controllers)](rest-controllers.md) +* [Routing](rest-routing.md) +* [Định dạng thông điệp gửi đi (Response Formatting)](rest-response-formatting.md) +* [Authentication](rest-authentication.md) +* [Rate Limiting](rest-rate-limiting.md) +* [Versioning](rest-versioning.md) +* [Error Handling](rest-error-handling.md) + + +Công cụ phát triển (Development Tools) +----------------- + +* [Thanh công cụ gỡ lỗi và sửa lỗi (Debug Toolbar và Debugger)](tool-debugger.md) +* [Sử dụng Gii để tạo code](tool-gii.md) +* **TBD** [Tạo tài liệu về API ](tool-api-doc.md) + + +Testing +------- + +* [Tổng quan](test-overview.md) +* [Thiết lập môi trường cho việc Testing](test-environment-setup.md) +* [Unit Tests](test-unit.md) +* [Kiểm tra chức năng (Functional Tests)](test-functional.md) +* [Acceptance Tests](test-acceptance.md) +* [Fixtures](test-fixtures.md) + + +Chủ đề năng cao +-------------- + +* [Advanced Application Template](tutorial-advanced-app.md) +* [Building Application from Scratch](tutorial-start-from-scratch.md) +* [Giao diện dòng lệnh (Console Commands)](tutorial-console.md) +* [Core Validators](tutorial-core-validators.md) +* [Quốc tế hóa (Internationalization)](tutorial-i18n.md) +* [Thư (Mailing)](tutorial-mailing.md) +* [Tối ưu hiệu năng ứng dụng (Performance Tuning)](tutorial-performance-tuning.md) +* [Shared Hosting Environment](tutorial-shared-hosting.md) +* [Template Engines](tutorial-template-engines.md) +* [Working with Third-Party Code](tutorial-yii-integration.md) + + +Widgets +------- + +* GridView: **TBD** liên kết tới trang demo +* ListView: **TBD** liên kết tới trang demo +* DetailView: **TBD** liên kết tới trang demo +* ActiveForm: **TBD** liên kết tới trang demo +* Pjax: **TBD** liên kết tới trang demo +* Menu: **TBD** liên kết tới trang demo +* LinkPager: **TBD** liên kết tới trang demo +* LinkSorter: **TBD** liên kết tới trang demo +* [Bootstrap Widgets](widget-bootstrap.md) +* [jQuery UI Widgets](widget-jui.md) + + +Helpers +------- + +* [Tổng quan](helper-overview.md) +* [ArrayHelper](helper-array.md) +* [Html](helper-html.md) +* [Url](helper-url.md) + From 26be93eb25da0b7a033a27692afeafe89bef5c0d Mon Sep 17 00:00:00 2001 From: Phan Xuan Dung Date: Mon, 4 May 2015 16:07:08 +0700 Subject: [PATCH 02/48] Intro yii Update --- docs/guide-vi/intro-yii.md | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/guide-vi/intro-yii.md diff --git a/docs/guide-vi/intro-yii.md b/docs/guide-vi/intro-yii.md new file mode 100644 index 00000000000..2dece4a9d21 --- /dev/null +++ b/docs/guide-vi/intro-yii.md @@ -0,0 +1,55 @@ +Yii là gì +=========== + +Yii có hiệu suất cao, được dựa trên các thành phần PHP framework cho việc phát triển các ứng dụng Web hiện đại. +Tên Yii (được phát âm là `Yee` hoặc `[ji:]`) ở Trung Quốc có nghĩa là "thật đơn giản và luôn phát triển". Nghĩa thứ hai có thể đọc ngắn gọn là **Yes It Is**! + + +Yii thích hợp nhất để làm gì? +--------------------- + +Yii là một framework lập trình Web chung chung mà có thể được sử dụng để phát triển một loạt các ứng dụng Web +được xây dựng với PHP. Bởi vì dựa trên kiến trúc thành phần và có bộ nhớ đệm hoàn hảo, +nó là đặc biệt thích hợp cho việc phát triển các ứng dụng quy mô lớn, chẳng hạn như các cổng thông tin, +diễn đàn, hệ thống quản lý nội dung (CMS), các dự án thương mại điện tử và các dịch vụ Web RESTful. + + +So sánh Yii Với các Frameworks khác? +------------------------------------------- + +Nếu bạn có kinh nghiệm với các framework khác, bạn sẽ rất vui mừng khi thấy những nỗ lực của Yii: + +- Giống như những PHP frameworks khác, Yii sử dụng mô hình MVC (Model-View-Controller) tổ chức code một cách hợp lý và có hệ thống hơn . +- Yii tạo ra code đơn giản và thanh lịch, đây là triết lý trong chương trình. Yii sẽ không bao giờ + cố gắng tạo ra những mấu thiết kế quá an toàn và ít có sự thay đổi. +- Yii là framework hoàn chình, cung cấp nhiều tính năng và được xác minh như: query builders, thao tác dữ liệu với + ActiveRecord được dùng cho CSDL quan hệ và NoSQL; hỗ trợ phát triển RESTful API; sự hỗ trợ đa bộ nhớ cache; và nhiều hơn. +- Yii rất dễ mở rộng. Bạn có thể tùy chình hoặc thay thế bất kỳ một trong những bộ code chuẩn. Bạn cũng có thể + tận dụng lợi thế của kiến trúc mở rộng chuẩn Yii để sử dụng hoặc phát triển mở rộng phân phối.. +- Hiệu suất cao luôn luôn là một trong những mục tiêu chính của Yii. + +Yii không chỉ được phát triển từ một người, nó được hỗ trợ bởi [đội ngũ phát triển cốt lõi mạnh mẽ][about_yii], cũng như một cộng đồng lớn, trong đó các chuyên gia liên tục +đóng góp cho sự phát triển của Yii. Nhóm nghiên cứu phát triển Yii giữ một mắt đóng trên các xu hướng phát triển Web mới nhất và trên thực hành tốt nhất và +các tính năng được tìm thấy trong các khuôn khổ và các dự án khác. Các thực hành tốt nhất và các tính năng được tìm thấy ở những nơi khác có liên quan nhất thường xuyên +được đưa vào khuôn khổ lõi và tiếp xúc thông qua giao diện đơn giản và thanh lịch. + +[about_yii]: http://www.yiiframework.com/about/ + +Các phiên bản Yii +------------ + +Yii Hiện nay có hai phiên bản chính: 1.1 và 2.0. Phiên bản 1.1 là phiên bản cũ và bây giờ là trong chế độ bảo trì. Tiếp đến, phiên bản 2.0 là phiên bản đuọc viết lại hoàn toàn Yii, sử dụng các +công nghệ mới và giao thức, bao gồm trình quản lý gói Composer, các tiêu chuẩn code PHP PSR, namespaces, traits, và như vậy. Phiên bản 2.0 đại diện cho sự hình thành của framework +và sẽ nhận được những nỗ lực phát triển chính trong vài năm tới. +Hướng dẫn này chủ yếu là về phiên bản 2.0. + + +Yêu cầu hệ thống và các điều kiện cần thiết +------------------------------ + +Yii 2.0 đòi hỏi phiên bản PHP 5.4.0 hoặc cao hơn. Bạn có thể chạy bất kỳ gói Yii đi kèm với các yêu cầu hệ thống. +kiểm tra xem những gì các đặc điểm cụ thể của từng cấu hình PHP. + +Để tìm hiểu Yii, bạn cần có kiến thức cơ bản về lập trình hướng đối tượng (OOP), vì Yii là một framework hướng đối tượng +thuần túy. Yii2 2.0 cũng sử dụng các tính năng PHP mới nhất, chẳng hạn như [namespaces](http://www.php.net/manual/en/language.namespaces.php) và [traits](http://www.php.net/manual/en/language.oop5.traits.php). +Hiểu được những khái niệm này sẽ giúp bạn nhanh chóng nắm bắt Yii 2.0. From 0286742445819c6de6ef8ef34dc550d442f3c151 Mon Sep 17 00:00:00 2001 From: Phan Xuan Dung Date: Tue, 5 May 2015 09:50:47 +0700 Subject: [PATCH 03/48] Start installation Update --- docs/guide-vi/start-installation.md | 213 ++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 docs/guide-vi/start-installation.md diff --git a/docs/guide-vi/start-installation.md b/docs/guide-vi/start-installation.md new file mode 100644 index 00000000000..f21d48a4340 --- /dev/null +++ b/docs/guide-vi/start-installation.md @@ -0,0 +1,213 @@ +Cài đặt Yii +============== + +Bạn có thể cài đặt Yii theo hai cách, dùng trình quản lý gói [Composer](http://getcomposer.org/) hoặc tải về một tập tin lưu trữ. +Cách thứ nhất thường được hay dùng hơn, vì nó cho phép bạn cài đặt các [Gói mở rộng (extensions)](structure-extensions.md) mới hoặc cập nhật Yii đơn giản chỉ mới một câu lệnh. + +Ứng dụng Yii cần được tải về và cài đặt, điều này có kết quả giống nhau khi thực hiện cài đặt theo chuẩn. +Những ứng dụng Yii khi đã cài đặt đều được triển khai một số tính năng cơ bản, như đăng nhập (login), form liên hệ (contact form), vv. +Những tính năng trên đều được khuyến khích. Vì thế, nó có thể hữu ích như là một điểm bắt đầu tốt cho các dự án của bạn. + +Trong bài hướng dẫn này và các phần tiếp theo, chúng ta sẽ tìm hiều cách cài ứng dụng Yii với tên *Basic Application Template* và +làm thế nào để thực hiện các tính năng mới trên mẫu ứng dụng này. Yii đồng thời cũng cung cấp mẫu ứng dụng tên là [Advanced Application Template](tutorial-advanced-app.md) +mẫu này được dùng tốt hơn cho những đội dự án cần phát triển ứng dụng có nhiều tầng. + +> Lưu ý: Các mẫu ứng dụng *Basic Application Template* là thích hợp cho việc phát triển 90% của các ứng dụng Web. nó khác +với các mẫu ứng dụng [Advanced Application Template](tutorial-advanced-app.md). Nếu bạn là người mới tìm hiều về Yii, chúng tôi khuyến khích +bạn bắt đầu với các ứng dụng *Basic Application Template* , ứng dụng này đơn giản và ít chức năng thích hợp hơn cho việc tìm hiểu về Yii. + + + +Cài đặt qua trinh quản lý gói Composer +----------------------- + +Nếu bạn chưa cài Composer, bạn có thể cài đặt theo đường link sau +[getcomposer.org](https://getcomposer.org/download/). Trong hệ điều hành Linux và Mac OS X, bạn có thể chạy các lệnh sau đây: + + curl -s http://getcomposer.org/installer | php + mv composer.phar /usr/local/bin/composer + +Còn trên HDH Windows, bạn có thể tải về và chạy [Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe). + +Nếu bạn có bất kỳ thắc mắc hoặc muốn biết thêm nghiên cứu chuyên sâu Composer, vui lòng tham khảo [Tài liệu Composer](https://getcomposer.org/doc/) + +Nếu bạn đã cài Composer rồi, hãy chắc chắn rằng bạn đang sử dụng phiên bản mới nhất. Bạn có thể cập nhật Composer bằng cách thực hiện lệnh + `composer self-update`. + +Sau khi cài đặt Composer, bạn có thể cài đặt Yii bằng cách chạy lệnh sau ở thư mục Web mà ứng dụng cần chạy: + + composer global require "fxp/composer-asset-plugin:1.0.0" + composer create-project --prefer-dist yiisoft/yii2-app-basic basic + +Câu lệnh đầu tiên sẽ cài đặt [composer asset plugin](https://github.com/francoispluchino/composer-asset-plugin/) +Nó là thông qua Composer để quản lý bower và npm dùng cho việc quản lý các gói cần thiết. Bạn cần chạy câu lệnh này để có hiệu lực toàn hệ thống. +Câu lệnh thứ hai sẽ cài đặt phiên bản Yii có tên là `basic`. Bạn có thể chọn một tên thư mục khác nếu bạn muốn. + +> Chú ý: Trong quá trình cài đặt Composer có thể yêu cầu thông tin đăng nhập từ tài khoản Github của bạn. điều này là bình thường bởi vì Composer +> cần đầy đủ thông tin API rate-limit để lấy các thông tin gói phụ thuộc từ Github. Để biết thêm chi tiết, +> xin vui lòng tham khảo [Composer documentation](https://getcomposer.org/doc/articles/troubleshooting.md#api-rate-limit-and-oauth-tokens). + +> Thủ thuật: Nếu bạn muốn cài đặt phiên bản phát triển mới nhất của Yii, bạn có thể sử dụng lệnh sau để thay thế, +> điều này chỉ cần thêm [stability option](https://getcomposer.org/doc/04-schema.md#minimum-stability): +> +> composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic +> +> Chú ý. phiên bản phát triển của Yii(dev version) không nên sử dụng cho mô trường ứng dụng bởi vì nó có thể phá vỡ các hoạt động trong code. + + +Cài đặt từ tập tin lưu trữ +------------------------------- + +Việc cài đặt Yii từ một tập tin lưu trữ bao gồm ba bước: + +1. Tải gói cài đặt từ [yiiframework.com](http://www.yiiframework.com/download/). +2. Giải nén file tải về vào một thư mục Web của ứng dụng cần chạy. +3. Sửa đồi file `config/web.php` bởi nhập thông tin secret key (khóa bí mật) `cookieValidationKey` ở mục cấu hình + (này được thực hiện tự động nếu bạn đang cài đặt Yii sử dụng Composer): + + ```php + // !!! chèn một khóa bí mật trong phần sau (nếu rỗng) - điều này được yêu cầu cho cookie validation + 'cookieValidationKey' => 'Nhập khóa bí mật vào đây', + ``` + + +Các thiết lập cài đặt khác +-------------------------- + +Yii giới thiệu hai phương pháp cài đặt ở trên, những phương pháp này sẽ tạo ứng dụng Web. +.Đối với các dự án nhỏ hoặc cho việc học để sử dụng, đây là một điểm khởi đầu tốt. + +Nhưng cũng có những phương pháp cài đặt khác: + +* Nếu bạn chỉ muốn cài đặt các khung cốt lõi và muốn xây dựng toàn bộ một ứng dụng từ đầu, + bạn có thể làm theo hướng dẫn như đã hướng dẫn ở bài viết [Building Application from Scratch](tutorial-start-from-scratch.md). +* Nếu bạn muốn bắt đầu với một ứng dụng phức tạp hơn, phù hợp hơn với môi trường phát triển trong team bạn, + bạn có thể xem xét việc cài đặt mẫu ứng dụng [Advanced Application Template](tutorial-advanced-app.md). + + +Kết quả cài đặt +-------------------------- + +Sau khi cài đặt, bạn có thể sử dụng trình duyệt để truy cập các ứng dụng Yii được cài đặt với các URL sau đây: + +``` +http://localhost/basic/web/index.php +``` + +URL này giả sử bạn đã cài đặt Yii trong một thư mục có tên `basic`, trực tiếp dưới thư mục gốc tài liệu máy chủ Web của bạn, +và rằng các máy chủ Web đang chạy trên máy tính cục bộ của bạn (`localhost`). Bạn có thể cần phải điều chỉnh nó trong môi trường cài đặt. + +![Successful Installation of Yii](images/start-app-installed.png) + +Bạn sẽ có thể thấy trang hiển thị "Congratulations!" ở trình duyệt của ban. Còn không, xin vui lòng kiểm tra xem PHP đáp ứng cài đặt của bạn +Các yêu cầu Yii. Bạn có thể kiểm tra xem các yêu cầu tối thiểu được đáp ứng bằng một trong những phương pháp sau đây: + +* Sử dụng trình duyệt để truy cập vào URL `http://localhost/basic/requirements.php` +* Chay câu lệnh như sau: + + ``` + cd basic + php requirements.php + ``` + +Bạn nên cấu hình cài đặt PHP của bạn để nó đáp ứng các yêu cầu tối thiểu của Yii. Diều quan trọng nhất, bạn nên có PHP 5.4 hoặc hơn. Bạn cũng nên cài đặt +các gói [PDO PHP Extension](http://www.php.net/manual/en/pdo.installation.php) và một trình điều khiển cơ sở dữ liệu tương ứng +(như là `pdo_mysql` cho CSDL MySQL), nếu ứng dụng của bạn cần thao tác với CSLD. + + +Cấu hình máy chủ Web +----------------------- + +> Lưu ý: Lưu ý: Nếu bạn chỉ là chạy thử ứng dụng Yii thay vì được triển khai(deploying) trong một môi trường sản xuất, + bạn có thể bỏ qua phần này. + +Các ứng dụng được cài đặt theo phương pháp trên, được chạy trong Windows, Max OS X, Linux hoặc máy chủ [Apache HTTP](http://httpd.apache.org/) +hoặc [Nginx HTTP server](http://nginx.org/) và PHP phiên bản 5.4 hoặc cao hơn đều có thể được chạy trực tiếp. Yii 2.0 cũng tương thích với HHVM, +do [HHVM](http://hhvm.com/)của Facebook và PHP tiêu chuẩn trên các khía cạnh trong một vài nơi một với trường hợp hơi khác nhau, +khi sử dụng HHVM đòi hỏi ít thay đổi. + +Trong môi trường máy chủ sản xuất, bạn có thể cấu hình máy chủ để ứng dụng có thể truy cập thông qua URL http://www.example.com/index.php +thay vì http://www.example.com/basic/web/index.php. Cấu hình này đòi hỏi các thư mục gốc tài liệu của máy chủ Web vào thư mục basic/web. Bạn cũng có thể ẩn index.php trên URL, +chi tiết trên URL phân tích và tạo ra một chương trình chiếu, bạn sẽ tìm hiểu làm thế nào để cấu hình Apache hoặc Nginx máy chủ để đạt được những mục tiêu này. + +> Lưu ý: Thiết lập `basic/web` như thư mục gốc, bạn có thể ngăn chặn người dùng truy cập vào các dữ liệu cá nhân và các thông tin nhạy cảm được lưu trữ + ở các thư mục con nằm trong `basic/web`. Từ chối truy cập vào các thư mục khác là một cải tiến bảo mật. + +> Lưu ý: Bạn nên điều chính cấu trúc ứng dụng của bạn để bảo mật tốt hơn, điều này cần thiếu nếu khi ứng dụng của ban chạy trên những hosting miễn phí, ở môi trường mà bạn +không có quyền thay đổi các thiết lập ở server Web. Tham khảo thêm ở phần sau để biết thêm chi tiết [Shared Hosting Environment](tutorial-shared-hosting.md). + + +### Các khuyến nghị khi cấu hình máy chủ Apache + +Sử dụng các cấu hình sau đây trong file `httpd.conf` của Apache hoặc trong một cấu hình máy chủ ảo. Lưu ý rằng bạn nên +thay thế đường dẫn đường dẫn thực tế `path/to/basic/web` cho `basic/web`. + +``` +# Thiết lập document root tới đường dẫn "basic/web" +DocumentRoot "path/to/basic/web" + + + # use mod_rewrite for pretty URL support + RewriteEngine on + # If a directory or a file exists, use the request directly + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + # Otherwise forward the request to index.php + RewriteRule . index.php + + # ...other settings... + +``` + + +### Các khuyến nghị khi cấu hình Nginx + +Để sử dụng [Nginx](http://wiki.nginx.org/), bạn cần phải cài đặt [FPM SAPI](http://php.net/install.fpm). +Bạn có thể cấu hình Nginx như sau, thay thế đường dẫn `path/to/basic/web` với đường dẫn thực tế ở +`basic/web` và `mysite.local` thay thế bằng tên máy chủ thực tế để cung cấp dịch vụ. + +``` +server { + charset utf-8; + client_max_body_size 128M; + + listen 80; ## listen for ipv4 + #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 + + server_name mysite.local; + root /path/to/basic/web; + index index.php; + + access_log /path/to/basic/log/access.log; + error_log /path/to/basic/log/error.log; + + location / { + # Redirect everything that isn't a real file to index.php + try_files $uri $uri/ /index.php?$args; + } + + # uncomment to avoid processing of calls to non-existing static files by Yii + #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { + # try_files $uri =404; + #} + #error_page 404 /404.html; + + location ~ \.php$ { + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; + fastcgi_pass 127.0.0.1:9000; + #fastcgi_pass unix:/var/run/php5-fpm.sock; + try_files $uri =404; + } + + location ~ /\.(ht|svn|git) { + deny all; + } +} +``` + +Khi sử dụng cấu hình này, bạn cũng nên thiết lập `cgi.fix_pathinfo=0` ở file `php.ini` +để tránh nhiều hệ thống không cần thiết `stat()` khi gọi hệ thống. + +Cũng lưu ý rằng khi bạn chạy một máy chủ HTTPS, bạn cần phải thêm dòng `fastcgi_param HTTPS on;` vào file cấu hình +để Yii có thể hiểu ra những kết nối là an toàn. From e5df360ee47191ed7528e8d06d164464d9750d38 Mon Sep 17 00:00:00 2001 From: Phan Xuan Dung Date: Tue, 5 May 2015 09:53:31 +0700 Subject: [PATCH 04/48] Image Update --- .../images/advanced-app-configs.graphml | 436 +++++++++ docs/guide-vi/images/advanced-app-configs.png | Bin 0 -> 13392 bytes .../images/application-lifecycle.graphml | 527 +++++++++++ .../guide-vi/images/application-lifecycle.png | Bin 0 -> 32044 bytes .../images/application-structure.graphml | 430 +++++++++ .../guide-vi/images/application-structure.png | Bin 0 -> 24774 bytes docs/guide-vi/images/gii-entry.png | Bin 0 -> 45302 bytes docs/guide-vi/images/gii-preview.png | Bin 0 -> 41620 bytes .../images/rbac-access-check-1.graphml | 368 ++++++++ docs/guide-vi/images/rbac-access-check-1.png | Bin 0 -> 19024 bytes .../images/rbac-access-check-2.graphml | 368 ++++++++ docs/guide-vi/images/rbac-access-check-2.png | Bin 0 -> 19364 bytes .../images/rbac-access-check-3.graphml | 368 ++++++++ docs/guide-vi/images/rbac-access-check-3.png | Bin 0 -> 19336 bytes docs/guide-vi/images/rbac-hierarchy-1.graphml | 312 +++++++ docs/guide-vi/images/rbac-hierarchy-1.png | Bin 0 -> 16085 bytes docs/guide-vi/images/rbac-hierarchy-2.graphml | 368 ++++++++ docs/guide-vi/images/rbac-hierarchy-2.png | Bin 0 -> 18786 bytes .../guide-vi/images/request-lifecycle.graphml | 834 ++++++++++++++++++ docs/guide-vi/images/request-lifecycle.png | Bin 0 -> 38617 bytes docs/guide-vi/images/start-app-installed.png | Bin 0 -> 79105 bytes docs/guide-vi/images/start-country-list.png | Bin 0 -> 48009 bytes .../images/start-entry-confirmation.png | Bin 0 -> 39844 bytes .../guide-vi/images/start-form-validation.png | Bin 0 -> 40121 bytes .../images/start-gii-country-grid.png | Bin 0 -> 85543 bytes .../images/start-gii-country-update.png | Bin 0 -> 54509 bytes .../images/start-gii-crud-preview.png | Bin 0 -> 57090 bytes docs/guide-vi/images/start-gii-crud.png | Bin 0 -> 58150 bytes .../images/start-gii-model-preview.png | Bin 0 -> 104451 bytes docs/guide-vi/images/start-gii-model.png | Bin 0 -> 93741 bytes docs/guide-vi/images/start-gii.png | Bin 0 -> 91274 bytes docs/guide-vi/images/start-hello-world.png | Bin 0 -> 32874 bytes 32 files changed, 4011 insertions(+) create mode 100644 docs/guide-vi/images/advanced-app-configs.graphml create mode 100644 docs/guide-vi/images/advanced-app-configs.png create mode 100644 docs/guide-vi/images/application-lifecycle.graphml create mode 100644 docs/guide-vi/images/application-lifecycle.png create mode 100644 docs/guide-vi/images/application-structure.graphml create mode 100644 docs/guide-vi/images/application-structure.png create mode 100644 docs/guide-vi/images/gii-entry.png create mode 100644 docs/guide-vi/images/gii-preview.png create mode 100644 docs/guide-vi/images/rbac-access-check-1.graphml create mode 100644 docs/guide-vi/images/rbac-access-check-1.png create mode 100644 docs/guide-vi/images/rbac-access-check-2.graphml create mode 100644 docs/guide-vi/images/rbac-access-check-2.png create mode 100644 docs/guide-vi/images/rbac-access-check-3.graphml create mode 100644 docs/guide-vi/images/rbac-access-check-3.png create mode 100644 docs/guide-vi/images/rbac-hierarchy-1.graphml create mode 100644 docs/guide-vi/images/rbac-hierarchy-1.png create mode 100644 docs/guide-vi/images/rbac-hierarchy-2.graphml create mode 100644 docs/guide-vi/images/rbac-hierarchy-2.png create mode 100644 docs/guide-vi/images/request-lifecycle.graphml create mode 100644 docs/guide-vi/images/request-lifecycle.png create mode 100644 docs/guide-vi/images/start-app-installed.png create mode 100644 docs/guide-vi/images/start-country-list.png create mode 100644 docs/guide-vi/images/start-entry-confirmation.png create mode 100644 docs/guide-vi/images/start-form-validation.png create mode 100644 docs/guide-vi/images/start-gii-country-grid.png create mode 100644 docs/guide-vi/images/start-gii-country-update.png create mode 100644 docs/guide-vi/images/start-gii-crud-preview.png create mode 100644 docs/guide-vi/images/start-gii-crud.png create mode 100644 docs/guide-vi/images/start-gii-model-preview.png create mode 100644 docs/guide-vi/images/start-gii-model.png create mode 100644 docs/guide-vi/images/start-gii.png create mode 100644 docs/guide-vi/images/start-hello-world.png diff --git a/docs/guide-vi/images/advanced-app-configs.graphml b/docs/guide-vi/images/advanced-app-configs.graphml new file mode 100644 index 00000000000..05a053e3b3d --- /dev/null +++ b/docs/guide-vi/images/advanced-app-configs.graphml @@ -0,0 +1,436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + console + + + + + + + + + + Folder 4 + + + + + + + + + + + + + + + + + + + + backend + + + + + + + + + + Folder 3 + + + + + + + + + + + + + + + + + index + + + + + + + + + + + + + + + + + + + + frontend + + + + + + + + + + Folder 1 + + + + + + + + + + + + + + + + params + + + + + + + + + + + + + + + + + params-local + + + + + + + + + + + + + + + + + main + + + + + + + + + + + + + + + + + main-local + + + + + + + + + + + + + + + + + + + aliases + + + + + + + + + + + + + + + + + + + + common + + + + + + + + + + Folder 2 + + + + + + + + + + + + + + + + params-local + + + + + + + + + + + + + + + + + main-local + + + + + + + + + + + + + + + + + params + + + + + + + + + + + + + + + + + main + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/guide-vi/images/advanced-app-configs.png b/docs/guide-vi/images/advanced-app-configs.png new file mode 100644 index 0000000000000000000000000000000000000000..daa9a6f9e8b00c2017962288d48ef56277c33d78 GIT binary patch literal 13392 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 + + + + + + + + + + + + + + + + + + + + + + + + + Entry script (index.php or yii) + + + + + + + + + + Folder 4 + + + + + + + + + + + + + + + + Load application config + + + + + + + + + + + + + + + + + + + + + Create application instance + + + + + + + + + + Folder 5 + + + + + + + + + + + + + + + + preInit() + + + + + + + + + + + + + + + + + Register error handler + + + + + + + + + + + + + + + + + Configure application properties + + + + + + + + + + + + + + + + + init() + + + + + + + + + + + + + + + + + bootstrap() + + + + + + + + + + + + + + + + + + + + + + + Run application + + + + + + + + + + Folder 3 + + + + + + + + + + + + + + + + EVENT_BEFORE_REQUEST + + + + + + + + + + + + + + + + + + + + + Handle request + + + + + + + + + + Folder 4 + + + + + + + + + + + + + + + + Resolve request into route and parameters + + + + + + + + + + + + + + + + + Create module, controller and action + + + + + + + + + + + + + + + + + Run action + + + + + + + + + + + + + + + + + + + EVENT_AFTER_REQUEST + + + + + + + + + + + + + + + + + Send response to end user + + + + + + + + + + + + + + + + + + + Complete request processing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Configuration array + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exit status + + + + + + + + + + + + + + + + diff --git a/docs/guide-vi/images/application-lifecycle.png b/docs/guide-vi/images/application-lifecycle.png new file mode 100644 index 0000000000000000000000000000000000000000..6a505ccefb89072e4bee7691114dd6cbe2e34bc2 GIT binary patch literal 32044 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 M#?fO9(&T8+BG-Yon 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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/application-structure.graphml b/docs/guide-vi/images/application-structure.graphml new file mode 100644 index 00000000000..f6fce488be6 --- /dev/null +++ b/docs/guide-vi/images/application-structure.graphml @@ -0,0 +1,430 @@ + + + + + + + + + + + + + + + + + + + + + + + application +component + + + + + + + + + + + + + + + + + entry script + + + + + + + + + + + + + + + + + application + + + + + + + + + + + + + + + + + controller + + + + + + + + + + + + + + + + + filter + + + + + + + + + + + + + + + + + module + + + + + + + + + + + + + + + + + view + + + + + + + + + + + + + + + + + model + + + + + + + + + + + + + + + + + widget + + + + + + + + + + + + + + + + + asset bundle + + + + + + + + + + + + + + + + + 1:1 + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 1..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + + + + 0..* + + + + + + + + + + + + + + + + diff --git a/docs/guide-vi/images/application-structure.png b/docs/guide-vi/images/application-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a55498889d296ca707527f5c9ab5fae217c1c5 GIT binary patch literal 24774 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

WTZ1E~fy3MKk*Z_$vB~k~vQcv2R?7fOep@ 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�!ha9!B8Wn0j#sGzj%76GY((wmBch2C3;7$Qmt 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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/rbac-access-check-1.graphml b/docs/guide-vi/images/rbac-access-check-1.graphml new file mode 100644 index 00000000000..44078515cfa --- /dev/null +++ b/docs/guide-vi/images/rbac-access-check-1.graphml @@ -0,0 +1,368 @@ + + + + + + + + + + + + + + + + + + + + + + + admin + + + + + + + + + + + + + + + + + author + + + + + + + + + + + + + + + + + John, ID=2 + + + + + + + + + + + + + + + + + + + + Jane, ID=1 + + + + + + + + + + + + + + + + + + + + updatePost + + + + + + + + + + + + + + + + + updateOwnPost + + + + + + + + + + + + + + + + + createPost + + + + + + + + + + + + + + + + + AuthorRule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438 + c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051 + c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387 + C40.445,49.917,26.288,53.051,26.288,53.051z"/> + + <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67 + c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25 + c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492 + C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397 + c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359 + c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/> + + <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617 + c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313 + c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/> + + <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813 + c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/> + + <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3 + c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25 + c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807 + s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678 + L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/> +</g> +</svg> + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5 + C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526 + c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228 + s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781 + c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/> + + <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)"> + <stop offset="0" style="stop-color:#49AD33"/> + <stop offset="1" style="stop-color:#C2DA92"/> + </linearGradient> + <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 + c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> +</g> +</svg> + + + + diff --git a/docs/guide-vi/images/rbac-access-check-1.png b/docs/guide-vi/images/rbac-access-check-1.png new file mode 100644 index 0000000000000000000000000000000000000000..77ad551c26d4f4b4a3cf4d9b7cfd5f4b7472ec82 GIT binary patch literal 19024 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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/rbac-access-check-2.graphml b/docs/guide-vi/images/rbac-access-check-2.graphml new file mode 100644 index 00000000000..c521d429eab --- /dev/null +++ b/docs/guide-vi/images/rbac-access-check-2.graphml @@ -0,0 +1,368 @@ + + + + + + + + + + + + + + + + + + + + + + + admin + + + + + + + + + + + + + + + + + author + + + + + + + + + + + + + + + + + John, ID=2 + + + + + + + + + + + + + + + + + + + + Jane, ID=1 + + + + + + + + + + + + + + + + + + + + updatePost + + + + + + + + + + + + + + + + + updateOwnPost + + + + + + + + + + + + + + + + + createPost + + + + + + + + + + + + + + + + + AuthorRule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438 + c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051 + c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387 + C40.445,49.917,26.288,53.051,26.288,53.051z"/> + + <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67 + c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25 + c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492 + C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397 + c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359 + c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/> + + <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617 + c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313 + c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/> + + <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813 + c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/> + + <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3 + c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25 + c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807 + s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678 + L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/> +</g> +</svg> + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5 + C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526 + c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228 + s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781 + c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/> + + <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)"> + <stop offset="0" style="stop-color:#49AD33"/> + <stop offset="1" style="stop-color:#C2DA92"/> + </linearGradient> + <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 + c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> +</g> +</svg> + + + + diff --git a/docs/guide-vi/images/rbac-access-check-2.png b/docs/guide-vi/images/rbac-access-check-2.png new file mode 100644 index 0000000000000000000000000000000000000000..254f307a89e5e59fceda04f27667982b60c3fcab GIT binary patch literal 19364 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 + + + + + + + + + + + + + + + + + + + + + + admin + + + + + + + + + + + + + + + + + author + + + + + + + + + + + + + + + + + John, ID=2 + + + + + + + + + + + + + + + + + + + + Jane, ID=1 + + + + + + + + + + + + + + + + + + + + updatePost + + + + + + + + + + + + + + + + + updateOwnPost + + + + + + + + + + + + + + + + + createPost + + + + + + + + + + + + + + + + + AuthorRule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438 + c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051 + c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387 + C40.445,49.917,26.288,53.051,26.288,53.051z"/> + + <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67 + c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25 + c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492 + C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397 + c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359 + c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/> + + <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617 + c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313 + c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/> + + <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813 + c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/> + + <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3 + c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25 + c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807 + s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678 + L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/> +</g> +</svg> + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5 + C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526 + c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228 + s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781 + c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/> + + <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)"> + <stop offset="0" style="stop-color:#49AD33"/> + <stop offset="1" style="stop-color:#C2DA92"/> + </linearGradient> + <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 + c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> +</g> +</svg> + + + + diff --git a/docs/guide-vi/images/rbac-access-check-3.png b/docs/guide-vi/images/rbac-access-check-3.png new file mode 100644 index 0000000000000000000000000000000000000000..1fdc0d935a370f3165c9d96ad335dad6e3e1b364 GIT binary patch literal 19336 zcmeFYbx>Pf_dl9?X@R!TLW5hNc!2^1iWGNuE$;3CLIqN!IKid3I{^X&S{#DAQ{0^( z!EX9I@B5v(|J=DUcjnHWUuKfYIeV?OZLQD#?6uDcR#ue4dqVOA007|0NQ)P|-z-+|4*60OKIf z!cXv3v(HLD|9mryy%qj*Qba zQ~0vBVQz$pvfx9JszEy|tdq$axv+iqMofyD9nO<4kdf76#Plf2xMt?X2>Nw`jAvW* zyKfrcLUj!t+Y&uMR}0>z3XG7+sIXV{VywQ?)>c}$Us&#Q=WUor6&w? z`vn(OB(CE>aW`BEG*&XPT`+X3V?@f?ThGao+Jg^MfYy*#M0+A);?e|6Fz`}0FTr3t z-Ot5ykx%#@EAl=SZh*QOfa1~ng__RO4xW>H5b*Ry^ycY^M6Ip#fG&G8X{7OZv7iC- z4bx1CfC+JN);qmj1Nh8~%hpmw$J&^<7Xl`ybvdnXhyZ)7^N2K()K7CW*R9h(?GzZ^ z!;tPV?(fcP-QBE0=LPyN*-2HMZAUnCD2uF_xd{UzL%sVMA(qyOrJWy+nTs^h+1*s zhPS`S-=#vvFCqJbuT6>-))h&jS;5nCO73G#-~F+3l_X$dIG)sNe&*>!0{6`0>lY=*HiArLMt??g>{{FM5&)!arR2G0nK=DYFzf=qXNz#TOr-28 zTd(c!0P19*0MB~bxM}>c<^n;FHUQu=ImiFmfRPp!m*;~RXk7>YL<^N&BbzcV1N#&j z9@^U@_$QmkfM_lzE4k3@pCznqLH?+s-!r=3A6(Y*kvGCud!9lR>aXDiP1}K3)t+3o zh@kG+Z=Np!fXbJayxfqZmT^hPM5=bIB8-G9{Q1_4SIXeEB!{s))6vB^v&%Gi~<^VUTR>WEO<7$U!g5X|ZL1m{E0wno!^q zz-b`s_n6SLhjun844>3m4L|Dn-PYCRUBVMaV)_pKAyF(%0t#0MbAszuFW0V8#fiJM z7&iPv#~rXSe8993My>KszrRP(0A^qL@1FRbT;=iye!J4MZ>%d) z>s?LHO)R^HAC-c{uw2ib{d?P)H0S>4NQ+rDO=HGd;gG37> zQBqKbj&wat8E7K`+w0!n0{qZN7;gLQ2#KT8Z&{CFjrH*?I!8*}Pa17;_$4D~kd2K? zCntpjb~4+ei~y0X4O8zgq+4;1XNPyxM-NqG&NxBfblLhgoaFh0siP7aWl}vZ@fX4u97l^^PmOBuI2&vT9siid4pslv| zI8*aC-=9MI^iMcsYd(*}h=t7-#=lWnTEA5dI4w}l_)4@SL`)nXF?KBYOAjBwSodfB zSpKI`mHUhD-wnb9YFXwatX8hH2p~WGMSuE-4&3NW{CQRL)m1H9I%<71-^nP9g!=|P zx=|t-WR8jpb9Hr1#{Tv8nz%!iIA)_xRELmB4{hLopnvW6g-=Y}N?~?N!o}HhV)7?z z6F1sB$PRCv{8izL#jc}O)c5f+BVhw^t5C?*aE{z|Ah*Wx`hZg3ozH=htO^T{CucVj z3@49_ib;^)H&tD``cL(~T_rc=DIHjbzNZAo=DH}CktjrLs&uNC=yG?rwwl%wEHyM< z0zN(8nDFx2NZZSBZf5UsdNHktsH-b-RsC#~Wg*)eQ6-V`43s0Z+5>wkyRVXQ?H!yW z3#(t-+S2U<hdN$?n5TZUSHt%c8%Hx?XT z{=iQSCzFLjxNXPfoycBo5$?EGHx667)yd*;P$mO@b>keJm5^6fEl)M@X}-SgBqpdt zrt0%^ipw}}lH;hLjx{UC(p3p7vrLzSlSxL`)t|1nw70K@MT6uh(1(XImGK(i!0y=& z=p)sBl$ecr8QU#7lVrQ1RSu*6l#ucU@MreE!=ZuK=0-W{(4R%l^b2Y!nU2WSrZQk} zhlTihM*8HCW66sIO5G&fEFYIGgb!>)mWZd5dCE~sQji+sPtSuT4%Qy-6bQV)hWi1l zQPY)hxLWoYQ+#|GgXha;zPTLd)DYDo&AwaxAVb5n2^cPEeiS1X1^Rm`5E2wmCP%F% zRw?u73>GDj^We*A4WO$4r=BHJh_XcqCeBST}Td2|-9wntOAtYZ47uNF_TbZ}&Bgx54?(y)xX^44t>_LL{IL)y_jjY`~ zQFLC1dWp7Xzb}_`Z>Mm4SXF}@l4LboGAvmt2yBBkB%V_*)E?Sd+!HdyIh3fm|2f75 zB6fX-#h*0wN?G?1^@#J6puJ3z2Zq=7U(83(E=6(X#&k-_fwV`hxWUsSC{F&XR!;sO zf?Q(3WnuR(E@XS3>1GT7m*A8$zh8w z+y*o$SE{&6!dYx9hI2IG&NJ5)-tL!UJtwO=@-YbOUc(F{a^D`}sS1`IXl53xWI>y5 z?_3+t+u;BhKvsH19>zZPMuT7Fu&oRmJ$b|Kq-Gk-$2}COJ$g9gVr^t3^PW#)<%9(R zwyF~+C$o~z+p-=C61xWiI~pN;Kb7mN-yJnNewiT^-Qa_I<*sv{M&YtLf#{~~P8QC! z51}BxdHrW%#Z;(mhOsL{()@C3w7~TA;NWeOyC|v%4101kwxUQ-P|gl%k?bB|R=9 z(979UDp=s1XfH#a>}V52HvAi%m8~42-Z3&E;zxYfoM5q9K5AH~&&0B`?I|hg_=Ro7 zewJO%PS{OIE;dleRA}E-H8eD+7wC7>zu~Ji`AL_S;IQLn{h}wrRRWU4KzybcmoY~w z6UH>JT4aG&pbHPd-5FH|*TUsX#?|AeB*S4$n(CQuuLe~2c*EY<({^H^2n4HU$-D!| zBLg}dUh{9YO`cZ^eSf#s_C9!aM6Q&aoFU`J9xaszRLh-EQshaB?uWI~(z*Ein_|@E z*i1Y$W_O9uQw`6EBr}bO!M?KyC zk%hc2&7S#<&2DVn>7}YUm0or6u}rUeq~~;HE!>&9r|@V?Xi~Cl6hfVvx)L9Z_s07% zKa@KL!*XJMa1P(-h(dIEMNe5Mslv9^BcH6IfJTei5rW`&bgcEgWZ5j;)tt)cl4UoW zP1T%U2M3271z%0Z&#naJ1w-Q-F@yvo{7_j=W}ZEZ%oh_|?MVc7x9x^)dDFpfzrx3}ySb1c_0D+8S^^}|>&H!~`TB8<-J(hC(dNH3bT zMihKy5{9|%>DD=F&t_9assb-I1wucxo@4Ho zX~h{{x&{X9Y^AvUF2hmFnM%R(k}-C@njIrpk2i>wQd5hcmyLZ76oRTeB&WmtdTGiu zpAa}m^Ny}gdu5_ME}g%g2E6!quh9w)!KYcSeUcLZh(u0UlNn~c-`<~n8#>$H-T`_YzqF3;xR$gubb zBQv?@;Bx()F%Ef7X{kr_VdKS;45*VZJ(Mgxg++|-gJw$&T#NQsL3CUYJ2|-n{`9!T z$3JmI-czbmy3nv#+yS3BCPsl=?l^@QQn|UFoR!JKo9Jvy;_5$k@VxE4TJv!h_?7*S z=ft`WG5S7SCCtisbNPbX#Q|hM2B|o7bO*eLbe(mpooBVjOSU_@6pn2@VP>Xd4@Q)8R^RLw-`0UvN|i7)9S(xT7IYl0)B#+`Y6}r$z&K}fOX_$j;VU>%6 zeF^c6q0yPPF6St1&2tdK_B&Ls&4OKQF0voOxY$rH(>8DDvU{R#+H)c)mK0M-o!W?? zZr|HvSo8tQ>gKs`EGJ|%@H5=Evr?4^hx-Mw#tAxmdX}xOt({7>Zl$?6n3G1$2}+!v zzL*jg84E5%s*SKdwWvOURE^CO$EDX3`Mbw1l5K}4*lUX7pwF{oIX`539N>pX8@LL{ z9@oz=t!>d@V?_UiOYgW6JcpBw>b)pOOoQ`!;xO z#W1TLc-{1^1LEPjB&t{QUkGZJ$J3<=ovkAItn?Z>I!qKlN8nFKt)E)pprX(iaBSM z{Uf4{3n|-kK`@q9F)?*oU=i|Azw~PX>I(vgJ&QzcVYNpriX;PU(%_pyBFe4y> zg%(&*bAQ9?8C7AFvFe`=40peSNsf^R$fQ10X_V}2EI4^ayt{u-7K$9*C@-7a7&Ht5 zf49rb8HXe#_t>>nlXe!2;DySc0|JoYl=2)BkO94+8T6)^uPJ~K(^I|n3L9-su-U7Ls3=gU@))@<~RTZiuM2a{LhjvRCs-dO60NPAucL zTw8w#9(8+!TG;ulZh2t1WY6$p6Ie^IOu`7ewO<*hZJjgd+u|N4l7vnr9SnrBHeobU zmo07;D=Ou}@X?A1X_>XenfBj%g&uv^Zp+_RnwSk{@;YNASV2(vivs=OXr#UR$L0?wKxuSIARn?&#x|3;S1ZL`OKuQm@v@>ISe%m5-WTYU)QNkm%Sb&V zK=;5de;vg63dYL2X%F`p;MuF4L z0!E_YjWSctey-W6b}(+|bSxREqDyg~^nxTxP04kWK07%{2tS*2)?@5PjeBex>n@#} znknMwxL7az33@3hR6xKGW9hnVVpp)EaB{cSl1+iN=3;ufGQ?9J+SgfYNpsT|J%#P9ZmlwpFUB;gt-WnBb8PN>bbElv4|Z{Azdxcz7q71P^~^ zf??8S=b&gs=`+sM(8r}(&&Huxw-^}*`D=%F)XQfO{JuBbFFZI;d&|z@kxsWf9r2GA zY}CCryQr``-0+3#DkSTOwju{V%P^OX$EJczvYu4;DOK0M~;~JF=ov@37D_~zhpE3u*o@AW&s`1y+yFI%7wZD}IH8cl9>GB6EKm#;LA z2i4>|oKw=`R5Bgp>koH!U9)gEsb1j>Z@dw7lZ;I3(O@@ zXk@jVkHO2t2V52?h1$`A^X>rYj|cSWXY6*x&9s=6IxkcKk&(>ge42~7tsciVG?P@$ z#dOO#iw~5SmwJE1MsgPrOH$c@RGby&-#k@cZ|_$aW`~7*%))#DWYQq=&2&$9Hxd z7(^O|K80*D%5l}#BM^LcYE|1>khCnbI@Ped&F}8#N2qk%d=O;Z5m`w1#mWl7J9L~{ zD@$#XH|C>WR0|CYOVR^NEkTJmI(i01ZT54sX+Aa-s2KRHg|X6Eq^+Y5s2#6gPOm1` z8?!1X9jp!kA~BDhU9)r`n{FMh*XEX}xN zY@<|KB@k3#@$x2h06n-%UfOZ>mV;yMWIb57aq-cm)B}6_3#HFSRWToLO7a3Q@ScG! zm36bpwl%1$Gm%`I)uv*~5$4D;_Jo?V*n| zzJg!JwJs_5n_LMecQRT&_PN}=9Nz10D}V8zH>yfjwxvEdPIp*9>l9wgS~A^0{c&no zl3;>&j8+tf^e|lfnU|R8%qmYOE?BE&dcBEgaw&r-gIpm+_YRjCkeG*u5e_>);5DPLTYH-UrjJvzvIOJf@m8Rg zAZs>)*+m%y55_c@{2({L(|ew5Y+nJ?k;kTQ7gg0}Ln-v-A;3YbZPetl45Ff7LgX#C z6CEOHDm(qBNPMD4JJ-QlX#8O|Nt_OMMs`?JbX{q1TS-3k(9@ovrsjE+R)oe^&zGvS zqi0dI_mWpXyc#~0alJ|*A(%#ka7d4v^bJ)%X0F9XGs`g-B-s>h6~Q@XoU-Rvf zT93CklF&$^FHL;k3sj7?wFf@9*c%IiTI2D6ThnsWqpGD49fQpE*tmoT^EM1cx%#)7 z`?1_y7L>g<>v9vuS4sQ?4b_>^pBR@apm}kz6!CY zvf6o;Y>#Ta^1bt)jpP8F1b~o*4;Pa^bhzWUx0AZZVDM2x9|=)pAnIYOx>6S`*Ub78tp9StXZFtNp!_P=AWD7PyCa{9EHQr6bfbuuR zB+L_n1N8t--;7&7xJt@1- z$0OXsHqO?JsO?=q2C15c1X}0xN-?D_AkbA*iNw zBs0XT*gN5KglX8Ov54#Ou`WGRW68dw;PiCl_+tshjH|n3PTL?GyX;jjlZ!i8!qusB zoz89Ndvtk)JNEQto%=QXm)>0gL0XP`^Rd}DY*1YD%+LV1zv@yaLV8J@7iat2%~!eV zyYBY!vneKkqU;PdgLssb251ECyC&-otF+#(O@IXTOlWvA(znp=SX7-2B!Q zk3stFVWK-^jFE;hC{qJaogT#$e=aQL+{Q|Er>4oIW^6%l)OdKW>1cZ?t`edve1Yhc zTI-tk207aqBY3u21Ioh(63P^mO;Yw44{4v!2h^a@1ML=ka|vt@oJ7HWC8zp1)($zg zy{yRPRz%t%cT*|tK06C@(fCErt2wWei9gwKE6?Qi{2u|SEYMs-&7p066Y6*4)!#PA zv$B=-xiuJms+p-Fwyaa{E0fHYh>e}1>2Iw-*i$~Si?Nm1sUy%LXgYx@DVobhHk_C_iCpgxUqe-z2IOm!oy&vr$lP4wNq&H0i~d-UZ=84YxXqWd z#+Kv8%to!T$QKO)-Cs@pvZv~yoL&m|a7ITIc>N62m^hlW_B4U9G|4=0!U2iZ?4zWk zC5!~Hn`@#k#XoK)?k-oT&#Tb|b_QR0O%IF7a^q(yyV18%gr>G^R}FJj@mW$38XQ!z zOiK?B!8mie{?1infIuXP(1}_yha$RQP%ci^muGrAswCFmHb~+wS|YjZ1?rLosa<7wC89jS~c3g zMsGHmOJ5)s>(hnnZwFGaR=sn@!rg<>gQAUM!hxYrb!mu`Wn>QJA zhOnPR5i%ROi3Aj0hW+Wn>;kopG2BKa&zl{IPz4GjAg9aMh)T}{x*bZIiPL8=xdzEM zcNAl`MUsGl zD84RZU&ij%mtYvffnyan62|%e-M;(zA8RwFYmCSPhJzmAc%>KOp<|2 zFBeK?=jUC5=~EmW``he*>Tb}-KFVmS1u4ORDV)zcsDv@0foBFP$H&jszy^gE3Vw;M zb?L?D#*w~>A-Gbzn{NW+)gxC)XJlhZ(1{U0)J4_!k~AfAQcbhkeC?{Qkhf|D_0=I> zrEeJQd9>pDJvi-(%qA^dK?OB6#VabJZpn)^Q$eZc(3-X&qtq2a3PxNn#521P|r;cR&)tYkEz8RbVC*w7Yn3} zJUPT$#O{K2P8@KOCuG??`j|7w(_w>(1G2pb5p>RR(SI6kqTf|DilcqR4C3{cpv~-S zGNlA%5F6v0>GiB#OQ?5a#Pd6q)Kxt1!1ZT6{KrrFnMvn-{kU}8>^>J`jHQz}Q~ZnL z-KLh9L2;VV?7W_l%AhuJ&^tb!HOX)R3%f!Yv?J#PI%X^d8kIAomSx$Y4kRC33_L(B&q=Vy$>^HCTAU!);FlTZ zO$9lGM;q2^tqlLVOCVg7M8{@Nr^VnSqa9BSstY4Q^x1=qo5?uLh$#vsA;uY7d2vRO z0gtXg84R^D8^dV?!}mBktxMcnFJr`DKcvKb zD)@ILW^{0-$7ydUZFs5-@lsdc5DJ-*hfJRp=nL`dMl1dxt{9NHl$Y*D6E4%qhtZ$y z?lEh`X=%_Zuv;T4pl)YnesaK?Np-_QU;9K(bb^|R;mAeK{3mw7&=6(&+6751EAqj^ zi>L9OuyVphJREwz5sBz=5ANvlO1O9!8yoSM6iHC`LLzL)K)L8v=AcW} z#TiA0s5@iE(V5r#`u%0h9}fiV?bw@2^etWSb|?YY5g|fIFAP9DL3nIJ8Txo#D?VV; zd{uQoOT#cK;E;_*O)l7X&%xKCAb%)B==Lq-+=n1D?RLE>ke&>vc>$`S5jmxj`rbZf zgFQ*yq0|j9N+F{$N~eHya;ErYH=HcY%Z9KQ(Y=b(is4J_-aN`!VK4PQuzcxrB?&dA!K}n2ya=Roh|Z(yFDqEdyI`|u8>g;Ja~!#36dR*SYAd(Di&po=Cdw3eV_^hF z;I7LmeZtw?hKqByTt;(HKkl*jd703IX90LDZzhO&m1*oO8Cv?GkMR!uCd6{`48Yo% zr6Vn)BYE);n~K`bvZV)7wIMCLH%3>x`#8I{*jUa0X-Yd{AJ`K=b zRWyO%fj!Rdd9|~TU$o!wkID|FVZCl;hI%E6i>m$a&dvC5bfXh-KC{R#1dgTW*Oa%^ z^c2~Edigj-nl7D31yN3zMK;b|Wy?gjpD}JT!|H|pYHCl|SsA?7I&@0`(}o7 z;(;;GJ`4FpQD!h^)E!%02sc;Hk9a{JTAnNc-i`%KpyS&1ONN@uw$1hPq{3uu8>Fu? zAG#DQ=n)7^$+1PKeI-3<3UK%SC<-IX!Za~*d|QaYQiRy9JC1U(JvnLKu=lP-QGcqo z__+&Hwm@rBui8HpeXR%?Ee?1yf{ewL`}=HD1Zi%p@o+#ULFt}cLhuy!e?vhO2Y^Iws zc*|r8DV}TSp(;chHdRd3^ChgL%OmJY_icl344$e)5TG}dDdqHsR9k#jW6mGAvqt2s z)>r1V4HTM?QQ~eFwoP7mBeL6G3!dByCRfuZuwc3)FU% z4SIsgk5MkArfDH9h%$gqgyz%PG{*Nuql+HfdR;v+t*e*ml9oC^9{qjBQlq#?Q7!|M zxm+S<6wXCr@|cj&v$XBo!?bcG;de$x>I?7V->$y2CPq1nnyOEtm|7swb?>Xy{gmx3N73d%iWySOe7B zW8>!K$vKJ`<%+l(KU?-!#B;k2D0v#$ZuP#^^vBGS>|zx@UM!wvhlMu~<7*^))W^)W zmriUj_(`>*(QdI9bx564WMFkUieOel=|~0QbL!8uJA_o%n!l^dXeL+`kvrL6I8)%$ zC^UOL#NMo*s-r=mRa5iW!<<?$lTanx_H-cV*7WXKCywn?MJ9}`<7F$dvM+7*`f9#y@ch< zr>4x7ijWPXrSHGe9NS2krQ!M2<<)i3#Di{)7u8RapQ9fSb%l*(Gn(ZGc*fv1S9iU2 zIk+Sc7!o6Z-`_R2V)6> z75T}Y#2DfFrl^;Eg>@Y6)O= zUrTT!B{ujMd}>f%k3Q0RxDyL%V6K%+D{pLu-E*?1bv?a(K03R$PdUhIn5*7wr7&<< z6c_P1s|cF5#kmxY-b`j_1bL*(*|5ZNC|2%+V;-aZ*w9#pEzimxY*Zu7A(2$w7)-}_ z0d@D$SrTTCIr3V(+LDFVv~yvyFOP_Tik^{+D>JBr>8`H?ldG?|u%qx)#ThaMYA1?) zYTNLe*LnCxi1YFQkmz35OrR&62+1##7o60~CEEbSJUfY%x%BC>ylm(`_cJh`ZR+Q= zaAW|&YqNgLj(mjfJ1~fO!eP`6(_Md3OIAlxOU!Ang(Y0T;OG|w5YHP2qtWiM!|sdgUr+k6FDO+~OBQVy^{YT9}U+9z8Q zW74JK1V~1g(Wpc4{X7uN#LX(14S7MzjC%;ms{iyp(pvmPQHf$m#n{*~cR?pcm& z42)=ZmuHBdfDM-D!P3KDr>%?W;5|;z+8`wEZWEkF0SM8Qr}1fIS$|l6)vo!l%f!u4 z+hT`-OAab{%6ysl3?dgfk{|J=pZ(ly^0 zXt)EEhQRI@;kt($#Q}a@6D-OxIcoy9e1A3E1-4mw(2VNz>fHsL$w9yEi05;qdOqL; zAV1L$e}pVc2P0V0y9^4xEa?KgWH?rruC zy)*L~Z!5F_bbSJ1@~B&5QY`Ll1{I}V**&#d+F>i|(z_1;f?A%b6AVXYgbVBwWD|y# z43Fe#G}>MZruWp2FH9U0-4T)Ob_&q|3m1Cn`g>~d*=W!mquv2!megm216%jY6>%sa@&#w_{u_R0 zE9tF>_4n(~IZNs8063+1GpX-z-Upa$Te9}ZE#GiQR#%nu3!c>LH*Jt{V1qV5bavr?QQey z&%>y+Ko_azOB*YvoR&({fj1Xyz6HL74PR%!7l-Mx-AHxF<#%3wS$pJ?(z7SZl5N8t zQHabeJf+W{)|1$st1Z@q^Gb{ve$?>cQ{SZ)cj9Lob(zYMkQVFG4}OCgcQl!j8>p!( zm}ZvUHLqXMf?M{i!5=vh#xH;w6(b&7-%Vtm3IB1c*L`5;QHqS$*j4y>%4snA_|Q>} zr%dqkXgDz^cM{IA{U|YxVmVb%!H|3ccj2i#%j3J2vDA1}t{p(LE|30{kI>J!IGp0p zuIIqJoOIY<8ZooSU6E8`W+z0{<-om`O)cW5ogg5xEmd{qY~&|47~! zf!_be#DA>ol=9=?o`qVT6fP^5cbZ0@kN?x_0!67`@)oxaxZ;vmdEJ$0$H z4)u`1+Uu1OM@(+y;_&AS&WpkKI_K+l%Me{K#>G$PwhY`I?Y{ZZ7uH6FfCREAE$PXU}|xLSeiFkYd41`4#SY~c9(QO^u}=)mXc z4)>z0IJqxN`_e-_>C%Z7X-7+>>~tt)-l)d?)u^u&`=k@AJ=b-ywmOm_TI?3$yo`EP zK1Wjw(T=xidUp;_(b2?){)QxY1@W6^=UF+6y_z_3IWMMExtQaPEXo8rfsZen^&sQD zlMm~m5B(>MC?GqFD@ns>>mo)2AB+%X9GlgLo2oJ)+Ej~LIY{Hg(>3n2+w16klG;9T z&fb3bqeyS_{IlxaoNTGjfsMkPkbOjT=#aeK1UzjeSrqzA=;Wubw{z5Ct%D?+Mkw8a zCQ5O?UIiOwny)t*zcHI`Cs;e8#^76PC(mV1Dl5v3VYhS-ui9rIha`)se$}eJBPIdy*c;J1iW=p1jr>0Ve^t&BM%Vuv#j`Q3pOZ%gB6eZi!I0OYLe zB_7Jq!jneqa>nuwaC%T~YP;}U;2nr)Fk5YIDwktdD$KfjunD?juAO7ro~+3s9Jj5q zjMy`$p7hfdiJ7x`1{7U`WjMS}3;Pg#JMObpgS4O1KdB&_8MR0i;!aV4o~~#mmJ(Q} z_Vh&H-d@&^Jk>i1QSsAPxiu)VgeRL>CGW}0L0ft8WK|k4j@Rck%ac0d(5aHsNNO`f zpyI7@^bp<2p%C(Q?#(a$j?DWrnO`4%^Zl{x503h3X!mD@vpOTMV7kZ`iaV0GCp*gI zFgm9fxbU{LDn7nc!cPxLMb8S{+OSsjLpGH`SZ1EAu`spnDEo9h=RD&OBS$_;9WUfZ z65ovFnET#U;9+boR`sl38!i+ui17qtIzk59eaT3%03{u1yaxLhe*R+2KPdJWxc)_` zzcBOM*ne=!J)RR03oU(tVH>aXa(p!ZkwA0+$Vo3bkZA8kCM|60ucjRnbnYk8;r zKQ-_D1`CTVkfoKy07wGhmB?e*S7DbDgSjk_f$= z_)slG?UfLZz(iUyc1^+>l!IvaZoY4A2pJ33IMkF6$K2C5oNNh8GONA;!^7geDjYyyT(Dj zZ1y+YWp$ThERD+|?iJ_ndfP9)dxtaNQu#rXbxQ7Fvge~=ppn{E9;33)XI$#mqCZw7 zoFACuK>L8rb}Ylo7w-8neb4MMQ1ecy$B|rlG7a27Gs+WZ7)MLsVv1<6ZOTCMuRYwN z&+VF}GXz<^0$-W#PSUp^Z}RBR*ex|WbZc>_#6+NxDm1=F&LcQyqPc_LLKPOBAIZ~nc3n%i7^`JZKa?`` z9j{ifkB@o$0!wZKaF^zMbNOJhNd%E9xw0*C14%V{QbAbv2a1A^*NSpcQt{M3d*hak z62cQ%)N=nRkhJ5>mE>BFWyGTYUlX%tT@0?!hoM-dyI7RJG7`n|=R4Si;f9?W+n&GZ zej6W&<;^14wdP3tKZSn_sJBs0;yy7fKo8F|oTI9%t5w^W6YJCTlw7J3+g$lPFujiO z>gm~7nX&3KECa_zE@xwBijiaV+5FpXY+LCzyHXeS4?9_euPqZ-VC%Qn+jSm;G;!>b zNoHfOewa6D*`y&L3f>$oc%RfM)OCL^FI-j-J=C>rRqov?GIVo9(Svo@UZYXBkU`X-vkAwZD;|Nr~px zco`!%aBE`mJf$o0R;uvA$se8C#;MSA-miIu?NY+pNhVSBZo(YlZ55e+Ln^L4LAk+=vSN(* ze$7=$#G&=?%>{UXtgqX$kbf~(H|;aMG}IxaCdxR6fWBbKAvmpmEVG(Cy^#>;kYYm+ z|CQH)u)Ld2N!Z&{?H6{nzRP)^A=)@Agb275$ixp;&y!N~WENv(omur+OI|_D#x2Z@ z*T}a{3+EBVr16ZMF`uvXb>e#VR_F`oU+(HbCI6TznlO7 zq-kAQw#UAL7eP2pRBUxe5Qd_mzf{SxZ-d3*?h+49qRRDJNnPL)5khJL{qfTrVyvoy zeb$$eN7aTg*QR)O)`^;9oo{!S-(QDdoeY3=z7A($q*ceEiy(>K+sVpuiL%%5U}^SB z=hzJUdM+%(QZf88q2S^@5Y}v8q`5B+#dv^oiilEf1WG2%ZnZHN=q_cH;cZEKQMy{Q zrdii5?fhM=*S?hyf^=5?wd>cEwwsU~Q7dzVG>N9!Pc+k>i9H&AYH`v6{D;C#OL}6! zen!{YkBG4E1}2W%42#LJjHKuWSR?5>J4q(mX+)4uG=$GmQ;PoGOFD@H=ld@Ftra-t zH?8C%4ob1-#}l!J1Hsr1QHeR3{6o|J2G(CnhMkFjIM)6DY)AhIiN8aMWdb1z76P^5 zW@&U}JfOi(f0eta<{^DAJ>7su-FAG)o|D??50(YWf8&S~KfrV9dd2Zzt;-mrVV|b2{)W@7!;@31O@NX$ z2z9OhljsS;U&iai|IXIBwsV@r$aRa$CX4?`3vZ zd$KTwY-4AWH)p)hikd7_!|MF~_RB=m5bQ{uwANwqMg{s0>M-Clz29)C=P-QoLoI@|9Q! zEj)dw>XXPOroNk)FSvw#dnH1RgFEShbKgnyDjEAzUh@A4{tL6~f`nrhf7F^5cIjVXgkFbpOAV{MRy8 z>;J&W5SAzYZAmuu|NVcBkHAIml)GibGO4Mt9k~65dy64H+~n8{cM$l^zEM+~==c8P ztZj{A6bZRhcbDV9P0@rm!@w?fJDcaC1JX9nM(trqY36l={8_4k+ zLw)TPU;6l>&Gd8kNBp}pR#0fuO@C;U;)0~nxaXqKvImBbEL7~a+P}#BXK9MtW9 zmQ=f)d$}cl@(dOpGXX5?JAGXs$jkXIS9)L?XNbs8#}YQ{ITATsm@_k`0v?Z^--aAb z#sBE6^>4EFVMB4TBk5Cfi{sN=J?JKaAtlK5eVL|I2T9uT8w-6QuT{pxM#0(q5=bb% zS(2^<^j4^58raN8g}^^KrNE3uba*&5re1rvbwJ`-%{L}}cW%de@x*%o;m zM@!oevJXE`Nq!rO_fs!SiY=a3P4hwbtz7oLf6n0j^d(PjrtHM-r`bH4WaXwN zHOL(HDEwH++i!3gaiwiFW6Grw(>r;$We0n_`-Q6*wEV?t2RJ?U3f;8fD_V^1K*C zhE({u?QW1~J8;#!p3xhi*ueN)#;A69$d`1az!&&(a9xG2f+~3JX5=6z{z}r@L(E}# zrVUEpnnq&wv(BX5V#*Ejl2ty|K4F~yFtd8`q@K>G^sMXVY-OYaTKnqz`~kRLL`oRS zHd@e-6-F~0XwtC1;qL#sOwG{^$&eG;?~&@@QiC`?xl-bOXP;rVx=}C!8!s5~2epoF zNjutNpUSU_bK@H7V}no3fKQ$*^RrqQ*z#O#O6F`!E*J@imr7kbdc9p2>j+X^P>guv zPS}f!ebsbd5G>GikzpH>R5G$#wX$1MyI5kgGr}G&VBYL13*@J09#SX{s*R}lZ5O|} zdH-@|v*7DdALeyfJ49&#a&PLi@c?#r-0AU@B2+< zK9y6V^{wF+H-sz;F29bN*BkNi4j<^_Xni@7-JDJH`{}p@H~XA|81{5gttiX5XyEk> zr=YD2F9FgreR>;W#g`V*zWYikA4$;`a_Zq9r>T9?ZjVD*f%1Gjr4fq}S=4WA_~%Vg)? zDgJNUzT{C_zD@4l>*E)y zy?!}t-4~M|QEOd$_idN6e#M6Ry1&5I>Aa!~N7r^AFN@y0eMx`tO?z`AAG@temu9`x zdjIcs+mtZfrJ?S>zJFP#8f|>>c-EJ=EpPYjQv0$|{I) z-UFURvM6lg!@chPufCLR%asTEW5wCPw#=(D?$v?Z|8}KlRepp%$Az;CqHZSwr%>A; z|0>!mzBYgH_d8!puioxA_;-z)>r34Jw{}%e=iUpDpS~{9MB#5ml}JML#U=Uc|6gOT z%PyBpzZ0fE??SKZ`_#Ly8a6%t(zdU^F7B^Y&g$PKpD(Sy{%zM6|7hpU^}ta-pXP1h zmGAcFc&xm7Y3(bGz1b)C#eE4X{c96-<5%g8^`|bM_53fLyLF-a>R%sapO$Y29=`%A z#q@TSeJQ(m{NG;XSY|{87cGj3{Z~c9FHJ zd%sm{|1#S)wYq$E^xg1&zo6>e9-hnl6)mq_dizR4IomUS{yguq@7;mr{Fl3SM>@*`hLsI-`Y+DNqJj1-H4p z1=qgRW^HwMUi1yzM7XtBF|Zm`<)0{9Mik2<130<^YDox532k);H4Iu{u3QK;0K1Zj zzjY6@vOl`PF;nL=pSlXL@sb_@Z18M`HF(7T-nw0wJzX}{Ic3wD$kJc=p@Qj~i_NP7 zuikUW(!ZPvobrJ*e$G|?e)H@0Vl8Q<$xo9Ur{AB#b3E;N+ZW&-)&3QGeWnB3X+Brv z3b)<*y?R3WyA^x#-7^$l2|oIBm@{X}Z;`+E>c4)~7m7Hd9Z>Y-N9aj|@UlFQpCNDe zF39pXSKT|^ZuYI+`4`{+EeNe<4SD-CU~BrKZym5sQG5NWy~jh}M)r$N_&vov + + + + + + + + + + + + + + + + + + + + + + admin + + + + + + + + + + + + + + + + + author + + + + + + + + + + + + + + + + + John, ID=2 + + + + + + + + + + + + + + + + + + + + Jane, ID=1 + + + + + + + + + + + + + + + + + + + + updatePost + + + + + + + + + + + + + + + + + createPost + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438 + c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051 + c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387 + C40.445,49.917,26.288,53.051,26.288,53.051z"/> + + <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67 + c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25 + c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492 + C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397 + c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359 + c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/> + + <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617 + c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313 + c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/> + + <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813 + c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/> + + <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3 + c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25 + c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807 + s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678 + L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/> +</g> +</svg> + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5 + C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526 + c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228 + s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781 + c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/> + + <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)"> + <stop offset="0" style="stop-color:#49AD33"/> + <stop offset="1" style="stop-color:#C2DA92"/> + </linearGradient> + <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 + c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> +</g> +</svg> + + + + diff --git a/docs/guide-vi/images/rbac-hierarchy-1.png b/docs/guide-vi/images/rbac-hierarchy-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7443fc7e71f555901f7f2d77aa7c27924c2be2e1 GIT binary patch literal 16085 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 + + + + + + + + + + + + + + + + + + + + + + admin + + + + + + + + + + + + + + + + + author + + + + + + + + + + + + + + + + + John, ID=2 + + + + + + + + + + + + + + + + + + + + Jane, ID=1 + + + + + + + + + + + + + + + + + + + + updatePost + + + + + + + + + + + + + + + + + updateOwnPost + + + + + + + + + + + + + + + + + createPost + + + + + + + + + + + + + + + + + AuthorRule + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path id="body_18_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="SVGID_2_" cx="22.6621" cy="21.707" r="17.7954" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_2_)" stroke="#E55E03" d="M28.106,33.486c-8.112,0-12.688,4.313-12.688,10.438 + c0,7.422,12.688,10.438,12.688,10.438s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.486,28.106,33.486z M26.288,53.051 + c0,0-7.135-2.093-8.805-7.201c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387 + C40.445,49.917,26.288,53.051,26.288,53.051z"/> + + <radialGradient id="SVGID_3_" cx="15.2056" cy="831.1875" r="32.3071" gradientTransform="matrix(1 0 0 1 0.0801 -773.6914)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_3_)" stroke="#E55E03" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67 + c-2.854,5.51-14.021,7.807-14.021,7.807s-10.472-2.483-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25 + c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.946,0,3.521-1.558,3.521-3.492 + C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="SVGID_4_" cx="17.0723" cy="18.4907" r="11.8931" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_4_)" stroke="#E55E03" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397 + c-0.514,1.027-1.669,4.084-1.669,5.148c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.334-2.359 + c-3.601-1.419-4.071-3.063-5.89-4.854C12.523,47.135,12.878,45,13.404,44.173z"/> + + <radialGradient id="SVGID_5_" cx="31.8184" cy="19.3525" r="14.63" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_5_)" stroke="#E55E03" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617 + c0.516,1.025,3.617,3.693,3.617,6.617c0,5.186-10.271,8.576-16.699,9.145c1.429,4.938,11.373,1.293,13.805-0.313 + c3.563-2.354,4.563-5.133,7.854-3.705C47.754,49.045,48.006,46.574,45.777,43.924z"/> + + <radialGradient id="SVGID_6_" cx="30.4893" cy="4.8721" r="5.2028" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_6_)" stroke="#E55E03" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813 + c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/> + + <radialGradient id="SVGID_7_" cx="23.2871" cy="5.3008" r="5.5143" gradientTransform="matrix(1 0 0 -1 0.04 64.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FCB57A"/> + <stop offset="1" style="stop-color:#FF8C36"/> + </radialGradient> + <path fill="url(#SVGID_7_)" stroke="#E55E03" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3 + c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Young_Black_1_" fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25 + c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807 + s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678 + L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/> +</g> +</svg> + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="67px" viewBox="0 0 57 67" enable-background="new 0 0 57 67" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.199-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.5" y1="-12286.8594" x2="6492.1294" y2="-12380.3086" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3350.4617)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/> + <path id="Hair_Female_1_Red_1_" fill="#FAE1AA" stroke="#E2B354" stroke-linecap="round" stroke-linejoin="round" d="M28.372,0.5 + C17.537,0.5,8.269,7.748,9.153,26.125c0.563,6.563,5.862,12.042,9.366,13.531c-2.929-10.968-0.304-25.021-0.585-25.526 + c-0.281-0.505,3.536,6.728,3.536,6.728l3.183-8.312c5.541,4.28,0.393,11.309,1.049,11.058c4.26-1.631,5.34-9.228,5.34-9.228 + s2.729,3.657,2.701,5.504c-0.054,3.562,2.194-6.067,2.194-6.067l1.027,2.031c6.727,9.822,3.684,16.208,1.648,22.781 + c15.666-0.703,12.291-10.48,9.66-18.407C43.59,6.092,39.206,0.5,28.372,0.5z"/> + + <linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3134.2153" x2="31.5133" y2="-3134.2153" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3031.9851)"> + <stop offset="0" style="stop-color:#49AD33"/> + <stop offset="1" style="stop-color:#C2DA92"/> + </linearGradient> + <path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146 + c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> +</g> +</svg> + + + + diff --git a/docs/guide-vi/images/rbac-hierarchy-2.png b/docs/guide-vi/images/rbac-hierarchy-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e77c5647c1d40c4e739962cd81a7b1f78a89a484 GIT binary patch literal 18786 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 E0KMRz#Q*>R literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/request-lifecycle.graphml b/docs/guide-vi/images/request-lifecycle.graphml new file mode 100644 index 00000000000..aed5293b176 --- /dev/null +++ b/docs/guide-vi/images/request-lifecycle.graphml @@ -0,0 +1,834 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + user + + + + + + + + + + + + + + + + + + + + model + + + + + + + + + + + + + + + + + database + + + + + + + + + + + + + + + + + + + + + + + + + + + + view + + + + + + + + + + + + + + + + + + + + controller + + + + + + + + + + Folder 1 + + + + + + + + + + + + + + + + create action + + + + + + + + + + + + + + + + + perform filters + + + + + + + + + + + + + + + + + + + + action + + + + + + + + + + Folder 3 + + + + + + + + + + + + + + + + load model + + + + + + + + + + + + + + + + + render view + + + + + + + + + + + + + + + + + + + + + response component + + + + + + + + + + + + + + + + + request component + + + + + + + + + + + + + + + + + + + + application + + + + + + + + + + Folder 2 + + + + + + + + + + + + + + + + resolve route + + + + + + + + + + + + + + + + + create controller + + + + + + + + + + + + + + + + + + + + + + entry script + + + + + + + + + + Folder 4 + + + + + + + + + + + + + + + + load app config + + + + + + + + + + + + + + + + + run application + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + 9 + + + + + + + + + + + + + + + + + + 10 + + + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + + + + + + + 8 + + + + + + + + + + + + + + + + + + + + 6 + + + + + + + + + + + + + + + + + + 5 + + + + + + + + + + + + + + + + + + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="66px" viewBox="0 0 57 66" enable-background="new 0 0 57 66" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3799" y1="-2276.8809" x2="27.6209" y2="-2306.6792" gradientTransform="matrix(1 0 0 -1 0.2803 -2252.9199)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path id="body_13_" fill="#ECECEC" stroke="#9B9B9B" stroke-miterlimit="10" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,3.802-10.063,3.802c-4.453,0-8.292-2.146-10.063-3.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + <path fill="#2068A3" stroke="#2068A3" d="M28.106,33.487c-8.112,0-12.688,4.312-12.688,10.437c0,7.422,12.688,10.438,12.688,10.438 + s14.688-3.016,14.688-10.438C42.793,38.75,36.215,33.487,28.106,33.487z M26.288,53.051c0,0-7.135-2.093-8.805-7.201 + c-0.222-0.682,0.147-1.156,0.795-1.521V37.8h20.188v6.663c0.235,0.352,1.109,0.737,1.229,1.387 + C40.445,49.917,26.288,53.051,26.288,53.051z"/> + + <radialGradient id="SVGID_2_" cx="14.2417" cy="9.1006" r="53.247" gradientTransform="matrix(1 0 0 -1 0.04 65.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#74AEEE"/> + <stop offset="1" style="stop-color:#2068A3"/> + </radialGradient> + <path fill="url(#SVGID_2_)" stroke="#2068A3" stroke-miterlimit="10" d="M49.529,51.225c-2.239-2.24-5.041-3.724-7.396-4.67 + c-2.854,5.51-14.022,7.807-14.022,7.807s-10.472-2.484-12.387-8.514c-2.439,0.771-5.787,2.287-8.749,5.25 + c-5.592,5.592-6.47,11.67-6.47,11.67c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492 + C56.055,62.768,54.211,55.906,49.529,51.225z"/> + <path fill="#5491CF" stroke="#2068A3" d="M13.404,44.173c1.15-1.81,2.039-3.832,3.332-5.397c-0.514,1.027-1.669,4.084-1.669,5.148 + c0,5.186,10.366,9.079,14.688,10.438c-3.472,1.627-9.134-1.498-11.335-2.36c-3.601-1.419-4.071-3.063-5.89-4.854 + C12.523,47.135,12.878,45,13.404,44.173z"/> + <path fill="#5491CF" stroke="#2068A3" d="M45.777,43.924c-1.317-1.568-5.11-9.424-6.604-6.617c0.516,1.025,3.617,3.693,3.617,6.617 + c0,5.186-10.27,8.576-16.698,9.145c1.429,4.938,11.372,1.293,13.804-0.313c3.563-2.354,4.563-5.133,7.854-3.705 + C47.754,49.045,48.006,46.574,45.777,43.924z"/> + <path fill="none" stroke="#2068A3" stroke-linecap="round" d="M30.777,54.167c0.357,0.836-0.153,1.983-0.352,2.813 + c-0.256,1.084-0.072,2.104,0.102,3.186c0.164,1.02,0.156,2.107,0.25,3.167c0.082,0.916,0.482,1.849,0.357,2.75"/> + <path fill="none" stroke="#2068A3" stroke-linecap="round" d="M23.695,53.417c-0.508,0.584-0.476,2.209-0.398,3 + c0.116,1.183,0.456,2.099,0.333,3.333c-0.192,1.943,0.154,4.479-0.436,6.333"/> + + <radialGradient id="face_x5F_white_1_" cx="27.623" cy="-2278.646" r="23.425" fx="23.0534" fy="-2281.1357" gradientTransform="matrix(1 0 0 -1 0.2803 -2252.9199)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="5761.7578" y1="11330.6484" x2="5785.3872" y2="11424.0977" gradientTransform="matrix(0.275 0 0 0.2733 -1558.9874 -3088.4209)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M27.958,6.333c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.083,13.952,36.271,6.268,27.958,6.333z"/> + <path id="Hair_Young_Brown_1_" fill="#CC9869" stroke="#99724F" stroke-linecap="round" stroke-linejoin="round" d="M20.278,13.25 + c3.417,4.333,9.333,6.917,9.333,6.917l-1.417-3.5c0,0,7.094,4.691,8.083,4.333c0.968-0.2-1.082-3.807-1.082-3.807 + s3.138,1.795,4.854,3.969c1.803,2.28,4.285,3.504,4.285,3.504S47.027,2.719,27.289,2.744C8.278,2.709,12.058,27.678,12.058,27.678 + L14.695,17c0,0,0.914,5.757,1.399,4.875C17.861,15.211,18.861,11.5,20.278,13.25z"/> + <path fill="#4B4B4B" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M28.105,2 + C22.464,2,20.2,4.246,18.13,5.533C29.753,2.865,41.152,10.375,44.46,20.5C44.459,16.875,44.459,2,28.105,2z"/> + <path fill="#9B9B9B" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M11.151,17.751 + C12.878,8.25,18.686,6.309,25.273,7.127C31.295,7.875,36.93,10.491,44.459,20.5C37.777,7.125,20.278-3.375,9.903,3.921 + C5.569,6.97,4.903,13.375,11.151,17.751z"/> +</g> +</svg> + + <?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="41px" height="48px" viewBox="-0.875 -0.887 41 48" enable-background="new -0.875 -0.887 41 48" + xml:space="preserve"> +<defs> +</defs> +<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-979.1445" x2="682.0508" y2="-979.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#3C89C9"/> + <stop offset="0.1482" style="stop-color:#60A6DD"/> + <stop offset="0.3113" style="stop-color:#81C1F0"/> + <stop offset="0.4476" style="stop-color:#95D1FB"/> + <stop offset="0.5394" style="stop-color:#9CD7FF"/> + <stop offset="0.636" style="stop-color:#98D4FD"/> + <stop offset="0.7293" style="stop-color:#8DCAF6"/> + <stop offset="0.8214" style="stop-color:#79BBEB"/> + <stop offset="0.912" style="stop-color:#5EA5DC"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<path fill="url(#SVGID_1_)" d="M19.625,36.763C8.787,36.763,0,34.888,0,32.575v10c0,2.313,8.787,4.188,19.625,4.188 + c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,34.888,30.464,36.763,19.625,36.763z"/> +<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-973.1445" x2="682.0508" y2="-973.1445" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#9CD7FF"/> + <stop offset="0.0039" style="stop-color:#9DD7FF"/> + <stop offset="0.2273" style="stop-color:#BDE5FF"/> + <stop offset="0.4138" style="stop-color:#D1EEFF"/> + <stop offset="0.5394" style="stop-color:#D9F1FF"/> + <stop offset="0.6155" style="stop-color:#D5EFFE"/> + <stop offset="0.6891" style="stop-color:#C9E7FA"/> + <stop offset="0.7617" style="stop-color:#B6DAF3"/> + <stop offset="0.8337" style="stop-color:#9AC8EA"/> + <stop offset="0.9052" style="stop-color:#77B0DD"/> + <stop offset="0.9754" style="stop-color:#4D94CF"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<path fill="url(#SVGID_2_)" d="M19.625,36.763c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927 + c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,34.888,8.787,36.763,19.625,36.763z"/> +<path fill="#3C89C9" d="M19.625,26.468c10.16,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.554,5.438 + c-12.125,0-18.467-2.484-19.541-4.918C-0.127,29.125,9.465,26.468,19.625,26.468z"/> +<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-965.6948" x2="682.0508" y2="-965.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#3C89C9"/> + <stop offset="0.1482" style="stop-color:#60A6DD"/> + <stop offset="0.3113" style="stop-color:#81C1F0"/> + <stop offset="0.4476" style="stop-color:#95D1FB"/> + <stop offset="0.5394" style="stop-color:#9CD7FF"/> + <stop offset="0.636" style="stop-color:#98D4FD"/> + <stop offset="0.7293" style="stop-color:#8DCAF6"/> + <stop offset="0.8214" style="stop-color:#79BBEB"/> + <stop offset="0.912" style="stop-color:#5EA5DC"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<path fill="url(#SVGID_3_)" d="M19.625,23.313C8.787,23.313,0,21.438,0,19.125v10c0,2.313,8.787,4.188,19.625,4.188 + c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.438,30.464,23.313,19.625,23.313z"/> +<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-959.6948" x2="682.0508" y2="-959.6948" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#9CD7FF"/> + <stop offset="0.0039" style="stop-color:#9DD7FF"/> + <stop offset="0.2273" style="stop-color:#BDE5FF"/> + <stop offset="0.4138" style="stop-color:#D1EEFF"/> + <stop offset="0.5394" style="stop-color:#D9F1FF"/> + <stop offset="0.6155" style="stop-color:#D5EFFE"/> + <stop offset="0.6891" style="stop-color:#C9E7FA"/> + <stop offset="0.7617" style="stop-color:#B6DAF3"/> + <stop offset="0.8337" style="stop-color:#9AC8EA"/> + <stop offset="0.9052" style="stop-color:#77B0DD"/> + <stop offset="0.9754" style="stop-color:#4D94CF"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<path fill="url(#SVGID_4_)" d="M19.625,23.313c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926 + c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.438,8.787,23.313,19.625,23.313z"/> +<path fill="#3C89C9" d="M19.476,13.019c10.161,0,19.625,2.775,19.625,2.775c-0.375,2.721-5.367,5.438-19.555,5.438 + c-12.125,0-18.467-2.485-19.541-4.918C-0.277,15.674,9.316,13.019,19.476,13.019z"/> +<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-952.4946" x2="682.0508" y2="-952.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#3C89C9"/> + <stop offset="0.1482" style="stop-color:#60A6DD"/> + <stop offset="0.3113" style="stop-color:#81C1F0"/> + <stop offset="0.4476" style="stop-color:#95D1FB"/> + <stop offset="0.5394" style="stop-color:#9CD7FF"/> + <stop offset="0.636" style="stop-color:#98D4FD"/> + <stop offset="0.7293" style="stop-color:#8DCAF6"/> + <stop offset="0.8214" style="stop-color:#79BBEB"/> + <stop offset="0.912" style="stop-color:#5EA5DC"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<path fill="url(#SVGID_5_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188 + c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/> +<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="642.8008" y1="-946.4946" x2="682.0508" y2="-946.4946" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#9CD7FF"/> + <stop offset="0.0039" style="stop-color:#9DD7FF"/> + <stop offset="0.2273" style="stop-color:#BDE5FF"/> + <stop offset="0.4138" style="stop-color:#D1EEFF"/> + <stop offset="0.5394" style="stop-color:#D9F1FF"/> + <stop offset="0.6155" style="stop-color:#D5EFFE"/> + <stop offset="0.6891" style="stop-color:#C9E7FA"/> + <stop offset="0.7617" style="stop-color:#B6DAF3"/> + <stop offset="0.8337" style="stop-color:#9AC8EA"/> + <stop offset="0.9052" style="stop-color:#77B0DD"/> + <stop offset="0.9754" style="stop-color:#4D94CF"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<path fill="url(#SVGID_6_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926 + c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/> +<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="644.0293" y1="-943.4014" x2="680.8223" y2="-943.4014" gradientTransform="matrix(1 0 0 -1 -642.8008 -939.4756)"> + <stop offset="0" style="stop-color:#9CD7FF"/> + <stop offset="1" style="stop-color:#3C89C9"/> +</linearGradient> +<ellipse fill="url(#SVGID_7_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/> +<path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.04,45.982c0,0-4.354,0.664-7.29,0.781 + c-3.125,0.125-8.952,0-8.952,0l-2.384-10.292l0.044-2.108l-1.251-1.154L9.789,23.024l-0.082-0.119L9.5,20.529l-1.65-1.254 + L5.329,8.793c0,0,4.213,0.903,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.645l-0.521,1.416 + l1.46,1.834L31.04,45.982z"/> +</svg> + + + + diff --git a/docs/guide-vi/images/request-lifecycle.png b/docs/guide-vi/images/request-lifecycle.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ed032cec2432925eea80ece48ad35194c3074e GIT binary patch literal 38617 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�?E9#H1_bo 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 X?E)*)L#|uB2U+3i>gTe~DWM4fWOCxu literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-app-installed.png b/docs/guide-vi/images/start-app-installed.png new file mode 100644 index 0000000000000000000000000000000000000000..a70f3e687dbc20f2e8bae02c78acfc98d309ef3f GIT binary patch literal 79105 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

MYH1e;@cc;%i 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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-country-list.png b/docs/guide-vi/images/start-country-list.png new file mode 100644 index 0000000000000000000000000000000000000000..6994da21030059033813bd82b488144d0ac0780e GIT binary patch literal 48009 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 z�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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-form-validation.png b/docs/guide-vi/images/start-form-validation.png new file mode 100644 index 0000000000000000000000000000000000000000..f38652871ddc5a0bdef948f4db0f5bcbf7456de7 GIT binary patch literal 40121 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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-gii-country-grid.png b/docs/guide-vi/images/start-gii-country-grid.png new file mode 100644 index 0000000000000000000000000000000000000000..746663c8f9bb9544fbcfe0ce27965a3d41c4722a GIT binary patch literal 85543 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 E0OM0aZU6uP literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-gii-country-update.png b/docs/guide-vi/images/start-gii-country-update.png new file mode 100644 index 0000000000000000000000000000000000000000..51f2d38a320ccd1e6b98fefcda51f4d2e2c2d18f GIT binary patch literal 54509 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 K?^oZm5C0$D&(72U literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-gii-crud-preview.png b/docs/guide-vi/images/start-gii-crud-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..85c2355f2eb8e006b38d82dfea854f007744083b GIT binary patch literal 57090 zcmd43by(X?*Dgv0D5XGKN-194iWGN>I}|Toin~kDwz#`nAvly2cPsAh5-bFl;1W1V zpXYhM?>&28-*xtNzP-=MKOvLJZ`Q0?vu54vUPH)7MJcSOgildWP_SgA#Z^#H9vz^d zJY0M75Yf`hPDF!(vg|1%E~4f>zqf?-;g!ps@X?%EW+J-Cb2U;g6wc9Co+ylYjO7m- z{Tte33$b^;Y+GKz1*f0>@^AXoh>1QY#sT>zD6pNJTqV!;7oa4&Ah#^C|I|0CY|VR24VM*jUF?se0? zJ2836(v|LmB+A?zfis+}o>ixb;jsd(V&4xq}AsVEiJZ zy!u32Q}f>d5wO@|XE8Z5%zkU+gI6vN5D)&De_tI!=%#herhn>QXQm=L&% z1?p`&x-aTSnnK48n1WbzSvg4}K6YxQa5;T1U^>f`1kyaIPQ6uCh#I;m+2#NVRh9hQ zJQ=of#~>EW_dpx8v*H`~$>fP8BIF0iBsO17=7fkD}tD(Diaz0=d370ObN?UO_ zG^orF%r9m(n7=tFDX=W=K4V83KML!rC7GvpyMp(~<4jkzOew6slWI;b=Xm_1Cl8Ve zqF`R|kAejywf7M$Bk}MYR_h%l7I~Z}nLp%?PYVSS)?G04Z;nb*b?fX~psl+~x(CF{ z5IEiyi`ENbIB~OXtDD(b&pj1>{!+_cP0wAF{?&p~!VOoe0CN@=a`dmLnnVyX=W#0e z{7hE}M!o;)tN_U_>SUXMpqg;>Chy~@0f)2xa>! z;x;NAsGbqu+IJLncy`|y{n5gk9ZTRXN46>4xyA2iO?Mz^6#g^jk5SD#QjqNrBkT6= zlUa|WfIAbtLbl5{yAl;7MEv?Hn*y~mH5(P${B98~ZIVQ5MQY%J>C>W{o5`KERx)Al z(jbSdpkEG|JQl+?(5M-Gfu&pn`j`BkXiH-bYrO$+J>AFafA$V5lyH#oeuv{gRP%u* z)e82e`#K%VDAow>q%{{YX_nMc9WiP4ssn$cXV%b9;pyTHdybL(kqn`pl+ovw*qk&< zXdcz6se!SRa?Iw}H`U55wXKIh7c8^1c$$Xa5PpTsBDJbB=gi7c!=66&oA@N=>I{k` z)N@7L{Gt6rb=c+iumVD6w{#j!m^H~_{s`qEVV&1%S7PA6KGQn<{T~sZxnSko3V5y^ zI@#2V3W?whPDC|7jW8?ZU`T>m_H5QaPP(o<7r)55S1#FG_ZMEnJua{y#O8dfq}i>i ztgpiiMi^E}bu|qBGyvvz3e?M|seU!zIOw}Zo%z#fHycFAC`8!ut+&f)x`I~k*7kb; zW;~EZ`0Y#`xXOGP*idn4WME^pc!E*C!nHen#c1+aL{Mwt(&o6l;y;OK)3Sedwf!AE zf8J37O$_E-3dMP~a0F<0uB4>iM_oua0=2JG`*E){m*R_0a*=F(F&?OMDcX|ygSJe0 z0{7#Nm{*qeM9G2h)Q`){i1p$D8d6WZS>7R?goBj>G1H@UJTlJ1_p&DfL_q*X1IP3= zC1&nJcy4)9v~Kbn_Z|gC{akMI+x#B@u&ZOc%e0M1RB65@m!|jpCFJHm^k|dQL}?IL z-6qsF6zH>;FnCH#p2fKGJm;H*O%<+cET(_Wc;LXgxx21qKY+PjK3!#A@a8%@KmVkU zWhBdUK-^=RusB^ZY12g=2H){f_q}fi4JUfrj~jDex<*#sS4r+|OEDYV{%mp8;mal^ zZgPXAxv35kdR%q3?9*QO$TQasV_;pb8*C>i;Gr@lWW{0*v-?2>O2c5ZjBe?Lbi@Nu zAB-qB&x$y_^Ec=J97n9sd2v8&TJR^&F!w}$b&C$XF@u|8tW(jl77cxVhLKemz~41G zbH%AnfH|t5UYf_tV`c3+A^{V>UQWetO3k||KPnP7&jDTlgA1}r-S>Aj@q2e8;r3(3 zWbUqOUxQ3s4}>-xHFw8=S*3@X`s1y;95(HPg|9rW)F6@5hlSdNP%UzH3hLATI8R}L zW?$NBNH{7x*|^OdtTlrP?8DrIt2H{QLyV^eB!&QG@LAW9w$6y_nwv#kJlC=%`He8zxLCk;TYUJ>3nHAnVY$?DAG z!4|tBnJKP!^=_)1X3Q}mH=fns?rPB_mP=aCi{)uW+4_}yx9;Z}Zej%rKZm0OwA?fxCEopteTnDcVRh5SBIa$P>C z6%<99pm|X;xubLv>1*KHy_j9k^(71ae#AD1yMEETVYPGEx_YPLPR}z7AQZzgYVgwY zylvPCJ+u$?cu=P~2_7&yT~noDBW%zdrfYwcafo{?&^$BeM-9Exj8K1^HK6l1y=yi*@pt%M zGwqy1wQ}a@>mgNDmGO!BCp^yi_)mh_1ta$bvEi0Osv~$yRc#Q|IZ==PRQ(-gO-q3m zkik!t3r>>#L52Hz(2TVLF9C#Bs>OU)5^q+Q&#Ba8CM{5Td79sR=TSrXdCj5RFxjFA zGmm_0m(_OVX@BKS7(b4(^763TUHpx+I=4-bYX;cBdewM8-MyH!x=+@P=zVRg=EQO#F;f#p>YEFD)LuCi}qk!6NL) zVbSZb&-Gqq2LriwF2iEnb`MyU_c$*J!||q4>9;o7ip0$y6gB4m?Ts*GZ$vxFE)9 zf6bwr?(M3RW!}h8T%u6H0xXDyua%nw;{AQk&bN2TAt(5wmCs$xdfRZNH^Y*SKKuS_ z!My`EnZi|jrAcS?*BKgb1~YjnKY8^~#`P9@9Mon$;vZpxpTuvHHJ$=t2Q4{`Uj+1; zta%8}j>#I%Usa{H5WIbYCFP{E(FyQPZi6`Z+|)NVlJnNKF-(@e(qOV%pT>2yjCR?D*;gzBq*Aj|6(|NY5;PpTJ*0YZaThFb(3* zp_ywunuLq*XP(?II4A=513pNY&12=<4`hZrBc-=s!r>#pdD=!5@@5CAxd~S>Vtc^8-CzuA7_B(YWQdL#Qd{$a* zoPW@Ec+WC`QtgJ7GS*qmVpQSnVR&R!FA2jTk5JlNT=Ooig!fy5DDmZ8-v+k~2Ug$+ z3oMo`tPPjhMe>7XnKBVapN#rf)WWY@+wmxp~7$@Jox{*KhdKu=U{^J-58nIPL96>gn6EURU zQ;^o@z|k2`KJ8GP6jE}b6l1a6oq2P)dnc$j37$Nm^>lyun|AbAUe!%mgPo+vY?(qo zam)KI9JVo{R}6H{eL-TTexJZS(ros7O-gWt zLyyntmd&8;xL(Ve<+WEu%j)S^=4jB;qr>zMwu`Q^>Z;3kyDgaQ7xjUX3YPqH6DnXP zSKP}X7wcQ)<2jwyn2Se>xTsN0Y|YRwpti^Y4U2ijGp{=kc+%*`*B)_%b!bJll3oa1 zoGxN!wW_*bJ_O&i6p&?2v=~hUwbE7VTso6puVk<&9zlf@om+8Q6>feT-WiQ7jubp9 zn(-d#QnI=;-YvVv6o`uMA!|&Vy@|R#>|ujx3E?}z-#={^5*(VGbFEh<3dU~E&{-Dh zCj08UiQ3Os6ZbI<@p@{MP9t6wKAv!O{UF8$A7y>J@yBD| zwIbb68<|?Xa~g?SCAQ}m_uJR4I36p_75D(oXv1EI0m;%P7Qj+c0JaG-{_$f_wJ-xn z%|=ub0QHRZFH`L`fy{MBf*hX#o7xyh&q(!{hPudF>rN@v<&4&G_nIzcmijyRS*GG& zs%>TQuO5hd3@7{C$?gkXROKGgar#X z?@7^Ik`SeCAGYOOEEzbSxA_M7`0k6_jdifK&NpXxVitO$nBlaCwqC_NxUTf&BokgV zfp&UxcuSgr`%sH(5CrpQGlCimz~aY zFq|)I@J>iQZ9HydOk{>JuJIq995~ePDub5lX_2lnjE9jue?jT_-rTh8vfcA}=(9|B z!Ij?x>W1C#Jsx|H%cnv5gwAeQqG=^K@8Xk26wVJ@+~ao&3f^)Vb%&(dR&ZY5ZA_!n zF2CMxsr>=zvE%D3yG^dL&?UXty-id-(}R0IwnQWYJ`1>SNf}3Qs%i}jdz^KkQFf{A zqhbg$Zt$nVkf5#S-jzDDW$K zf1&|;jRXsM`$=|B^N0fk4`sM;mbv%O^9)6O>{z5GrGh7k52l+0GoX=qxdEqEg)IIQ zK(B@RGT;1r`^^mqW39C0Rbv*U@goq{Y(~V-c-Qql80Iy?J8alM2Ub6kP{LA|qdd}D zsiMo&pM#6_K@9o}nP|~@S*F#OoZ-6DCq{kI>z9Mo2AO+uQaTG8f2A zZtmUAyrf?kkIE3{bw^!;u<wpi9?-s4gc*_N=}qhf?M4O$z?b6rO9#74w@hX4*g5f56Ut3ACRYnVpQ{ZPKUH5L z7_90*amtK$k{f05rfOy~jd4I<=5TwGX-cW8j&JnvroS4i3^%s!^GB8&0F3~mb&Jeb|mG9iiBomHi_x*LUGYkoz zyL*E-TZNOke^!`XU`uykNmR$6mYB8tLHO3PjQ#aA5mS5}_SGKRQF{JT)#qVi9PWZX zQd=%B8<~hcI^j~(iLARrivGC#<+IDB^5e?R*6Udk$|pl6)!vX=7w{f~H}9_Nw~Vjh zuq2OoJF}@tQo=cqgZP)Au8}7+@-+DBW<-tWO* zUWce_qw1%lju$wMYEmuZwgg-5GZPI=zIQ5GCv(y3i%pY|VX3BNrJn^oO9%*mmIb(| z^B3Av7T;XSZ-1tMz8j^_&(%I*+Gmu>&&82pF^Z}cLvj&Pni3(bd&>agv=2Gai;}+v z4?CHqv0#ep!j_gv&xS4<0P?k0<~Cw80HA0b`uz@N1@v|6SRtr6+m3aM&KC+KtrW{R z_i}G&1V&kh3JAJ@t|NnJ&(17_v}Ss7pJUu7t5?>pFW|Tce~vSq7r1O1S^hoI>f^RL zEVX17q&RzGH~_))7I;t%+EKY*o0SnDJ@nIzgw=`v?w-R6!ZT=LcRrWT{AvX4t#nwq z8p0dV*>TOum(z(8Tkez3~W_! z$O5P9>3Iw{n9ZRh60pmkB(HX3k0jlh%?8hVRAdhp$`8cyadIM2I15R4OqY=Bv`N$sd~Siic7NYM67(*pWbwvNY!je>ADN$m9G%w?>R>IZ0~9? zS|YoL0--9V4Rv8GB_1bEmKU1grxfP?t~GAADTks8l5=h?SFmMW#rw~ho9=@(tzw$5 z!6#N)U=}qdEVuq4*IL0c9jy~B1333&zl_t~Ye5N++TFFwAxjnx??>s$&VY;hduV_` z&$jxC1sl~UZo4E0Lb@_Wxj>!1s!^}R6~K9L>%z+0w>cc z_3h9biw%XYMOOT*569wUL@i$nREl^Bhswq9TRoCI+Im>~rGB2{@g6+T&odYu5h-lc|+a&8V@ttG=yNex+^BBXGB`1Y0tT9e^+GH-lTcl(996 z?HA23#hj}-yj={=$*y9xw>g#E2V_0+c9K{)qy~!eWGW?Uw`@+z3>usJ|2zV%|eZ@H4VW!|wuvnc=O!@ivB zx}$+-SS-t$(Aj3G(M?h4TMq+fC0z1ja;IB67dc)d+HY)v}d||pDtz!x%8#@y97j*9q7oomI$0Oh<(Iz zhGrXjyfQX>1iXcP?as5m#!KIErwJ7{eBc@KrekJn6VW^sx7l;qB0JP@i8?BuL9FqG z9*p*0xbw+lFQKd+sNq&b&G5p>mv8b6{1XdkqrnapX)$qqS#zs7J8 zBZ*`DoEsmw(h?SA6_vrCeIxUF&gn2T<@BVMghEGOJXUG!x;qi*7qE``n|ARo+H-Y& zJ+kaOI@NMkf137=bKd=_Fdp`qUTydzb-0Z!BRjDjQWx2K|!Mvc)m*2!u2g<;$ zy{JfC)HEN6NJ4)j31|hJzjz7uCd&}IRVRYaG6D*YJFVE~b=0z~fVa)Q=c#->tMI8a z(qvsylb~E ztpeP(-AAz#*w9DkGNI_YFmh#-?m9l&QZ^y%3+UZ!xgj~X>{$~0{W1&NWkQHtJ~=&n ze6hd|qP#qJKg~O)5)&PIJn0M2W$VYhG&aVY3l8pPxp&xn0PU5yhc zbEVQM8YRBbp12|k0@Bn`MC?9081&p4;^^tG$5PX3nx_nQIsu-_x_A?S9B`^vxYBTM zlWif#f=xgZvBi&oOb=Ct;aQaMvv5I^H zSx^srYYHuf>4N@hZ)XY0P`k^Zvt>bMby1b%Yd>$1vl8--&9GLp2~?uD3JdO;8QR*P zvi5|`M)&A%$N2EoO<3Js`UT#Yhd`7z&HbuFpY{EE*+o>mt>JW? zq}b{39p!s!cl(42ouA51mlW6rg$6wqh0i&B6qrxz!MT|wVX$K zBNp?NJm*us+NO2jOrJh>MP;=>Au~({KiEFP*NA zPbSM6lSikKYw*A_j?R{y6b1MU$A!VSHDItp)pTL$=F}LSmRyj4I@=q?*|ks(63HIq zmW4ZebU<~X$05=RB1gD5c&)`+$an7mGrnO4zr?yhEsk%xN>YGpJ$xm@D|Du_8@yrC z-+8{7d#hHpMq=xI2FxLQg*2A?_Py>zp>t$T-xsDNAPYolh4r(dx_Tm}%3kZVG zv3CMy|Fw&Q`orH6`uw}9W_sPhj1mIC@8&;X?MgW3500?VsPT%@4u@MH4H$F*+L zj%T?5T~fO(9ZM`t{?8-4`sCKRnfCi<$pzTqIbaA!JZ4&<_LY7u?+)P6RZG3B`(D_p zRJqgI@_p$=?siQQOCf5FT3RDl#*bFhglCO%xHLDYysnHMeWP~Jw{PP-u4*(qKIwh# z(7J1invuVe%kcK%KiD=(5-3>Ux+_fE3s_8Qk~zxUx8KeQU2*L7wrbs{1An>3*FxkS zHkka=l75C>OD^6u!1190^#{whI)1L{%X4DSQ}*`v3@2Pfy6|Dv)_@HX(K9nOafG|Q zzm58u)sGGo0H~Jht~EnDCWH_3B#--~NsgOpOQ0()*X|1EtcFG?fOqg`T*jyO9dY`I z5JOpi=TN=4k3T;ZhRscu7NTlhd;3#yX(R=2&G}Gu()eE3XF`#5tWWIMEvQA&_Vysm zn}R6wLnn|np&&|5^2)DqMBS$685bfY!u_3yfts=($E6wA^z#Cd9leuyyAso`r$dXd zCWfAgzRVtonr&i+u)b3Q`i@gto-5AeY`w!JMTDe6VIfFamH*~h2n>Es>dk(T7dXfH z_)wg>)vtK?u+~L&Z9Wir~=NI8tcyOOsbhfK&Fm8%gBmd1#3G*98t&UYE)1^%w zi&UG|RP#HTFrXgrgne66{Vs1~|E+!~zDW({EUpFOHi+ots&XEU@yQ{hHd}G{W8pPM= z5yDJ=-M2r&wVV3#Nndxy2$zA-j2E1A56NVGF4`r8a1v*ps1#)cMSc8$Hx=x!<~1V; zC==?xaIW&XA0|x5S>M5tB2yl!q;}$~1vP?gzZeAj>yOyb;hUqc%njUgNqI_ryOU8J zZ)()DHCSz-Z0tKK(n35O<(I|`XTMYPCZB(|vKY)b9_lC|D#XdfvZ8FLpSInXVCH+- zU^}Cu33yxG7P$iBEw+s`wP%n_0KXinYTP!_w|Q|t7&QYe?Rf&{RL{HTRc_55Hg@!d1-kDA}ibF zyJB3YH0MYcYVCsSV`7kIO*qAT)L)@vahzSUR;<($^CF}~lYwH})otNccoHj3<^;kp~i0k3qs!E?M?d-E<5AIJCszmDKzxC=Z` z>YY&^oX9&7eQ>x|ewgM8(H&Cu@a~wL=y+$>VRI=ts^&nV2q@*PJNkZ@wzXMrbw%LMa)MykL%kHN0;w_GTW#MNKzGpF!`EuH zLLGSX+OvTZy42=$5c5e&+cU`?+~}Ejqf7OV$R{0n+QW02EW4Wtv-r17n3GZ~Bsre1 zp-v8RHVq5jZ(9g?aRz;KLbWU?^3NbLIsGsvXs+*Mh4 zh#9(_cy@g7YJWz8k2pa$i|z)0cvqCf`eH;?jd>u8eHA#rSZ`%?x0=PhxmIu>WkoLE z!;(GkySZ@t{XV~KkHfycC3aAWU7{Fw`)c?_*B@!>9NtI42$|q)*(5f!_ik^8CU!BH zlRjRY#XM;76$$TN_H!yvaLP`ZnC{)>6Pubny0XN6|BE+B@%}VRfYh#u1sf@DTf}a0 zjzBh1Aat}mGZNPMA-|w@yk+AhVRfLH*w6iD`KVee9^*kM?qqIs1CFJPXYGW1f%%Nhk?z4>ssV<8%R=BimlH~RH zd)@m$v6ZLWE0&L#Bpe1REd$7l04d53zKG7L&?iyhbK@)vnoHGiCr!Cpq$wtd?{x3F z=qU_nyf)b{w!ug1Ha3+LTXN>rpK0J4uC=TU57tsQsLG>u*Ar2!8+A;h$!XfgEh3n% znCTrJC_En1SFhA0LM$S~TcoT4{hIwoahM^wHq;IeLZ526%ciWdo`gn#`$Q!|Lr;(5 z_0V<$7##;p+9`6Fg)JfZo9$=h7W_^W5$G3bp=p6L7r3|t zxj2*ESXdYP3uiyjDf@mee%{d2ecw}_feBN-<3RJLD|bgzol z+UK9~o@S4J>tjsdX(9_NhR$U2Sph? z`TpzWf7QS`A+St>==HhHtcf3G2HBS#>7?2ugJBw|%A{WjkZ$=ir8uDEI~`8jGvu>= zy~t@&M-;VwMnlRr`$T!U7-{oHlQ7t4OYZur&83PsIFzet$pBkQlNH!Bh=tqOgdzCC}jlXdX#gj7~XA zg7e4b8*UAm7zyRLeVghxJ~-i%J7*BY#M6bG8pU_>%Tg=N(7cMsUl3Ee-BBb!lnjad zEs}1d@>S|ZPH{)*+HF}52K%bJ^Z*kic8jE}h()^kSZ_|HQR`e=Vs!ptQLFi+)E-@o zfL;`0ifuxFYbJ$J>Wc6R$Tm~@QZM$PEV_9<^VB1L=9l=cFAsae`(k4Wl*-^wOvFZ3Gn%w~fM@X0Wq4^U;uTp62^W}5dszL)jU8>LbFQKR&kXIn5-A4VA84JV((XycUCja&wG9hne0|m4G_ZF z*c2vsH(hq9ttGqk=vj??)qdPN{^#mws#oJyUQJEbp7zb0wL+3j>|E#|1jf zPi1-sp5Z*tVv3=%!_K!;d?p1cvSIkb_B8jKC^h*@EzADP&Jk@M5fl7LhMXJcCR3wJ<9*~aiuc?V{KCcW3g3`j>v2)`j~=XT+rd#8@J-g*O(=Jv=dO0=p8 z>@IN}5(lsy2jLCPm^yo7I{Qhw>?h{jwsBFK%hvuX?)$y{BbgNCbNJi8x2ELztQBJI zVSNiuODF3i-8+F<3PNx|1>L#PjBfFDfc$+L92{G$zp&T9HQ{EkX9`{PAMSj3Au#9F z^*NUGi+jAUMDj&;=P#2lt?%|4^E#ed&+qIsHr?u#^w9UG2_kFYzrO#MrD?@$PMZeq zKZ$O@e}VH#Tw$z?O)y4I?~YyKj>sfi)WqZ<=P7t{`q00~in4hJB6ofzyR$1W6Kki; zjTX|(dp(~ZVysG}TdSPM6JO)lSJ81@arrILQ$gUoSRkDsaW~<@mDr)H_>D~mWiSj# z_lx{pIyS=Rw7vPq3xwOV$*Q|-;>PN=jDMf0p5pYM<0aS)1-hcXmVp@?^=xUo&(odr;uf7!NuiBdD8LtZO~vNHQ>}L1PcwsGyIYVv zSu4OwU^1>E%pGIP)=vS(mmRmm#ntrENU*e!jt523%hTGi2GShH2%lSSJ0o3UH`?ER z)in2{pRvTLW1|K2I*5Nr5u}LK#`4phO*$=>UBF;`*a)aFqArJ?pG);b!drRTlh;J5 z@dd-j-^wpMr@;rb%QvTnxe7e@O!9p zu`@(sJq({iLTbj(#;mZNyNpTVUy8+D;H9#ePwZ_YeRlYZza9Tza4W?Qq1U5Vh@+wU zU(070e^{2-s*Qi??!P<_{u_=T%^&_}xqM10R});>HotY65- zDb`W^3*k&1Br#!;yl%!)t?$x%=iFwTwF?7k*jk>;%xk>D|KOu$*w@v06fCsCK(E8F z5klYfa~{txDcJrsnwm>=e=XEyH<;5ZG|4o{ zj9J-yz)Ey_e;C7#vo}mZ!eLCST5{;wV-aBO!$*&-tgO(NbBu~snfaZZdx*z_GrQz7eUms&H(h74Qg?7Akuo_#*wmAC6^MmRN_CKw%HnizteApd&SRN{f4!~3aI5{L_6E-@2`>( zf_6VgNGdijrKcBHlUECxOwe++z_j@SgXx+ua#v48wPB;_f}au)T%nUC{7hsarW^T~ z>^o2xE7@~If>sS{cqaQq5AOF}jN;1|3ctlCzZbtHPNwdsUHK8ZwZWLXQMo$Y44oa& zM&@oWFQe&{^dqC+6t%=kj;X0?>D3gJR#Y_9hmFF8{0x6dq)oz@=(RSS=-_BCjl`xUjUap&@gy=vxv03DDmZyDImt z7}x}nv6Ghs__@8&Biz z+*NfJ$WJ^~o!X+wqe2TZ9>SY_lVJ9V;n$du0a0>%5-z@Rx+GTdSUGV#-5d;mpGy_B}p-{_JhTRQ|=N-nE## zl7!3QYOCD~_?^^L5aDXyAY=M)tU(c8o(zGEttUWx;beTB(6z)gfY-zkVjO9E^{F=Z zMjv}E7FHKepLozg?L+_7_S4>rK*W8R99n0Bb1xc^sD95Bq(Kl7R?^vJKQg_M7tWH+ zI3D-tgM~AUBroodlPfKyM!@_uHEtX}LeASykKcI7BXn-`1mP9RzpV(dHVeE@erV)~ zBkNa$*9~y^%pm6QS==(7jvA3U?3V?Emi|h7BH!PK#jNwnPC&^-!&HcqJx6RsC4_@B zl=M=48jp(Bw(!95iTn^5DPd8@Mu7U+KEqNHS)MG#qfRj}A=gAs(Ic&$^B?75utZQ= zh)`|($Kxe4b^UKt=ATV7R}GhcyJ=Ue8TXHeS*e$i%gkA{P!Gh0{Yg)RrTirLJEBb zg<5baS%O{3(1^Q}lX?N`(E}NKRSoYq1dyfR?%UpYkL{Zjxjl43%9-4n+*TG$TSDS7 z&CGW(cCq+m`!D%|#HsUSp`I_6@G5Bg6L(y#8Db?hg;g>EX6J;@1z;x^D|7ck1@`dg;Yg0kV7f z#Vb@c@wD2ZcQs9HqQYpP(qSyQtYl45GzWN#nH<%41+^7B@U~N2%EVOr=?eqqG!Wgt zz*`Pb9A>R?HlE&3>(@tPxvcXCzxg(SXc2}*_79MHA%2Ant-JmGlu}s?W;PEODJ*`q z%dth`>WG=R&VN<{xA(_`??VLknMOLx)k9ncj+aL$Xm z+Tt8Hxi1bdzY3F^mouVXvM^5DNZsnliGEb3Y}bSO+~umT@jG|UZ&H*Mw@3fzpe+bC_}4PMQq0d<9jHFxfPZ6rPrz5kX}yfa8U-ds@_WKeXDBOVXJ#wR*V zJN9!B_EIeZKjYYxvV95d1-?2ANL*@I@|8l1NhX@hAX9&>_F2sfk+jhGm-2r5D?GH%oGw=HlKRqNT3&NXKK*V(NDItcb}+sHg7sp zozimig_|Er<4p6q4yvrqji3bhzx`uwV@9B<6eZ)(>DSWmhzeLjPE+1PqW-y@x{U_^ zq^1h47jt$vgZ@D9Me}IqGI{0VXyF+AZ{V}BB+=~ECuAVwodMO>DvU-1DPYWhqH<|k z;9!VvHQz?pX>yv^Qg3IeWf46%JwcNu9GppZV8Yywp7AbJt|)jghg8poK1m!$=v-Dc zz6@t!a%=ngBlA@6k#`o$kuSX_7dS#d*CbQiHcS8L6M|pGyD?d{)2I{5X_nb4ix#9V zc{0GP^sFlx0iF(@{DV_C3|^?8I*7El2o5DZ`8`bQ?xXhGNV)wWQ2l*JjsQX9E~fD= zH&#Zt<5xsJ;N4HbeQ!XWkA^JJJFH@PfS!L|g4Fg{tYQ+cy+M#)mP*OYy(KrJN0ML9 zdusd}J^cfO89e;Q3}DFYlKuLJ|Mi5@f4_J8H@xzXM@GK?*SWU;k9x2k|HfnqH?HIc zdpR|EBCpG9U?PKbwtj>6`BBD*EdL)L`ylxb6Z6#}2oV842GSWIkp+)+WpvdNZ;UPQ z@ZplS{IZC}DBUs}INm`xo)b2EDaz8}!ju3j4bLfdO&H~5UF(w9s+(CU7cg?HmGhIB z-=F_OfFx(WMvM{u264jSP7^~Cn5F^<#ucXYB)v-pqO|La0QO`f$xZv?Z)5Iqy)+^KYNdF%$W1Fh9kX~8|+*FVfK8-CDwr*VH&~AIJN1-o| zo7nf);Z9U(^hmq|Cl?GRw-4aZBiv?W132rQ=lj(uiTlr#>7fC1lSUBijX0qCl}w_U zI)KK8F$9yfPWTuB8^p{0=mU8V>p}9HG&(!!zruKmS9ldi@oWk0{ES>aw3v7)^ClLq z7Mm~2kG};*<_G2O4~CqwIh=l@Gf1u1!lMpRv*BWBAa8t;sABpCfaevyqf=gb_?sQfqP5O>x<(_Ui%k` zJOM7P){)Qg7og#1a_`Rd5|S7(UNWYIs^nCrZjCvAG4BZ^wwrB83_X1{SLU&=5HKo? zz*gQNNq4zlxNOz(sqjk*i2|Z6k-6QkyAP4*uRH|y=+XHUEFdKCz4pIF&a8vGcSQ@B zIbP^Q1v+nZ&nF|J)A%UfR~cyr!}?RxFFTpe8Vqorz>ORo`*fc8t2#yA{CjXLL}kSdo5U%P66i;wUQXt60t8a*!-xQ{5yt6!fIt1A zO`7&;mNZV&!nyQEjY=PkQ(gS?4?7zhL1e(xmW<>F)*2+PzWsJ8Zfi!s9502G{=(31 zCkfX~>ky)hG957_YU5`3RWzs@uS@(V$fn|2m|#Tk8fwcEto^m)T`);OJNlS+GfTXG zGS%U{2+h!xts2MAzmZQ4gEixAD>4-RvAMU{mv#u`u|V;}uXn%>`1?nn~GehO)}mh>^= zW@<&@(^s7vc+!62ly;r6IRZ;1W9djXUzZc1MpJDBk}{imDyDM627K7*Ux7dYGR(F# ze-Xnk8eZHWs{HjtXWD{u)nsygnp%GH35(U#7wf%w6GtFM1wvfz__u_|L|#nG=HXNM zJhQmQ2_iI*EM^h7s$P~{KQ%F_UR*sshK@xwSS*&yv@rZ# zc_cKVzTzWy&QA(o)1L2$-o`0r#uGTpQYTX9Y#$+e8ftDi<@w_=A9&5Dgps85cQa zrYO00*3%i8DG$^B_NePbE~fGSp_iPY+Dy}j#W|v{6IEWP*RX4Hzfy==RkfIP>(xOz z#)gMPs_I9ti${Va0hNuofkZVafH6xiE4JCyAKA+K|L!!wd%;QwJ`v>&Vt;+^6#s^$ z9LGX`A}{*{=lP#hTFYzY0K+7TOu1)dN-mjyq1 zv(Nd_NIwpjsI}`zYp!i_|B5E;7y~z|Id#GN6~YCw8ZQl}+XE5Bss{91+|Qq?7k^&z z=e%|+jDf$IGFSX(;&o3GTPS4jNexZeWCM6uDL7^0V+~mesIN4TzWrx{U=SM+)_qq#l??Hkmt#% zN&)A}>B#@S!ivo0c1pL7;~_rSQX!HZAO84p1XC%1@*MH;4>5@dC=dqtud)=xZ`wMq z&vyHSH9`6|moKf}fyP=9l7F>A9EixS|4&I+3(`YmO%3Y``!dN_D+FQtf1Wh`Ⓢ` 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�?Qt$bDQa7W}PjjpOmDKO<|NBWD@%N;T{zFnXkSN5r<1cP?&Wxw- zk+^j6<#~GZNv{?eV9s6Ya}DjvfB`P_A^&`|#lq?zMq85q*=S4PKOJrP7X9CfwzTH@ zywGaTZD0Qpm=?I|txzwhTu9H;8+riJS&VnexH$lSKAtYx;TOiZF9=^tz?B>4;U7_o zshK|tfNs>8J^%7S%&%nT(T$|Z2v&MF?hisQB=?T+Wrs#W!q9KDIVJk*<$xP4nLJci z;>7$}{qYpH;Boy&IGf&caX}_|sCEWN<^INczRf@eyE;fu+iN*g$tK=Y4}NCfOe{Mo z@ALv=kfH(l1LDCVq;~M%YRMW8HqnlRUVPFzrHAdh&5vd`fQf# zH}wm+wC4CqGFQ=ob0Ns1dFv3l=vzS1MKIi+M&U#Oy9$1R&nCMVA#PRxBhyX*mF@pb zkLxC?@e|Z8q!oH1BqTN4K5q$%p6%p-bZe(rPuUB-mm6f2StP|&F&3dxhNUVMAyLDb z>Bj?$N<><5pvwSei+?TAudiKAwmdTvt$vX%@;+9+#jpxmr!# zrHB|F82Dkt6ZT>Nh(3*t#YIL+pJY{4jjHSdPbR2-{pz4_E`yrtXue`FLTf>GWo~dR zLTPDU>>pC}7i+!0)!z#_zRxs9nJ4c?x_V})K!rxO;3V7!gW%YtG9A4nN;0t@`1bsk zZ~DdokX~qCqeI7{O%DYKfc|IAUPOhiwTn^T02+=Gl;CsdnhPX0_yo?mt_~_p6UA0j z_b4K;JBNe0V7)5)&u*Wuy8-!NB+vPN+ihN^FnKL!{&jhFgvm{uAeQZI3hIq_rt6pf zbmKV8@)`6j)Z6+j%lp16iiS{{Db$QHOyOwkuT^*c?^O4;XZlz&0PGGngI<#3bK)=Q zCZqXxLNkUwXf&TRCf-D5803{$C!9x8DtSDC8c^{fo@>M3M^dmXe~F|Zt?~r^n>eft z`871&%RW^6-^O8uqqu^J@stGhS}R=xKW@y5%D^qy$lY-9&{1`*c8lnb;)q+x=2|4C zRo;%JXvZ%G9?q+W$xOh&0?ZQ_5fLh$^ZxEsK@R!xOP1r&2pf&6!nd*9w3qr#(qgof z%GpcBi@U;sA-N|FEx?0Tu(-a?sT8m!!ViPC^6PfbTY|GAxCq4BusUmcr&V@a6k_6f z|Bzown*mBcT~ZuiL-BQ8)p{p>t*uloQ@8W(6;RNo3)12TcjA1 zY?rzUqqT~2Z@j*y4P=wntF*1%yE;0u^YhF8oZHD=MD%ZZww2ON97;)l2^>`g1v99~ zz11D6l?p?PEB(n@TiR!c1J-&~BtvWp@>k-YtjQ&+gdiz3iTT~pLAAo2n?o3m^nOfntD7zFR|p$BF?B4_1JMb z7**_TrNi~m^XAbFk|`qNXpbnGbpstx`z8UudD$3z?z}hZVuE8&5p7rSVjlQ4SJEIa zmIw25yEl!}y-@pkIP>_jSmVOht<{_u)AV`|i#mbHm|mgZf1y`ArT_P3yUznA zc$J^d2Vw%r4n{x#oWHmM3w!?4mEat)fuQ+$$oc%G3-Ipw&yBn15pV#2qtA2bz^nG( z_$$)SXg=ocj4a~ea{|Aa#8LW<<1;76cQ*ET%5twBs=l*ve8|i7go|gI@I?-=0qyw) zlJ>^>j%GI257o@9jPZCLJ?7(l#KZYW=;31_;m16}kN96HWp17CsGPKtRKfGNKK}=1 CwRDL9 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-gii-crud.png b/docs/guide-vi/images/start-gii-crud.png new file mode 100644 index 0000000000000000000000000000000000000000..77c1ada18a91c00a21b3f5c344e797de635f54b7 GIT binary patch literal 58150 zcmd42Wl)=8(>6?%wm@l%dnv`exTY-y3KS^rQYdc4ofKN2xVyW%YoNG8aCZq#NRU91 zH*N3dx!)h(uW#m?`K}pet|1%FJ$Ls!_BeN!pw9}@cu&ZmU}0h5$$b2vjD>X%h5504 zbQklRmx+?|SXdhwG9TWlx-A^0;k{K=L!eJu&-uSY88W|fezz+O(l(^84{FP7Gqf=* zYfPz5F(jVhsJtO?xz|8A`*T6^fYUZ8&Zs=|vAQ39Yyf8#Lm^k<_g74UFNd*s(4M!UAafzsJSK|>Df1mU{; z8PffaTtam9IZc-L_bkmBx7gxknnpY61fd^zb!Xpoqx@GK}r!HN0iXBS?OlYpCC{DOjq4I@Y8GB!Q^Hi%e}%@Rvw0- zdByPb%T$W2XGjPCy#kbcfAiO^U+>lRr&OCS!<)n&|5dP~(sV5k6xMpsHj$>!Pf46H zh0x`X7}-z(XCMNHzSwKQxW2DdrU(b|gn?6s%19{iBo9L~Oi1c`LwZbAJThLIFISLa z^%D}H9R|cKQ1J`-+CP#1%-GT2AqTW_pB3S70O;_`Wq!WZjJ6&sA_~2=}9CVM8LT?*F({E0qC-x0oge$TRzfEGz z{9dt1Z9(6|%a#k9Wl?4H=b%1D)!5Cd@~i4m#?Jg(+HjoI4KhZ%1$2d^ei<`46S9^) zn^Zwjx-`Jd&gbsCroS4a z86fm5(sl4FNS}}fS*gBavVge5@Y7a5WX9%2xQi9RDm!9q)mC3fI=z1_kT>^UWWO4qBr+ZKaqD#0?`<@G0XKtvz!Y*l@+3{bKo;!|ClV#22x z8F{p8ovYJU?yqD^;fLKm(qloLC975SH0%~uLU4$u04M5WdaWb;seawNy~BBC8#JVb zozE;dpfc&79($Y^Js3~7PZYKmv{;RN_O5->5#P0UN|NCP*jSXrAri=xwaVNy=ugh# z2(&}OaNl46L5%REdnlhfo66x)&XX&pUp|(EwuG$}a(*DAFr-;aI~sB^hxuGx@H``HtXX13_QqwtdX*Bjlg$oYZ(_Yi`$U(qZVSxT-MF=84C*#XUCj1@@CnkLtzK z1lNWg%f&Q`Et&ATwDazyEv6qM+pA@53p1Kl$MyIA>ezArp&VkYmVPDW%gB!7V~>pt z{hguNl`|FArHrz~8#4my{ng!yy7C1Neei(xZMN&29b>=N)K37_yduU|jX*}eZBCVL zglkYwv|=j>wv7n4p@@nPB-Wa5Zbqy2AxRkHtnpUvgwl;s1LpqionsT5^keUE!BjReM z*x0lGUIGMP(Gw*v{BF8oetPwU4nLIvKzh270g0KW$1V;>%`Vws|JCyQW87?5!|tHK zXg%DuK0Dz$+8B#CV`!)9(YwofKyaA&z`gg+ue)|Cwxt+%({<=?7ViLSed$1C7!xL8-#YNa3yboA^vJnE6a z@*6U8oTCiC<@n;dwzcfqKs1(gLQX-$l(TWOomLCeC`5;smn#U>bu`q-#iyzJY#-{i z@qe@aiQ;@c*XR+`$L^fKdE(t5=b#8L>-st0zJ37NOy1x;Q21OW79R71fjuZsQ6GSs z52L|XW@a3@@K#8wz6ktLx9ZLB=2P>cI>Xc03(mQ*(FXsa5j=mE_;va--SkcA!@s-0 z75u@9l%aI*w&L;6YJXo(RN&b~Q|{rYxNVAtr30pPd>%vTQbx81dmI*Zs4lDs&aEhV zERt{zr62FjUb?VcTqxZ~xH>aE!~*FPo!s_uQYj;!M8~2CGCUU-rUON7%ZeI3*2J1r z+sHNdcpTq1WP;ARd{gL!wtRn}e~2sgj58jzuj&AUqfr-|W)Z*(Jd;5hM>}F5x0^x@ z#YmXP?B$@MYsA+XT+4&Rs1C-oyTsvxE1w@j@G=jSb zOG|^5f=cCBVyNb{+>6&3R3@xhvo3k;<{RCj`pN{#^+g)B7;IF$tq#N{JqIXYa^DXW zsau^L0PZhgX}j=ltDmoC^2@)j9)U%n9izKirB>=Hb6Hv58RH;=K_mI6pKgAU!j1~fh2y

FAd+grAg?VjLUO=;i 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 literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-gii-model.png b/docs/guide-vi/images/start-gii-model.png new file mode 100644 index 0000000000000000000000000000000000000000..59c16a477e9cb789847e622dc9e1e9a70e3aa20b GIT binary patch literal 93741 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Μ43NT`J&jg!DG&uwMSYbZJS*ZuF91m z^X*+dakNy7I_s0zao>SPCm)lA+u&JaX!8C^;bIfHZj+E(8Ck&gyB8woZSa0Jpvk1y zO9cr)?Jt(WWt&E2s}_hkQ@5Roq`|x~9k9BH$acro$Q?D3Yu#1|Vd$ZW6u4VB(xvpF zj3Q&(lWgRk3ft$6GP*aJkh7a&D`|rGWIDWQINEq;mWq%owj!t2U~pk)n8(r<$|VxH zl95uy0zZiJ_hz4Y=ZBgcOvb`Bl9kjv!fJ!px z(TRzK5yjIRT@#FxY<9h4EZ*2Jrid%Bxej_e3b1w@9EGG4AR0?kXn&O03M4ECoZGZL zo#+dGBF?O?aGa#1ZFp2z=7-8v+-rHz`Ig#2t=X5lSOgn0=hZT6WxJk7w?O+|ReV#6 zU*`h$8eKEs@<@M(qr0H3L_hFZh}{ML&olOKUp6xoNti96u5(^rWQyE>YjcZZj_;$( z6_@X{3wN+Warwa{HBANu9D1X%Sm(JrxEG9$R@(P^nl21L^Q=4!Jfa*+8{BZznA3^DIy4u1&>Se67-Lj4fPx zv44Tqc0V)kav`bpB1o5e$^p#PC8lNEP`>@Gc{WVnPN6K`p-@kUOKkDht!{WszBHJ* zNHWi=i_q@gX>$E7S%og?4y(X9K4*MTJ`x=gvDrp_KR z6NPSLHGHZrzcm*%m2^66**<#JFl~T+*t;}SE6vnY=RV^5XeL$S=nnV&ZA*}`#wcRH zQK1qpw08cE#AP}4m+M*yZ(`6dxK5^ofOa-Zf5emf)@q zl+IO;^AdD^RS82f`@_o_EN=cA!Bl2suA>eH@&2Aq84cxaQ24sSY5gztOJh5}Z*!FY zN`g1i6gsfi{8%rr)J@2GFn^~&6JwyUh(qgF_&)cVi4rZDu$d6^oX>s~+2XH+iG_0w z2+@UFv=UQq$_Tc_RQe{`j)T;`uSwsbCj50t;?ayG#ne8LFxk8$dK^gWwHg+rz_FtS`O}ua!$RKl&qF7oqcHVne7-;3v$>t zJl~e85>Pvh6N&_|J&)8lTa6#9By$Bs`G>|#Ej-3+)=6-yBG@cafSx;6D^@wRxg=ja zTXz-d;99_@c@l4NVg92j$iX!$NyH**v-6PHaIf0)VzN9E+J{ufefiLTUcyGo7-FcH zFzJ!wVp(nl_J2w$wGci+lvc+-P;l|Ou*)P!2cjJjLCQ&O2c@7)}Whs3orT=UlVh5mpXq^;R?I&m|ce5Fk=6>H|gXFht@7A{}RvGMk zP!Qr4;BI7isr%xd^!ICp*StpFO6pupeN6T!*;JK;hV8e7QAZk(+y-^AU3c+CGE=^~ zP!S8dzxk~Fa<7+Rl;rf+@4(KA^SjkVT-o?{Wc|Ve5>eqg*Wf=n8>BE831xHq-}Ufy zjk>Yh3g?P>0LMONS`@q z9c|0twzQP>q1=MM%Lp(3peSY*i$R9AnN!o)Hxsa;+yw}gT4gL(abbcZQ zTarvPGy4})5hgGg@fUS&a!a<5EV z?>X@q(8rrjf8Zc?(h$-Y;~c{^&P2+I;v9v&oyw+5w8S8o@IkWx$6v+gmv53J$j?kA zQZDkfO^SxDtSaOWMTWQQ{5zcN(HW@&xy;uhoy)On^)hUBT`$%j`2AV`GKZA=*jOOf zrEgVILuufVyH7GeA6FVPIah{yO3@4k|H-$lvIJ@AFUK$QLWJ!@f`jinbC6>5gRZeV2Z5f|Z(bPx+Iyxd5{hDKS8vUAc7VL5 zPw-V41coA@Na52uJ|Wvw3qka!B^Hlk(;(p|LDq0!jA&PNc#q{A{6{PZTSuz>0D*FWdBO- z`wxivy_dw}LF+?p|D9eOEK52y)_2+donBm1{}g=xd53*HHmHyD!0g44}&) z_?v|FP=yJGK=^#~_;Bq$@7eRr6^8pm)uP(c($bkHz$owWiHV7Ufls%_j*yM`J7+L2 z==6_&p`qztNW?P#=I>e|O-$#z{M|CM#7KF~kze{%o@C2eme)3jJw1N%f}!m9SeG6> zcW+mJEoFbHey%1eCgv8s1A`XF&6_u|$bQlMV)H*owx1-BPp(~mcQrr=V&!}Cg4on` z1#=0J&MS0{)8N+ueE8xeb2?|lXOm2hKYEe$pA;EMLN7_J|E7=s4ThRZlMDlE@O#;R z>-8I?kskb2`lo^PPeAt_Iq3}vcUb?N^}i`2&#p7oh5q%;@z+`X8~Y`x3M#YASOHRw zNG5f{A)%hFv#=*DM>L1=g~;dG&MTs zJ;8PJ&IWO6v}nx#q`b{Q(8Xuq+yTVc=QuCCtu^JeW_BiMPFz*Dx;I(SX0UP#`NT^( zsMiBaNG*|tZTh+S6T54K{UP=9sq|e*`zRJo!^m`Fb;3aE$ImLi_V(p1auTGjE->!y zAwceq7xTd`wI}Qfv${pGJ+_&dmXE%vZD)v(^IMIF3TjIuP`zt;Q*}{*u+y)Qp-oL) zNn6cam(JRQH7{J+Q9g@$EqagL#MShq!bP6l9`>rUvY)-S4Z7$kA9vV)ZgP0$O)XnA zi@W`tqr}&jzg4CqoW!%J9*ZBmQSJ<>>sG4@%R(E-T)+7l2y{h0U4>BLv6O22b4WN%fdSq)w$0$ zHvA|JB=Z|z9lLcNsKm>a8+D|zoH6kU|7NMfRTs@-1gkEBSM@TADZBc4hKZN%%(ueu zc@c!*q*v+B*_JB7cM`pRi{JH{)Stqm8DDmzM)PcM96Zn~xa(pb>`r*p`zQJa=+w3k zwrMOkslw^vxz!Zy2`k%(L za=tQM6-YdewvqYgig`#Y#)lW22@qqtPE(~)4N`(s<26Z;d@Z$_2$G$b2Mtxi05!H@W^dp6cN!9(y(Rz zQl$7#cF&dCzf`qpT{SL0V-h0scl}=2Jt?st8=|;l>CfY|4@dHvY$rU6lyN#K4F!m4 zm5Iyb%pIeg_Pm)CfVHcUbq0IWc|4%lB2m?<6{pEb|4fOx=s%Y4dliY)iuN>Rm--%k zyFV>%MO~t=dv^@C@-dtbykw~2U$bXjB*)SVbv7Wr-QJCfknwEqYY>Bvqzo<|a;GB= zHWgu@rip=q1ey4(f51LI=SWCBDpu` zs9zP&L)h5Z&h=7@w16mZjAFgh`abqjW2)DyZ8x@RZ!yV)65MN8m3y;NOb!3O`9ZnFuinkOJ`k zV4~cKA$cGFXCH0?aPyAd!lDJEps8g=MLTI*i>lMHmwy@UfKNXe*{*F-X<_zfri$g$ zJP$76%zS)&j(6v8Oh2vrO|hDGB&}eIOX=v+mGGt{cs8I=rFx3X%}7Rb_6yr{?|Dyb z3`U+YL^;d)(k~Lsb)TP`{_w~EK2Cq#AWZ62fEy$B5x(dB%_T!%olqw0*8Cf##LDP? z$F^)l^Ff-#AEWg@GeWTLu=ggJpZ+}fUt!%y?x<;kHS@1!{>}Bd{*+`)&t6CT+SmU$ zLkU0aOH;Dg#(67kS1kMqWf`z z+vHpRyhJ#oXfZrY@v;)@TD+>?;r>=K0Pd00Eg#v7@F8+4s=bkPGQ^grpMG~8v$}`h zCER?YxE6irX>aYf*)P}S+9$&w?Gt~`5%H;zRODs|uWF3^uG2ZEOtIMW>XG0hpUvi1 zzq5G4Yy&cYR`*DS?A)K%9R)3$PcG(>+1KWb zL_|bTN*+oX15{G1`4Xw9s2mGwRM~ev_Mj&?bZ+U0YA-GxZ`9s56*_o7dpk(^X+znq zb-$c(x(6O=bswG39;nNx51#jo(r&my4#RPEgCibpV-DSw!Ky=cky*BTQCyxA6_$_& zk1EXcv%S1?@lagj30Auc+q)OUK?Bq~UPEnkRp7tEW(mFPWGJA-_gz?b`gJu^d`5%Z z2Zq$L=b06r9y>Gu(9U8-tlt9WwZPY+O#*&P8&LV=gnkI_|6?X!#Z>>)w#aj}{-@^tCMY0?bhm>$I@kveE8q(icVN-MD`>g?Fd_VW&$1bbG z1p`*J*VsZH)wzjz%3A{zWm?sBVO-z7Bvm}Avu;mYaEmn@6$h-c>)4a{JgLZsSoY0} zrPG$elj!Tb0zX(-ldkluV}o=qUZQnoAJqL7c6mbY)C|z;nk9 zDs`pB_6`&oqu3CGLAI0UZpP?)>7I2hT%=^FNEY$)JrcG8D7ICF0;kZsp=LCcelwV( zxwAv(VPK$du3@<9(MH$B*g9hQSRG}MGHrt0i?N%tdGcQ5evZReszD&^K_>O&g71D> zUZXo)NX21^1CmZSDve~{OgH+`q~?bUu86$#$Hy}HTg1(#37bAq$}yOBgt&oBOjd4$G*tZfBzL)}qQ7q;f3k-C;D){{#n`5;`%#yj zh(?_;Rc92kDEDb3Yb@eO$^=(fXUUb$=_se{?_bdJYRPtbK{*{^YZhBIfHpFydG(W| z$c~e@oR1m1z9+QFZdBh1(=vPRp8?lky;ufLzj=+ujJFWH|j^yWw=&x}Q~2R-jxo z_M&PLOIOL25qHKO=yohOCh(E*PDW~skfZn4GQ<*_$Dw&T)QVi2X6lzw3K(F!zMZ0< zb;+e{6*loGZ_uNy)5#5F<4E*IxNNU`#w;%BG7MmAD$DH%oT3l{Omvgj2$;!;ve^q3 zB_FH0$jSGq+)DT8SbF1@q%d?u(x=?K$RHMJ8<`^SLnGJIHm&Vr;OkV0d@GS9)b&CL zkVw_e8mYKX6lN{h)OTEtp5YJYsJ@4B0yb&@<&7U$q4VwniSIpoPrgxHgr0=#P@$ER z1lUx-+1y8B%VTj>ZKv+`q%_m`hOHSLs0cB(v9+qYI$hLbwMQ6xvf%{9AFshtMa3xU z35+T?R78dfUF#1vD6r>n&@nWQupQSLvFpxeKQ+BpbGdxNrFk6ZGPx1U5qC>xl1n6U zDAtx6RAa8_@wUVoU6-lk<8V|Kw6@pOT}pg^JGL_7O;k_vm_@9Uo*^cCo>v35<7p*R zj(X=Z-%wt#^4h;c$jPXt*k}+Qy(@Bc#4wH%J;#^4m^;N8#qQ;)6IXcv#Ha5OH} z-e{2?=;V8n2Vk*=pjp24C8wA(zVSO^4~b$s8jbw?PcQo(1MfyP%{c<+_HXHeVIDf-b59`>z?Th12sr zv>2X^ED%kl5d)rRwif_BK()+>lPSEu(@FknBtS6JL%F>PUY^#TbsJR4js?o}g&x7kT zOi{9Oby4G}xqO(zM~Ub9Iyn)x@_dT>PT-gaa$t0u!Uk3ESlpEP@{XH5ErqUqLB64W zw&zG!s*~6O_Xzh=PfwY_&kQcwhV{w9M(fSWtQuIRD3f2Cd*!RWO$J;}ZEK(RwPBn= zU0Kb+?Tjc%^M<})dH9&1&}nk?0bzYxbsrp8jXf>Gv#uG2)7Z%Le>fni!gy$j+nSy3 zYA^PQFELnyu^=#T({D!esH%X5=$xTaP~X?*z3Mgy(RN;59y3O6MFTO94C7`dyz^~G zW1xeX?fWi`9)0*t2}oTD#)Xh^5k3kY`Tz%dX#1ITbU&2+? zMp2O7sx}#1(5W1o8d^3u#xt>NZ>Aorjp-c3GuJzn#nkZvW@J6FMRIJU^s~ZQ&WVr7 z5@WS5Cvrd3VQ-hH$I=%@)O~PZBjxBwuC?=VX)EyIHdY!Z@bEO zZ2P17mrc&!YE%8@X{BierAsvVqiXGsOPT{$-G0s?K{x&1I^ z`!2K(WQZotKnpmQwCVx=O1{2bHHWkZtp1`8w=#+Y_0wa`w?B6^!T~(Q)s{GLxcrOt zRUB>|x4N!UGwi)QpObVkSMq+(dh)__tsAM~R@%VZMtEv!Y8!@@-*UHS4a-M1fc_*( z%T@{Z1b2~_Ph~J@@@NZjq7%^7%3Ui@pwigsOnZ^@=Q(sO4Ov2~ER@wF$Q;UQQkE8^ zx(B4i9OOGY*vjlDmfR8DWfA}sB+v2#mzZX(F#UV!hSi1LY}Foi$yfa^mg3&3)>cBX zmyDW6IOJt=4;E9Mu}I%4j|s6fl5zDJD7Jo>IDhfpVcx}IN|>l>TAgdn)}*49sDBx9 z#azx8C+Ic&p+JgqBl~3jh=0czsE%c&N0)3jW+}oetkAnnF>>051eYbON+YrA1HP9) z4g^kk>sK~zEUT2|T32^U9QHd|8T+pF%=M+#68CddYMJ<)N7w1WHM$Wm^|`J03K?}7 zC-UmVUBj0>HcH4o>@3+no%tR&|16Ojr(qx;py*?_(_S(cm8bk}l%1DoOG?##ls6ncIZ;XWx~MR=-HfkN zK%m1A(PAM!`QV@`UL%o50o#L_~zifPcgF8b9-HT zZA0;3+Gy)lTpXije_Oe9XRLf?){fY|Ku#wE!740nYR@gQQS;njyKO|pE0I>Kd8&3qsGq6+zm$4ek z7d%V8A0I%naY0JS;`>DXp>q_&eI7o&t|Up&NsCB(|4x4KdS0XKVGOT>0v@#GVm3S5 zz2%ZiM*btF_|Dqmx0)h=7_>S^jG*{l|FrtUP%b{qrXn{E93lTAN)DrFGLL$D#S;My9ZPtNC ze4nk3L{M&!OKj&;J1Mzm!bWv-?F)u+OT#qr4enpxw91|Edp53F`@PRe;oaNMzSOYz ziI)96=-jo4{uN(CLwIF+?RudX_%!1$vpMr+R;KO0XyU z(pqRAN#o7SV@6Zsg*Pvvc26aN`>x4#x_G4vJQ?&48NWA~?kRQhM{h<$WhbHg(o(cE z*NkG1T2k=s7wye%{|=&mu9iwK>aIY~sOl^&N))Uo>%dEteE1|-SW2WsbZKZNwbPW- zAMx8*4U~lHQ2WH!Pb@Lyu24(ZMr$+x23%DbSoLe7e_)j3hPJU&42=$4BNobCg$;^5 zz13_!D{*D67G8XY*ldSu#uvP09p;_(j3=p$l1@2=n>(G;eFNyje#n~whTgi(D!I7i z9v*(Hd1dz8v_3oV3He3^FVB69{Rc6~XS-8i(f*oju}6zrLBm`<+f#p5o`IB)<`Jq& z3jM@ra1VbgprR&%EXZ7AtTmLT<-GmVDIQSWtqPVe6^3EB>5HDRsJnKH>uH@ri45Ey zhmOk(9D1$4hYDKdC>LA})g2qBr{54PO4D1@vf*$m9xZ+&FwtnP3Ce02(5v>}x{zgG z-panh;i)YwBs_KCFzoN93N98wEnGr>G0j2`tUu8xulk}9@rZC~%u{${LfftBRp7@@ zMnOem2%lx5c!l#IbB_P^npq!Vk#K+k?qD(wpoc>gA+g@>mfHky+7nGr?FQYw+_{h9 zEmnPkwQ7fA`mS)$kL@kCrADCdt6CWrEYKxwKg-K@=B>tROb`Txq|DD=ncHKu;dS*G zy?gj$m#w|e_+$vBkaosx@6GWsu~e}{>Qro{PKYHz$dP;;=DGMRc}2)trZCwfxs8&L5Q}CCXJV#;LbPUVT@1iD~k{ z?uOsuf7iP4s`lx`=mKp>1pM{ziAQ3rp*gXHX$;bkBgtQ+`t^wF{7LNFr^$gk+>2oj zK43k=8c&%SK8H{ix19*9J(>GvW0)ShczZoWv5rvQ!Y%Wz)I_#z3W`xd7B7^LgT4+| zvcviFiLtH%ol&M!h;s9z56VG`6%6cLs<6u=W@>JhE}slQjV61aQunlJG0>|1h+gvm2=}>Eq=kfLow~STRm6W=>ppXk8z=YyFMX8=&V=tR1pu>cja&-uWc`4b>S(G zS6Zg+7(YC9gk6*TGy$6KIb{rgjx-*1Bey3u79ZMS zYLBuAjI^|@%8fcpiuz;AU?w-8LmzBvS zvgTQg+7G@YlxR@Q$)V>+F~Z@*c1|*DbklOx=O{rvqFOEI7)YB|oDNeo-K30NnK)s& zvtw4qwUS2rzMQ`fD9SyM`pv_Y%_v1_nnm6{FT|5I@vGuT&C^$GJ#La)hrJOZ9PO-1 z%1V5I4#7m%vD9ftnz4xi2Ka0R{+vac^5|KssW6X*ZENsxB4X%6L{);SQ0ml16g^Or z*?+B}2E?5xeXa2=w~?)gGl;tuD!?)yk`3u>L;PR~Qt+dg5_ixwgnK5iCM;YOee=P_ z0Z}MQ6$K!3qEw(>Ff8cEii&FQe5*8R2(N3QnZiu6A_s)c_l}bw4STcUqY;infu+%v zLSKH@Cb@LQ_+>w!NZs;EJm;?bD`#NE^fqEK!0JbjpzBDgofE!eUp3fg z(xiH7XlN)rQGh&N6aySSo*QwYQtpaDgWkKCQO#AJM$OMECDw$-|E2myf@@w;DQwdj z_ygh+7oy_7+lSr|o~M1A3Ie5q7`9heR+pF8f4EomrIal<7GN)3{z04r5+7PC0`E`9 zBTp8beSC5Qy}kLxN4ppMZzPK3EU}Z|>|jMMO`Qfxcp9h4Xmk86)|QvT$!*FB;@s|w z^Db|pdKOr!oCglx%7#%<0Bg!|^70pCPh$3tZE2ImJ=Xib6*N*E{iYL!83a5{FP2Sw zY*f|{nEBfBd12pa$p3tXE7-!KB*%Iw_3}pcWA*eaczRgLotfy;sKX}Tp*ir{lWk~) zl^%1O9gS_*72`M4?*SZC!#45OZOKvQAlPas^3Zl{zE6oEeP?S#x6-QMn@4Al&h{am z*#QGHWZmVQKzDqdV{0j}?f8w#zNv|i84BdDSM!RavYQraZ3ov@0#!62&Y)BP5Gk0ES z8%c*KO?U35M(H|SP(@r-P40DAkrrbjb&)q|>6RbsHu`W>4> z5k9jt7NXo=^vpcD&4CLvBcx^%eE@)6{8!rAFmoa+t=Bp5dz`dF*^S@+2??i?t$h8M zp0zZ(_zrxr`wdQnLQIudwKnMEGL}5Mx2%%f9&IDS)fQbVHgW@~gDZE#J`wZmewezE zSErqMlHlbF@io%*HJz=oxkz^!xWsaAD8f9okOexZVw50F2bYkX3C9DZGe zN?1s!@sx-sHau0nJgwqB26;5`ix2m=Zp;Eny?OMuNsrt+Jo#hpJTRvY238YJ9^RYF zjgXCXC*=D0TAhG|#Y@=G!ckO!X?L*TWm+-I{TTAZG7Pjd>U-bmN#ACpp?{l!q4>Q% zL#GCoNUcwMpDzSXOS|V4{Ha~^_h|lS$aBn9lrVH0g!;nLq2Zd9)My~2d~UFnBTsxQ zUPDP2UZHBc>D=B99A-GU=;!D#-Cc0n0wxt002d=MD?@pB83czej8tNoo(Lk|hQgZk z#mrKzERSRLe$$}-_9W`hQa$T@;FRg7oOIldqF9BWw6;e0w4>HjPvUBmn1JqM6C)CH zxCN4RCoCN5o&@0s;9w+XV#21L0qB3SK2c6UoYg&!due~ajzY`y-<;BSz65jZVc|ZZ zHx3nVV4#c#8oVmoAlB3*r$tb!wuk$0V(HA%XcLTm&tWgXzzENcrhs$XS8mHc?CT~q z%eq)rR(34Un4mlQ9{0raUx;eJ%QNJ0=ATLi>izp?{o4mz36^rw?F){5vBE&_gj6n&mmK0ikm#p|bwwKRrQqo5@?*s~Fd-jwe=?7a6VY9I3kKnbMpg+JIty37Ti z2uKUmCLnII{9$DMJnx_5rDD!tRIyJW81EuzU0z_rXxV!+LyfUQUrA z>*oALTpPspCWHY5N>3JK@yOIK3+W!I9w$*x<59P-e#u_X)59S`+dc~X@@sz5n0P;s zWs+|M&W#5N-Odx0*kG(ii$hz6W^It(E&RQ=kiK8tC+ID#0iC$or8MXFZ>tW{w@)v2 YK(3FvTLYf{Mf#I}uJQ~f{qoI!1B3wLKmY&$ literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-gii.png b/docs/guide-vi/images/start-gii.png new file mode 100644 index 0000000000000000000000000000000000000000..28c75b6b79e913cc4cac90064b2b36d5f068a214 GIT binary patch literal 91274 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 F{{a08kx~Ev literal 0 HcmV?d00001 diff --git a/docs/guide-vi/images/start-hello-world.png b/docs/guide-vi/images/start-hello-world.png new file mode 100644 index 0000000000000000000000000000000000000000..30d1acad389e1aebc46dc912d725d822b2f60cb1 GIT binary patch literal 32874 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

+

+ + + + + ['id' => 'contact-message-form'], + 'fieldConfig' => ['inputOptions' => ['class' => 'common-input']], +]); ?> + + field($contactMessage, 'name')->textInput() ?> + field($contactMessage, 'email')->textInput() ?> + field($contactMessage, 'subject')->textInput() ?> + field($contactMessage, 'body')->textArea(['rows' => 6]) ?> + +
+ 'common-button']) ?> +
+ + + + +``` From 12bcf2191ef1a7eac2611177331d1117ba5e5c10 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Tue, 12 May 2015 17:07:53 -0300 Subject: [PATCH 26/48] docs/guide/concept-properties.md - type [ci skip] --- docs/guide/concept-properties.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/concept-properties.md b/docs/guide/concept-properties.md index bdd689f7fac..e7d1e37b9cf 100644 --- a/docs/guide/concept-properties.md +++ b/docs/guide/concept-properties.md @@ -73,4 +73,4 @@ There are several special rules for, and limitations on, the properties defined * These properties do not support visibility. It makes no difference to the defining getter or setter method if the property is public, protected or private. * The properties can only be defined by *non-static* getters and/or setters. Static methods will not be treated in the same manner. -Returning back to the problem described at the beginning of this guide, instead of calling `trim()` everywhere a `label` value is assigned, `trim()` now only needs to be invoked within the setter `setLabel()`. And if a new requirement makes it necesary that the label be initially capitalized, the `setLabel()` method can quickly be modified without touching any other code. The one change will universally affect every assignment to `label`. +Returning back to the problem described at the beginning of this guide, instead of calling `trim()` everywhere a `label` value is assigned, `trim()` now only needs to be invoked within the setter `setLabel()`. And if a new requirement makes it necessary that the label be initially capitalized, the `setLabel()` method can quickly be modified without touching any other code. The one change will universally affect every assignment to `label`. From 6c81cdbd0b90cf0cade870e92420d070466221bb Mon Sep 17 00:00:00 2001 From: miramir Date: Wed, 13 May 2015 00:06:40 +0500 Subject: [PATCH 27/48] Ru translation automation docs [ci skip] --- docs/internals-ru/automation.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 docs/internals-ru/automation.md diff --git a/docs/internals-ru/automation.md b/docs/internals-ru/automation.md new file mode 100644 index 00000000000..6646d705fc2 --- /dev/null +++ b/docs/internals-ru/automation.md @@ -0,0 +1,15 @@ +Автоматизация +============= + +При работе над Yii, некоторые задачи, можно выполнять автоматически: + +- Генерация карты классов в файл `classes.php`, который находится в корневой директории фреймворка. + Запустите `./build/build classmap` для его генерации. + +- Генерация аннотаций `@property` в файлах классов, описывающих свойства введённые геттерами и сеттерами. + Запустите `./build/build php-doc/property` для их обновления. + +- Исправление стиля кодирования и других мелких ошибок в коментариях phpdoc. + Запустите `./build/build php-doc/fix` для их исправления. + Проверьте изменения перед тем как их закомитить, так как могут быть нежелательные изменения, потому что команда не + является совершенной. Вы можете использовать `git add -p` для обзора изменеий. From 675dffbf7ed1e295dfabfaf5ae7ee7c9728af384 Mon Sep 17 00:00:00 2001 From: elysdir Date: Tue, 12 May 2015 23:46:05 -0700 Subject: [PATCH 28/48] General grammar and punctuation cleanup for Applications page. --- docs/guide/structure-applications.md | 80 ++++++++++++++-------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/guide/structure-applications.md b/docs/guide/structure-applications.md index b9b75c77865..58d07d9a904 100644 --- a/docs/guide/structure-applications.md +++ b/docs/guide/structure-applications.md @@ -10,13 +10,13 @@ the [entry script](structure-entry-scripts.md) and is globally accessible throug There are two types of applications: [[yii\web\Application|Web applications]] and [[yii\console\Application|console applications]]. As the names indicate, the former mainly handles -Web requests while the latter console command requests. +Web requests, while the latter handles console command requests. ## Application Configurations When an [entry script](structure-entry-scripts.md) creates an application, it will load -a [configuration](concept-configurations.md) and apply it to the application, like the following: +a [configuration](concept-configurations.md) and apply it to the application, as follows: ```php require(__DIR__ . '/../vendor/autoload.php'); @@ -53,14 +53,14 @@ and [[yii\base\Application::basePath|basePath]]. The [[yii\base\Application::id|id]] property specifies a unique ID that differentiates an application from others. It is mainly used programmatically. Although not a requirement, for best interoperability -it is recommended that you use alphanumeric characters only when specifying an application ID. +it is recommended that you use only alphanumeric characters when specifying an application ID. #### [[yii\base\Application::basePath|basePath]] The [[yii\base\Application::basePath|basePath]] property specifies the root directory of an application. It is the directory that contains all protected source code of an application system. Under this directory, -you normally will see sub-directories such as `models`, `views`, `controllers`, which contain source code +you normally will see sub-directories such as `models`, `views`, and `controllers`, which contain source code corresponding to the MVC pattern. You may configure the [[yii\base\Application::basePath|basePath]] property using a directory path @@ -82,7 +82,7 @@ different applications. This property allows you to define a set of [aliases](concept-aliases.md) in terms of an array. The array keys are alias names, and the array values are the corresponding path definitions. -For example, +For example: ```php [ @@ -93,8 +93,8 @@ For example, ] ``` -This property is provided such that you can define aliases in terms of application configurations instead of -the method calls [[Yii::setAlias()]]. +This property is provided so that you can define aliases in terms of application configurations instead of +by calling the [[Yii::setAlias()]] method. #### [[yii\base\Application::bootstrap|bootstrap]] @@ -112,7 +112,7 @@ Each component listed in this property may be specified in one of the following - a configuration array. - an anonymous function that creates and returns a component. -For example, +For example: ```php [ @@ -155,7 +155,7 @@ will also be called. Another practical example is in the application configuration for the [Basic Project Template](start-installation.md), where the `debug` and `gii` modules are configured as bootstrapping components when the application is running -in development environment, +in the development environment: ```php if (YII_ENV_DEV) { @@ -179,7 +179,7 @@ a [controller action](structure-controllers.md) which should handle all user req used when the application is in maintenance mode and needs to handle all incoming requests via a single action. The configuration is an array whose first element specifies the route of the action. -The rest of the array elements (key-value pairs) specify the parameters to be bound to the action. For example, +The rest of the array elements (key-value pairs) specify the parameters to be bound to the action. For example: ```php [ @@ -195,7 +195,7 @@ The rest of the array elements (key-value pairs) specify the parameters to be bo #### [[yii\base\Application::components|components]] This is the single most important property. It allows you to register a list of named components -called [application components](structure-application-components.md) that you can use in other places. For example, +called [application components](structure-application-components.md) that you can use in other places. For example: ```php [ @@ -258,7 +258,7 @@ be `app\controllers\admin\PostController`. It is important that the fully qualified controller classes should be [autoloadable](concept-autoloading.md) and the actual namespace of your controller classes match the value of this property. Otherwise, -you will receive "Page Not Found" error when accessing the application. +you will receive a "Page Not Found" error when accessing the application. In case you want to break the convention as described above, you may configure the [controllerMap](#controllerMap) property. @@ -273,7 +273,7 @@ if your application needs to support multiple languages. The value of this property determines various [internationalization](tutorial-i18n.md) aspects, including message translation, date formatting, number formatting, etc. For example, the [[yii\jui\DatePicker]] widget will use this property value by default to determine in which language the calendar should be displayed and how -should the date be formatted. +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). For example, `en` stands for English, while `en-US` stands for English (United States). @@ -286,7 +286,7 @@ More details about this property can be found in the [Internationalization](tuto This property specifies the [modules](structure-modules.md) that the application contains. The property takes an array of module classes or [configurations](concept-configurations.md) with the array keys -being the module IDs. For example, +being the module IDs. For example: ```php [ @@ -309,8 +309,8 @@ Please refer to the [Modules](structure-modules.md) section for more details. #### [[yii\base\Application::name|name]] This property specifies the application name that may be displayed to end users. Unlike the -[[yii\base\Application::id|id]] property which should take a unique value, the value of this property is mainly for -display purpose and does not need to be unique. +[[yii\base\Application::id|id]] property, which should take a unique value, the value of this property is mainly for +display purposes; it does not need to be unique. You do not always need to configure this property if none of your code is using it. @@ -330,15 +330,15 @@ image size as a parameter like the following: ] ``` -Then in your code where you need to use the size value, you can simply use the code like the following: +Then in your code where you need to use the size value, you can simply use code like the following: ```php $size = \Yii::$app->params['thumbnail.size']; $width = \Yii::$app->params['thumbnail.size'][0]; ``` -Later if you decide to change the thumbnail size, you only need to modify it in the application configuration -without touching any dependent code. +Later if you decide to change the thumbnail size, you only need to modify it in the application configuration; +you don't need to touch any dependent code. #### [[yii\base\Application::sourceLanguage|sourceLanguage]] @@ -355,9 +355,9 @@ More details about this property can be found in the [Internationalization](tuto #### [[yii\base\Application::timeZone|timeZone]] -This property is provided as an alternative way of setting the default time zone of PHP runtime. +This property is provided as an alternative way of setting the default time zone of the PHP runtime. By configuring this property, you are essentially calling the PHP function -[date_default_timezone_set()](http://php.net/manual/en/function.date-default-timezone-set.php). For example, +[date_default_timezone_set()](http://php.net/manual/en/function.date-default-timezone-set.php). For example: ```php [ @@ -368,28 +368,28 @@ By configuring this property, you are essentially calling the PHP function #### [[yii\base\Application::version|version]] -This property specifies the version of the application. It defaults to `'1.0'`. You do not always need to configure +This property specifies the version of the application. It defaults to `'1.0'`. You do not need to configure this property if none of your code is using it. ### Useful Properties The properties described in this subsection are not commonly configured because their default values -stipulate common conventions. However, you may still configure them in case you want to break the conventions. +derive from common conventions. However, you may still configure them in case you want to break the conventions. #### [[yii\base\Application::charset|charset]] -This property specifies the charset that the application uses. The default value is `'UTF-8'` which should -be kept as is for most applications unless you are working with some legacy systems that use a lot of non-unicode data. +This property specifies the charset that the application uses. The default value is `'UTF-8'`, which should +be kept as-is for most applications unless you are working with a legacy system that uses a lot of non-Unicode data. #### [[yii\base\Application::defaultRoute|defaultRoute]] This property specifies the [route](runtime-routing.md) that an application should use when a request -does not specify one. The route may consist of child module ID, controller ID, and/or action ID. -For example, `help`, `post/create`, `admin/post/create`. If action ID is not given, it will take the default -value as specified in [[yii\base\Controller::defaultAction]]. +does not specify one. The route may consist of a child module ID, a controller ID, and/or an action ID. +For example, `help`, `post/create`, or `admin/post/create`. If an action ID is not given, this property will take +the default value specified in [[yii\base\Controller::defaultAction]]. For [[yii\web\Application|Web applications]], the default value of this property is `'site'`, which means the `SiteController` controller and its default action should be used. As a result, if you access @@ -407,7 +407,7 @@ By default, it will take the array returned by the file `@vendor/yiisoft/extensi is generated and maintained automatically when you use [Composer](https://getcomposer.org) to install extensions. So in most cases, you do not need to configure this property. -In the special case when you want to maintain extensions manually, you may configure this property like the following: +In the special case when you want to maintain extensions manually, you may configure this property as follows: ```php [ @@ -455,14 +455,14 @@ You may configure it as a directory or a path [alias](concept-aliases.md). #### [[yii\base\Application::runtimePath|runtimePath]] -This property specifies the path where temporary files, such as log files, cache files, can be generated. +This property specifies the path where temporary files, such as log files and cache files, can be generated. The default value is the directory represented by the alias `@app/runtime`. You may configure it as a directory or a path [alias](concept-aliases.md). Note that the runtime path must be writable by the process running the application. And the path should be protected from being accessed -by end users because the temporary files under it may contain sensitive information. +by end users, because the temporary files under it may contain sensitive information. -To simplify accessing to this path, Yii has predefined a path alias named `@runtime` for it. +To simplify access to this path, Yii has predefined a path alias named `@runtime` for it. #### [[yii\base\Application::viewPath|viewPath]] @@ -480,7 +480,7 @@ the directory represented by the alias `@app/vendor`. You may configure this property as a directory or a path [alias](concept-aliases.md). When you modify this property, make sure you also adjust the Composer configuration accordingly. -To simplify accessing to this path, Yii has predefined a path alias named `@vendor` for it. +To simplify access to this path, Yii has predefined a path alias named `@vendor` for it. #### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] @@ -491,8 +491,8 @@ whether the core commands included in the Yii release should be enabled. The def ## Application Events -An application triggers several events during the lifecycle of handling an request. You may attach event -handlers to these events in application configurations like the following, +An application triggers several events during the lifecycle of handling a request. You may attach event +handlers to these events in application configurations as follows: ```php [ @@ -506,7 +506,7 @@ The use of the `on eventName` syntax is described in the [Configurations](concep section. Alternatively, you may attach event handlers during the [bootstrapping process](runtime-bootstrapping.md) -after the application instance is created. For example, +after the application instance is created. For example: ```php \Yii::$app->on(\yii\base\Application::EVENT_BEFORE_REQUEST, function ($event) { @@ -542,7 +542,7 @@ The actual event name is `beforeAction`. The event parameter is an instance of [[yii\base\ActionEvent]]. An event handler may set the [[yii\base\ActionEvent::isValid]] property to be `false` to stop running the action. -For example, +For example: ```php [ @@ -558,7 +558,7 @@ For example, Note that the same `beforeAction` event is also triggered by [modules](structure-modules.md) and [controllers](structure-controllers.md). Application objects are the first ones triggering this event, followed by modules (if any), and finally controllers. If an event handler -sets [[yii\base\ActionEvent::isValid]] to be `false`, all the following events will NOT be triggered. +sets [[yii\base\ActionEvent::isValid]] to be `false`, all of the subsequent events will NOT be triggered. ### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] @@ -568,7 +568,7 @@ The actual event name is `afterAction`. The event parameter is an instance of [[yii\base\ActionEvent]]. Through the [[yii\base\ActionEvent::result]] property, an event handler may access or modify the action result. -For example, +For example: ```php [ @@ -605,7 +605,7 @@ an application will undergo the following lifecycle: 3. The entry script calls [[yii\base\Application::run()]] to run the application: * Trigger the [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] event. * Handle the request: resolve the request into a [route](runtime-routing.md) and the associated parameters; - create the module, controller and action objects as specified by the route; and run the action. + create the module, controller, and action objects as specified by the route; and run the action. * Trigger the [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] event. * Send response to the end user. 4. The entry script receives the exit status from the application and completes the request processing. From ae04f5d939ae32237dc3ebefd783aa0300a10532 Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Wed, 13 May 2015 11:27:58 +0300 Subject: [PATCH 29/48] Punctuation fix in internals-ru automation docs --- docs/internals-ru/automation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/internals-ru/automation.md b/docs/internals-ru/automation.md index 6646d705fc2..7e430e83a81 100644 --- a/docs/internals-ru/automation.md +++ b/docs/internals-ru/automation.md @@ -1,7 +1,7 @@ Автоматизация ============= -При работе над Yii, некоторые задачи, можно выполнять автоматически: +При работе над Yii, некоторые задачи можно выполнять автоматически: - Генерация карты классов в файл `classes.php`, который находится в корневой директории фреймворка. Запустите `./build/build classmap` для его генерации. From 050b8c4f31d2411c2d673cee6f3f1b38963b21c2 Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Wed, 13 May 2015 11:40:55 +0300 Subject: [PATCH 30/48] Punctuation, spell fix in internals-ru/automation --- docs/internals-ru/automation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/internals-ru/automation.md b/docs/internals-ru/automation.md index 7e430e83a81..4e3ec586c0a 100644 --- a/docs/internals-ru/automation.md +++ b/docs/internals-ru/automation.md @@ -6,10 +6,10 @@ - Генерация карты классов в файл `classes.php`, который находится в корневой директории фреймворка. Запустите `./build/build classmap` для его генерации. -- Генерация аннотаций `@property` в файлах классов, описывающих свойства введённые геттерами и сеттерами. +- Генерация аннотаций `@property` в файлах классов, описывающих свойства, введённые геттерами и сеттерами. Запустите `./build/build php-doc/property` для их обновления. - Исправление стиля кодирования и других мелких ошибок в коментариях phpdoc. Запустите `./build/build php-doc/fix` для их исправления. - Проверьте изменения перед тем как их закомитить, так как могут быть нежелательные изменения, потому что команда не - является совершенной. Вы можете использовать `git add -p` для обзора изменеий. + Проверьте изменения перед тем, как их закомитить, так как могут быть нежелательные изменения, потому что команда не + является совершенной. Вы можете использовать `git add -p` для обзора изменений. From cad9fd9d2047387332f0fcc87a65a6dd746a43ed Mon Sep 17 00:00:00 2001 From: Klimov Paul Date: Wed, 13 May 2015 13:19:46 +0300 Subject: [PATCH 31/48] `yii\behaviors\TimestampBehavior::touch()` throws an exception if owner is new record --- framework/CHANGELOG.md | 2 +- framework/behaviors/TimestampBehavior.php | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index bb0d49df04c..487c54c210d 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -4,7 +4,7 @@ Yii Framework 2 Change Log 2.0.5 under development ----------------------- -- no changes in this release. +- Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) 2.0.4 May 10, 2015 diff --git a/framework/behaviors/TimestampBehavior.php b/framework/behaviors/TimestampBehavior.php index b3e2866a5f2..28e5fa85b18 100644 --- a/framework/behaviors/TimestampBehavior.php +++ b/framework/behaviors/TimestampBehavior.php @@ -7,6 +7,7 @@ namespace yii\behaviors; +use yii\base\InvalidCallException; use yii\db\BaseActiveRecord; use yii\db\Expression; @@ -119,9 +120,15 @@ protected function getValue($event) * $model->touch('lastVisit'); * ``` * @param string $attribute the name of the attribute to update. + * @throws InvalidCallException if owner is a new record. */ public function touch($attribute) { - $this->owner->updateAttributes(array_fill_keys((array) $attribute, $this->getValue(null))); + /* @var $owner BaseActiveRecord */ + $owner = $this->owner; + if ($owner->getIsNewRecord()) { + throw new InvalidCallException('Timestamp updating is not available for new record.'); + } + $owner->updateAttributes(array_fill_keys((array) $attribute, $this->getValue(null))); } } From 32bc19ae9beae225547e7e55370f4368e5977e13 Mon Sep 17 00:00:00 2001 From: Mike Grigorieff Date: Wed, 13 May 2015 03:19:38 +0500 Subject: [PATCH 32/48] Updated web/Controller.php, simplified code design close #8387 --- framework/web/Controller.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/web/Controller.php b/framework/web/Controller.php index 21ec396588d..757805ed2b5 100644 --- a/framework/web/Controller.php +++ b/framework/web/Controller.php @@ -110,9 +110,9 @@ public function beforeAction($action) throw new BadRequestHttpException(Yii::t('yii', 'Unable to verify your data submission.')); } return true; - } else { - return false; } + + return false; } /** From f64d00bdf04682a62f7bcfd3505d088e3e864ee0 Mon Sep 17 00:00:00 2001 From: Nikola Kovacs Date: Wed, 13 May 2015 14:16:21 +0200 Subject: [PATCH 33/48] Fix client-side trim validator. Subsequent validators now use the trimmed value instead of the original value. fixes #7707 --- framework/CHANGELOG.md | 1 + framework/assets/yii.validation.js | 4 +++- framework/validators/FilterValidator.php | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 487c54c210d..38b730f6e39 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -4,6 +4,7 @@ Yii Framework 2 Change Log 2.0.5 under development ----------------------- +- Bug #7707: client-side `trim` validator now passes the trimmed value to subsequent validators (nkovacs) - Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) diff --git a/framework/assets/yii.validation.js b/framework/assets/yii.validation.js index 44901db6df7..45d54f1a125 100644 --- a/framework/assets/yii.validation.js +++ b/framework/assets/yii.validation.js @@ -237,8 +237,10 @@ yii.validation = (function ($) { var $input = $form.find(attribute.input); var value = $input.val(); if (!options.skipOnEmpty || !pub.isEmpty(value)) { - $input.val($.trim(value)); + value = $.trim(value); + $input.val(value); } + return value; }, captcha: function (value, messages, options) { diff --git a/framework/validators/FilterValidator.php b/framework/validators/FilterValidator.php index d2d3cb7d73d..b9a7464c8d4 100644 --- a/framework/validators/FilterValidator.php +++ b/framework/validators/FilterValidator.php @@ -89,6 +89,6 @@ public function clientValidateAttribute($model, $attribute, $view) ValidationAsset::register($view); - return 'yii.validation.trim($form, attribute, ' . json_encode($options, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . ');'; + return 'value = yii.validation.trim($form, attribute, ' . json_encode($options, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . ');'; } } From 72ec91499284795b5206c5b84e0d075ccf1308c6 Mon Sep 17 00:00:00 2001 From: Klimov Paul Date: Wed, 13 May 2015 15:49:00 +0300 Subject: [PATCH 34/48] `yii\console\controllers\MessageController` improved allowing extraction of nested translator calls --- framework/CHANGELOG.md | 1 + .../console/controllers/MessageController.php | 78 +++++++++++++------ .../controllers/BaseMessageControllerTest.php | 21 +++++ 3 files changed, 78 insertions(+), 22 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 487c54c210d..168b4402adb 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -5,6 +5,7 @@ Yii Framework 2 Change Log ----------------------- - Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) +- Enh #8286: `yii\console\controllers\MessageController` improved allowing extraction of nested translator calls (klimov-paul) 2.0.4 May 10, 2015 diff --git a/framework/console/controllers/MessageController.php b/framework/console/controllers/MessageController.php index 49a1299ca0e..1ecc9a506ac 100644 --- a/framework/console/controllers/MessageController.php +++ b/framework/console/controllers/MessageController.php @@ -248,33 +248,55 @@ protected function extractMessages($fileName, $translator, $ignoreCategories = [ { $coloredFileName = Console::ansiFormat($fileName, [Console::FG_CYAN]); $this->stdout("Extracting messages from $coloredFileName...\n"); + $subject = file_get_contents($fileName); $messages = []; foreach ((array)$translator as $currentTranslator) { $translatorTokens = token_get_all('extractMessagesFromTokens($tokens, $translatorTokens, $ignoreCategories)); + } - $translatorTokensCount = count($translatorTokens); - $matchedTokensCount = 0; - $buffer = []; + $this->stdout("\n"); - $tokens = token_get_all($subject); - foreach ($tokens as $token) { - // finding out translator call - if ($matchedTokensCount < $translatorTokensCount) { - if ($this->tokensEqual($token, $translatorTokens[$matchedTokensCount])) { - $matchedTokensCount++; - } else { - $matchedTokensCount = 0; - } - } elseif ($matchedTokensCount === $translatorTokensCount) { - // translator found + return $messages; + } + + /** + * Extracts messages from a parsed PHP tokens list. + * @param array $tokens tokens to be processed. + * @param array $translatorTokens translator tokens. + * @param array $ignoreCategories message categories to ignore. + * @return array messages. + */ + private function extractMessagesFromTokens(array $tokens, array $translatorTokens, array $ignoreCategories) + { + $messages = []; + $translatorTokensCount = count($translatorTokens); + $matchedTokensCount = 0; + $buffer = []; + $pendingParenthesisCount = 0; + + foreach ($tokens as $token) { + // finding out translator call + if ($matchedTokensCount < $translatorTokensCount) { + if ($this->tokensEqual($token, $translatorTokens[$matchedTokensCount])) { + $matchedTokensCount++; + } else { + $matchedTokensCount = 0; + } + } elseif ($matchedTokensCount === $translatorTokensCount) { + // translator found + + // end of function call + if ($this->tokensEqual(')', $token)) { + $pendingParenthesisCount--; - // end of translator call or end of something that we can't extract - if ($this->tokensEqual(')', $token)) { + if ($pendingParenthesisCount === 0) { + // end of translator call or end of something that we can't extract if (isset($buffer[0][0], $buffer[1], $buffer[2][0]) && $buffer[0][0] === T_CONSTANT_ENCAPSED_STRING && $buffer[1] === ',' && $buffer[2][0] === T_CONSTANT_ENCAPSED_STRING) { // is valid call we can extract - $category = stripcslashes($buffer[0][1]); $category = mb_substr($category, 1, mb_strlen($category) - 2); @@ -284,9 +306,14 @@ protected function extractMessages($fileName, $translator, $ignoreCategories = [ $messages[$category][] = $message; } + + $nestedTokens = array_slice($buffer, 3); + if (count($nestedTokens) > $translatorTokensCount) { + // search for possible nested translator calls + $messages = array_merge_recursive($messages, $this->extractMessagesFromTokens($nestedTokens, $translatorTokens, $ignoreCategories)); + } } else { // invalid call or dynamic call we can't extract - $line = Console::ansiFormat($this->getLine($buffer), [Console::FG_CYAN]); $skipping = Console::ansiFormat('Skipping line', [Console::FG_YELLOW]); $this->stdout("$skipping $line. Make sure both category and message are static strings.\n"); @@ -294,17 +321,24 @@ protected function extractMessages($fileName, $translator, $ignoreCategories = [ // prepare for the next match $matchedTokensCount = 0; + $pendingParenthesisCount = 0; $buffer = []; - } elseif ($token !== '(' && isset($token[0]) && !in_array($token[0], [T_WHITESPACE, T_COMMENT])) { - // ignore comments, whitespaces and beginning of function call + } else { $buffer[] = $token; } + } elseif ($this->tokensEqual('(', $token)) { + // count beginning of function call, skipping translator beginning + if ($pendingParenthesisCount > 0) { + $buffer[] = $token; + } + $pendingParenthesisCount++; + } elseif (isset($token[0]) && !in_array($token[0], [T_WHITESPACE, T_COMMENT])) { + // ignore comments and whitespaces + $buffer[] = $token; } } } - $this->stdout("\n"); - return $messages; } diff --git a/tests/framework/console/controllers/BaseMessageControllerTest.php b/tests/framework/console/controllers/BaseMessageControllerTest.php index f7208370eb2..802daab4218 100644 --- a/tests/framework/console/controllers/BaseMessageControllerTest.php +++ b/tests/framework/console/controllers/BaseMessageControllerTest.php @@ -377,6 +377,27 @@ public function testIgnoreCategories() $this->assertArrayNotHasKey($message3, $messages2, "message3 not found in category2. Command output:\n\n" . $out); $this->assertArrayNotHasKey($message2, $messages2, "message2 found in category2. Command output:\n\n" . $out); } + + /** + * @depends testCreateTranslation + * + * @see https://github.com/yiisoft/yii2/issues/8286 + */ + public function testCreateTranslationFromNested() + { + $category = 'test.category1'; + $mainMessage = 'main message'; + $nestedMessage = 'nested message'; + $sourceFileContent = "Yii::t('{$category}', '{$mainMessage}', ['param' => Yii::t('{$category}', '{$nestedMessage}')]);"; + $this->createSourceFile($sourceFileContent); + + $this->saveConfigFile($this->getConfig()); + $out = $this->runMessageControllerAction('extract', [$this->configFileName]); + + $messages = $this->loadMessages($category); + $this->assertArrayHasKey($mainMessage, $messages, "\"$mainMessage\" is missing in translation file. Command output:\n\n" . $out); + $this->assertArrayHasKey($nestedMessage, $messages, "\"$nestedMessage\" is missing in translation file. Command output:\n\n" . $out); + } } class MessageControllerMock extends MessageController From adb0460ee1dc78a348401e252d59f21b583d3156 Mon Sep 17 00:00:00 2001 From: Klimov Paul Date: Wed, 13 May 2015 16:08:36 +0300 Subject: [PATCH 35/48] `yii\console\controllers\MessageController` now sorts created messages, even if there is no new one, while saving to PHP file --- framework/CHANGELOG.md | 1 + framework/console/controllers/MessageController.php | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 168b4402adb..f7ca033ef61 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -5,6 +5,7 @@ Yii Framework 2 Change Log ----------------------- - Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) +- Enh #8070: `yii\console\controllers\MessageController` now sorts created messages, even if there is no new one, while saving to PHP file (klimov-paul) - Enh #8286: `yii\console\controllers\MessageController` improved allowing extraction of nested translator calls (klimov-paul) diff --git a/framework/console/controllers/MessageController.php b/framework/console/controllers/MessageController.php index 1ecc9a506ac..dc170d1fcf2 100644 --- a/framework/console/controllers/MessageController.php +++ b/framework/console/controllers/MessageController.php @@ -412,13 +412,15 @@ protected function saveMessagesToPHP($messages, $dirName, $overwrite, $removeUnu protected function saveMessagesCategoryToPHP($messages, $fileName, $overwrite, $removeUnused, $sort, $category) { if (is_file($fileName)) { - $existingMessages = require($fileName); + $rawExistingMessages = require($fileName); + $existingMessages = $rawExistingMessages; sort($messages); ksort($existingMessages); - if (array_keys($existingMessages) == $messages) { + if (array_keys($existingMessages) === $messages && (!$sort || array_keys($rawExistingMessages) === $messages)) { $this->stdout("Nothing new in \"$category\" category... Nothing to save.\n\n", Console::FG_GREEN); return; } + unset($rawExistingMessages); $merged = []; $untranslated = []; foreach ($messages as $message) { From 790bb942f0dd38c02e328e4f17cc46cd1dfe11ba Mon Sep 17 00:00:00 2001 From: Vadym Chenin Date: Tue, 5 May 2015 21:59:39 +0300 Subject: [PATCH 36/48] docs/*uk Update Ukrainian translation [ci skip] close #8287 --- docs/guide-uk/README.md | 16 +- docs/guide-uk/intro-upgrade-from-v1.md | 143 ++++++------- docs/guide-uk/intro-yii.md | 6 +- docs/internals-uk/automation.md | 4 +- docs/internals-uk/getting-started.md | 4 + docs/internals-uk/git-workflow.md | 233 ++++++++++++++++++++++ docs/internals-uk/report-an-issue.md | 22 ++ docs/internals-uk/translation-workflow.md | 146 ++++++++++++++ docs/internals-uk/versions.md | 12 +- docs/internals-uk/view-code-style.md | 52 +++++ docs/internals/translation-teams.md | 1 + 11 files changed, 549 insertions(+), 90 deletions(-) create mode 100644 docs/internals-uk/getting-started.md create mode 100644 docs/internals-uk/git-workflow.md create mode 100644 docs/internals-uk/report-an-issue.md create mode 100644 docs/internals-uk/translation-workflow.md create mode 100644 docs/internals-uk/view-code-style.md diff --git a/docs/guide-uk/README.md b/docs/guide-uk/README.md index ee6f189250f..e8ec1ca88c2 100644 --- a/docs/guide-uk/README.md +++ b/docs/guide-uk/README.md @@ -54,7 +54,7 @@ All Rights Reserved. * **TBD** [Відповіді](runtime-responses.md) * **TBD** [Сесії та кукі](runtime-sessions-cookies.md) * **TBD** [Обробка помилок](runtime-handling-errors.md) -* **TBD** [Логування](runtime-logging.md) +* **TBD** [Журналювання](runtime-logging.md) Основні поняття @@ -88,7 +88,7 @@ All Rights Reserved. ------------------------------- * **TBD** [Створення форм](input-forms.md) -* **TBD** [Валідація вводу](input-validation.md) +* **TBD** [Перевірка вводу](input-validation.md) * **TBD** [Завантаження файлів](input-file-uploading.md) * **TBD** [Збір табличного вводу](input-tabular-input.md) * **TBD** [Робота з декількома моделями](input-multiple-models.md) @@ -143,7 +143,7 @@ RESTful веб-сервіси Інструменти розробника ---------------------- -* **TBD** [Відладочна панель та відладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md) +* **TBD** [Панель налагодження та відладчик](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide-uk/README.md) * **TBD** [Генерація коду з Gii](https://github.com/yiisoft/yii2-gii/blob/master/docs/guide-uk/README.md) * [Генератор документації API (en)](https://github.com/yiisoft/yii2-apidoc) @@ -166,7 +166,7 @@ RESTful веб-сервіси * **TBD** [Створення додатка з нуля](tutorial-start-from-scratch.md) * **TBD** [Консольні команди](tutorial-console.md) * **TBD** [Основні валідатори](tutorial-core-validators.md) -* **TBD** [Інтернаціонализація](tutorial-i18n.md) +* **TBD** [Інтернаціоналізація](tutorial-i18n.md) * **TBD** [Робота з поштою](tutorial-mailing.md) * **TBD** [Вдосконалення продуктивності](tutorial-performance-tuning.md) * **TBD** [Робота на shared хостингу](tutorial-shared-hosting.md) @@ -192,7 +192,7 @@ RESTful веб-сервіси Хелпери ------- -* [Огляд](helper-overview.md) -* [ArrayHelper](helper-array.md) -* [Html](helper-html.md) -* [Url](helper-url.md) +* **TBD** [Огляд хелперів](helper-overview.md) +* **TBD** [ArrayHelper](helper-array.md) +* **TBD** [Html](helper-html.md) +* **TBD** [Url](helper-url.md) diff --git a/docs/guide-uk/intro-upgrade-from-v1.md b/docs/guide-uk/intro-upgrade-from-v1.md index edea6ae3ae0..5f3544bbe97 100644 --- a/docs/guide-uk/intro-upgrade-from-v1.md +++ b/docs/guide-uk/intro-upgrade-from-v1.md @@ -8,16 +8,16 @@ Якщо раніше ви не використовували Yii 1.1, ви можете пропустити цей розділ і перейти до розділу "[Встановлення Yii](start-installation.md)". -Також врахуйте, що Yii 2.0 включає більше нового функціоналу, ніж той, що буде описано тут. Наполегливо рекомендується, -що ви прочитаєте весь посібник, щоб дізнатися який функціонал було додано. Можливо, що необхідний функціонал, -який ви до цього розробляли самі, тепер є частиною фреймворка. +Також врахуйте, що Yii 2.0 надає більше нового функціоналу, ніж той, що буде описано тут. Наполегливо рекомендується +прочитати посібник повністю, щоб дізнатися весь доступний функціонал. Можливо, що необхідний функціонал, +який ви до цього розробляли самі, тепер є частиною фреймворку. Встановлення ------------ -Yii 2.0 повністю заснований на [Composer](https://getcomposer.org/), який де факто є менеджером залежностей для PHP. -Установка фреймворка, також як і розширень, здійснюється через Composer. Більш детальні відомості по встановленню Yii 2.0 +Yii 2.0 використовує [Composer](https://getcomposer.org/), який де-факто є менеджером пакунків для PHP. +Встановлення фреймворка, також як і розширень, здійснюється через Composer. Більш детальні відомості по встановленню Yii 2.0 приведені в розділі [Встановлення Yii](start-installation.md). Відомості про те, як створювати розширення для Yii 2.0 або адаптувати вже наявні розширення для версії 1.1 під версію 2.0, наведені в розділі [Створення розширень](structure-extensions.md#creating-extensions). @@ -39,17 +39,17 @@ Yii 2.0 використовує PHP 5.4 або вище, який включа - [Пізнє статичне звʼязування (LSB)](http://php.net/manual/en/language.oop5.late-static-bindings.php); - [Класи для дати та часу](http://php.net/manual/en/book.datetime.php); - [Трейти](http://php.net/manual/en/language.oop5.traits.php); -- [Інтернаціонализація (Intl)](http://php.net/manual/en/book.intl.php); Yii 2.0 використовує розширення PHP `intl` +- [Інтернаціонализація (intl)](http://php.net/manual/en/book.intl.php); Yii 2.0 використовує розширення PHP `intl` для різного функціоналу інтернаціоналізації. Простори імен ------------- -Одним з основних змін в Yii 2.0 є використання просторів імен. Майже кожен клас фреймворку знаходиться у просторі імен, -наприклад, `yii\web\Request`. Префікс "С" більше не використовується в іменах класів. Угода іменування відповідає -структурі каталога, в якій розташовується клас. Наприклад, `yii\web\Request` означає, що відповідний клас знаходиться -у файлі `web/Request.php` в каталогу Yii фреймворка. (Завдяки завантажувачу класів Yii, ви можете використовувати +Однією з основних змін в Yii 2.0 є використання просторів імен. Майже кожен клас фреймворку знаходиться у просторі імен, +наприклад, `yii\web\Request`. Префікс "С" більше не використовується в іменах класів. Схема іменування +зараз відповідає структурі директорій. Наприклад, `yii\web\Request` означає, що відповідний клас знаходиться +у файлі `web/Request.php` в директорії фреймворка. (Завдяки завантажувачу класів Yii, ви можете використовувати будь-який клас фреймворку без необхідності безпосередньо підключати його). @@ -57,8 +57,8 @@ Yii 2.0 використовує PHP 5.4 або вище, який включа ------------------- В Yii 2.0 клас `CComponent` із версії 1.1 був розділений на два класи: [[yii\base\Object]] і [[yii\base\Component]]. -Клас [[yii\base\Object|Object]] є простим базовим класом, який дозволяє використовувати -[геттери та сеттери](concept-properties.md) для властивостей. Клас [[yii\base\Component|Component]] наслідується +Клас [[yii\base\Object|Object]] є простим базовим класом, який дозволяє керувати [властивостями обʼєкта](concept-properties.md) +за допомогою геттерів та сеттерів. Клас [[yii\base\Component|Component]] наслідується від класа [[yii\base\Object|Object]] та підтримує [події](concept-events.md) та [поведінки](concept-behaviors.md). Якщо вашому класу не потрібно використовувати функціонал подій та поведінок, ви можете використати @@ -95,7 +95,7 @@ class MyClass extends \yii\base\Object ключ-значення для ініціалізації властивостей обʼєкта. Ви можете перевизначити метод [[yii\base\Object::init()|init()]] для ініціалізації обʼєкту після того, як до нього була застосована конфігурація. -Слідуючи цій угоді, ви зможете створювати і конфігурувати нові обʼєкти за допомогою масиву конфігурації: +Дотримуючись цієї угоди, ви зможете створювати і конфігурувати нові обʼєкти за допомогою масиву конфігурації: ```php $object = Yii::createObject([ @@ -105,14 +105,14 @@ $object = Yii::createObject([ ], [$param1, $param2]); ``` -Більш детальна інформація про конфігурацію представлена у розділі [Конфігурації обʼєктів](concept-configurations.md). +Більш детальна інформація про конфігурацію представлена у розділі [Конфігурації](concept-configurations.md). Події ----- -В Yii1, події створювалися за допомогою оголошення методу `on` (наприклад, `onBeforeSave`). -В Yii2 ви можете тепер використовувати будь-яке імʼя події. Ви ініціюєте подію за допомогою виклику методу +В Yii 1, події створювалися за допомогою оголошення методу `on` (наприклад, `onBeforeSave`). +В Yii 2 ви можете тепер використовувати будь-яке імʼя події. Ви ініціюєте подію за допомогою виклику методу [[yii\base\Component::trigger()|trigger()]]. ```php @@ -124,44 +124,43 @@ $component->trigger($eventName, $event); ```php $component->on($eventName, $handler); -// To detach the handler, use: +// прибрати обробник: // $component->off($eventName, $handler); ``` -Є також і інші покращення у функціоналі подій. Більш детальна інформація про конфігурація представлена у розділі -[Події](concept-events.md). +Є також інші покращення у функціоналі подій. Більш детальна інформація представлена у розділі [Події](concept-events.md). Псевдоніми шляху ---------------- -Yii 2.0 розширює спосіб використання псевдонімів шляху як для файлів і каталогів, так і для URL. +Yii 2.0 розширює спосіб використання псевдонімів шляху як для файлів та директорій, так і для URL. У Yii 2.0 тепер також потрібно, щоб імʼя псевдоніма починалося із символу `@`, для розмежування псевдонімів від -звичайних шляхів файлів/каталогів і URL. Наприклад, псевдонім `@yii` відповідає каталогу встановлення Yii. -Псевдоніми шляху використовуються в багатьох місцях коду Yii. Наприклад, [[yii\caching\FileCache::cachePath]] -може використовувати як псевдонім шляху, так і звичайний шлях до каталогу. +звичайних шляхів файлів/директорій і URL. Наприклад, псевдонім `@yii` відповідає директорії встановлення Yii. +Псевдоніми шляху підтримуються в багатьох місцях коду Yii. Наприклад, [[yii\caching\FileCache::cachePath]] +може мати значення як псевдоніму шляху, так і звичайного шляху до директорії. -Псевдоніми шляху тісно повʼязані з простором імен класів. Рекомендується, що ви визначите псевдонім шляху +Псевдоніми шляху тісно повʼязані з простором імен класів. Рекомендується призначити псевдонім шляху для кожного базового простору імен, таким чином завантажувач класів Yii може використовуватися без будь-якої -додаткової конфігурації. Наприклад, `@yii` відповідає каталогу встановлення Yii, тому клас `yii\webRequest` -може бути завантажений. Якщо ви використовуєте сторонні бібліотеки, такі як Zend Framework, ви можете також визначити -псевдонім шляху `@Zend`, який відповідає каталогу встановлення фреймворка. Одного разу зробивши це - Yii буде +додаткової конфігурації. Наприклад, оскільки `@yii` посилається на директорію де встановленно Yii, клас `yii\web\Request` +може бути завантажений автоматично. Якщо ви використовуєте сторонні бібліотеки, такі як Zend Framework, ви можете також визначити +псевдонім шляху `@Zend`, який відповідає директорії встановлення цього фреймворка. Після чого Yii буде здатний автоматично завантажувати будь-який клас Zend Framework. -Більш детальна інформація про конфігурації представлена у розділі [Псевдонімів](concept-aliases.md). +Більш детальна інформація про псевдоніми шляху представлена у розділі [Псевдоніми](concept-aliases.md). Представлення ------------- Однією із основних змін в Yii2 є те, що спеціальна змінна `$this` у представленні більше не відповідає -поточному контролеру або віджету. Замість цього, `$this` тепер відповідає обʼєкту *представлення*, нової можливості, +поточному контролеру або віджету. Замість цього, `$this` тепер відповідає обʼєкту *представлення*, новій можливості, яка була введена у версії 2.0. Обʼєкт представлення має тип [[yii\web\View]], який являє собою частину *представлення* -у шаблоні проектування MVC. Якщо ви хочете отримати доступ до контролера або віджету, то використовуйте вираз `$this->context`. +у шаблоні проектування Модель-Представления-Контролер (MVC). Якщо ви хочете отримати доступ до контролера або віджету, то використовуйте вираз `$this->context`. -Для рендеринга часткових представлень тепер використовується метод `$this->render()`, а не `$this->renderPartial()`. -Результат виклику методу `render` тепер повинен бути виведений безпосередньо, так як `render` повертає результат -рендеринга, а не відображає його одразу. Наприклад, +Для формування часткових представлень тепер використовується метод `$this->render()`, а не `$this->renderPartial()`. +Результат виклику методу `render` тепер повинен бути виведений безпосередньо, так як `render` повертає результат, +а не відображає його одразу. Наприклад, ```php echo $this->render('_item', ['item' => $item]); @@ -169,7 +168,7 @@ echo $this->render('_item', ['item' => $item]); Крім використання PHP у якості основного шаблонізатору, Yii 2.0 також включає офіційні розширення для основних популярних шаблонізаторів: Smarty і Twig. Шаблонізатор Prado більше не підтримується. Для використання вказаних -шаблонізаторів вам необхідно налаштувати компонент додатка `view` за допомогою вказівки властивостей +шаблонізаторів вам необхідно сконфігурувати компонент додатка `view` за допомогою налаштування властивості [[yii\base\View::$renderers|View::$renderers]]. Більш детальна інформація представлена у розділі [Шаблонізатори](tutorial-template-engines.md). @@ -196,15 +195,15 @@ public function scenarios() ``` У прикладі вище, оголошено два сценарії: `backend` і `frontend`. Для сценарію `backend` обидва атрибута `email` і `role` -є безпечними і можуть бути масово привласнені. Для сценарію `frontend` атрибут `email` може бути масово присвоєний, -а атрибут `role` - ні. Обидва атрибути `email` та `role` повинні бути перевірені за допомогою правил валідації. +є безпечними та можуть бути масово призначені. Для сценарію `frontend` атрибут `email` може бути масово призначений, +але атрибут `role` - ні. Обидва атрибути `email` та `role` повинні бути перевірені за допомогою правил валідації. Метод [[yii\base\Model::rules()|rules()]] як і раніше використовується для оголошення правил валідації. -Зверніть увагу, що у звʼязку з появою нового методу [[yii\base\Model::scenarios()|scenarios()]] - +Зверніть увагу, що у звʼязку з появою нового методу [[yii\base\Model::scenarios()|scenarios()]], більше не підтримується валідатор `unsafe`. У більшості випадків вам не потрібно перевизначати метод [[yii\base\Model::scenarios()|scenarios()]], -якщо метод [[yii\base\Model::rules()|rules()]] повністю вказує всі існуючі сценарії і якщо немає потреби +якщо метод [[yii\base\Model::rules()|rules()]] повністю вказує всі сценарії, що існують, та якщо немає потреби в оголошенні атрибутів небезпечними. Більш детальна інформація представлена у розділі [Моделі](structure-models.md). @@ -216,7 +215,7 @@ public function scenarios() В якості базового класу для контролерів в Yii 2.0 використовується [[yii\web\Controller]], який є аналогічним `CController` у Yii 1.1. Базовим класом для всіх дій є [[yii\base\Action]]. -Однією із основних змін є те, що дія контролера тепер має повернути результат замість того, щоб напряму виводити його: +Однією із основних змін є те, що дія контролера тепер має повернути результат замість того, щоб безпосередньо виводити його: ```php @@ -269,8 +268,10 @@ ActiveForm::end(); представлення із темізованим файлом. Наприклад, якщо використовується співставлення шляхів `['/web/views' => '/web/themes/basic']`, то темізована версія файлу представлення `/web/views/site/index.php` буде знаходитися у `/web/themes/basic/site/index.php`. З цієї причини теми можуть бути застосовані до будь-якого файлу -представлення, навіть до представлення, яке відрендерене всередині контексту контролера або віджету. Також, більше -не існує компонента `CThemeManager`. Замість цього, `theme` є конфігурованою властивістю компонента додатка `view`. +представлення, навіть до представлення, яке сформоване за межами контексту контролера або віджету. + +Також, більше не існує компонента `CThemeManager`. Замість цього є властивість `theme` компонента додатка `view`, +яку можна сконфігурувати. Більш детальна інформація представлена у розділі [Темізація](output-theming.md). @@ -278,7 +279,7 @@ ActiveForm::end(); Консольні додатки ----------------- -Консольні додатки тепер організовані як контролери, аналогічно веб додаткам. Консольні контролери +Консольні додатки тепер організовані як контролери, аналогічно веб-додаткам. Консольні контролери повинні бути успадковані від класу [[yii\console\Controller]], аналогічного `CConsoleCommand` у версії 1.1. Для виконання консольної команди, використовуйте `yii <маршрут>`, де `<маршрут>` це маршрут контролера @@ -295,10 +296,10 @@ I18N ---- У Yii 2.0 були прибрані вбудовані форматтери часу та чисел на користь -[PECL intl PHP розширення](http://pecl.php.net/package/intl). +[PECL розширення PHP intl](http://pecl.php.net/package/intl). -Переклад повідомлень тепер здійснюється через компонент додатка `i18n`. Даний компонент управляє безліччю вихідних сховищ -повідомлень, що дозволяє вам використовувати різні сховища для вихідних повідомлень залежно від категорії повідомлення. +Переклад повідомлень тепер здійснюється через компонент додатка `i18n`. Даний компонент управляє наборами джерел +повідомлень, що дозволяє вам використовувати різні джерела повідомлень, залежно від категорії повідомлення. Більш детальна інформація представлена у розділі [Інтернаціоналізація](tutorial-i18n.md). @@ -306,7 +307,7 @@ I18N Фільтри дій ----------- -Фільтри дій тепер зроблені за допомогою поведінок. Для визначення нового фільтру - успадкуйте від [[yii\base\ActionFilter]]. +Фільтри дій тепер зроблені за допомогою поведінок. Новостворюваний фільтр необхідно успадкувати від [[yii\base\ActionFilter]]. Для використання фільтра - прикріпіть його до контролера у якості поведінки. Наприклад, для використання фільтра [[yii\filters\AccessControl]] слід зробити наступне: @@ -332,8 +333,8 @@ public function behaviors() У Yii 2.0 представлена нова можливість *звʼязки ресурсів*, яка замінює концепт пакетів скриптів у Yii 1.1. -Звʼязка ресурсів - це колекція файлів ресурсів (наприклад, Javascript файли, CSS файли, файли зображень, і т. п.) -у певній папці. Кожна звʼязка ресурсів представлена​класом, успадкованим від [[yii\web\AssetBundle]]. +Звʼязка ресурсів - це колекція файлів ресурсів (наприклад: Javascript файли, CSS файли, файли зображень, і т. п.) +у певній директорії. Кожна звʼязка ресурсів представлена​ класом, успадкованим від [[yii\web\AssetBundle]]. Звʼязка ресурсів стає доступною через веб, за допомогою реєстрації її методом [[yii\web\AssetBundle::register()]]. На відміну від Yii 1.1, сторінка, яка реєструє звʼязку ресурсів, автоматично буде містити посилання на Javascript і CSS файли, які зазначені у звʼязці. @@ -352,7 +353,7 @@ Javascript і CSS файли, які зазначені у звʼязці. * [[yii\helpers\FileHelper]] * [[yii\helpers\Json]] -Більш детальна інформація представлена у розділі [Хелпери](helper-overview.md). +Більш детальна інформація представлена у розділі [Огляд хелперів](helper-overview.md). Форми @@ -373,7 +374,7 @@ Yii 2.0 вводить нове поняття *поле* для побудов ``` -Більш детальна інформація представлена у розділі [Робота з формами](input-forms.md). +Більш детальна інформація представлена у розділі [Створення форм](input-forms.md). Конструктор запитів @@ -381,7 +382,7 @@ Yii 2.0 вводить нове поняття *поле* для побудов У версії 1.1, побудова запиту була розкидана серед декількох класів, включаючи `CDbCommand`, `CDbCriteria` та `CDbCommandBuilder`. У Yii 2.0 запит до БД представлений в рамках обʼєкта [[yii\db\Query|Query]], -який може бути перетворений у SQL вираз за допомогою [[yii\db\QueryBuilder|QueryBuilder]]. Наприклад, +який може бути перетворений у SQL-вираз за допомогою [[yii\db\QueryBuilder|QueryBuilder]]. Наприклад, ```php $query = new \yii\db\Query(); @@ -402,10 +403,10 @@ $rows = $command->queryAll(); Active Record ------------- -У Yii 2.0 внесено безліч змін в роботу [Active Record](db-active-record.md). Два основних з них включають в себе -побудову запитів і роботу із звʼязками. +У Yii 2.0 внесено безліч змін в роботу [Active Record](db-active-record.md). Основними двома є +побудова запитів і робота із звʼязками. -Клас `CDbCriteria` у версії 1.1 був замінений на [[yii\db\ActiveQuery]] у Yii 2.0. Це клас успадковується від +Клас `CDbCriteria` у версії 1.1 був замінений на [[yii\db\ActiveQuery]] у Yii 2.0. Цей клас успадковується від [[yii\db\Query]] і таким чином отримує всі методи, які необхідні для побудови запиту. Для побудови запиту вам слід викликати метод [[yii\db\ActiveRecord::find()]]: @@ -417,7 +418,7 @@ $customers = Customer::find() ->all(); ``` -Для оголошення звʼязку слід просто оголосити геттер, який повертає обʼєкт [[yii\db\ActiveQuery|ActiveQuery]]. +Для оголошення звʼязку слід просто призначити геттер, який повертає обʼєкт [[yii\db\ActiveQuery|ActiveQuery]]. Імʼя властивості, яке визначене геттером, представляє собою назву звʼязку. Наприклад, наступний код оголошує звʼязок `orders` (у версії 1.1 вам потрібно було б оголосити звʼязки в одному центральному місці - `relations()`): @@ -445,15 +446,15 @@ Yii 2.0 здійснює жадібне завантаження (eager loading) Замість того, щоб повертати обʼєкти [[yii\db\ActiveRecord|ActiveRecord]], ви можете використовувати метод [[yii\db\ActiveQuery::asArray()|asArray()]] при побудові запиту, для вибірки великої кількості записів. -Це змусить повернути результат запиту у якості масива, що може суттєво знизити час, який потрібен ЦПУ і памʼяті +Це змусить повернути результат запиту у якості масиву, що може суттєво знизити витрати процесорного часу і памʼяті при великій кількості записів. Наприклад: ```php $customers = Customer::find()->asArray()->all(); ``` -Ще одна зміна повʼязана з тим, що ви більше не можете визначати значення по-замовчуванням як властивостей. -Ви повинні встановити їх у методі `init` вашого класу, якщо це потрібно. +Ще одна зміна повʼязана з тим, що ви більше не можете визначати значення атрибутів за замовчуванням з допомогою public властивостей. +Ви можете встановити їх у методі `init` вашого класу запису, якщо це потрібно. ```php public function init() @@ -463,21 +464,21 @@ public function init() } ``` -Також у версії 1.1 були деякі проблеми із перевизначенням конструктора ActiveRecord. Дані проблеми не присутні +Також у версії 1.1 були деякі проблеми із перевизначенням конструктора ActiveRecord. Дані проблеми відсутні у версії 2.0. Зверніть увагу, що при додаванні параметрів у конструктор, вам, можливо, знадобиться перевизначити метод [[yii\db\ActiveRecord::instantiate()]]. Перевизначення може не знадобитися, якщо параметри, передані в конструктор матимуть значення за умовчанням, наприклад `null`. -Існує також безліч інших покращень у ActiveRecord. Більш детальна інформація про конфігурацію представлена у розділі +Є також безліч інших змін та покращень у ActiveRecord. Більш детальна інформація про них представлена у розділі [Active Record](db-active-record.md). Поведінки Active Record ----------------------- -У версії 2.0 ми позбулися від класу базової поведінки `CActiveRecordBehavior`. Якщо ви хочете створити поведінку -Active Record, ви повинні будете розширити класс `yii\base\Behavior`. Якщо класу поведінки необхідно реагувати на -деякі події власника, ви повинні перевизначити метод `events()`, як показано нижче, +У версії 2.0 розробники позбулися класу базової поведінки `CActiveRecordBehavior`. Новостворюваний клас поведінки Active Record +має бути успадкованим безпосередньо від класу `yii\base\Behavior`. Якщо класу поведінки необхідно реагувати на +деякі події власника, потрібно перевизначити метод `events()`, як показано нижче, ```php namespace app\components; @@ -508,17 +509,17 @@ User та IdentityInterface ------------------------- Клас `CWebUser` у версії 1.1 тепер замінений класом [[yii\web\User]], а також більше не існує класу `CUserIdentity`. -Замість цього, ви повинні надати реалізацію інтерфейсу [[yii\web\IdentityInterface]], що набагато простіше у використанні. +Замість цього, необхідно реалізувати інтерфейс [[yii\web\IdentityInterface]], що набагато простіше у використанні. Більш детальна інформація представлена у розділах [Аутентифікація](security-authentication.md), -[Авторизація](security-authorization.md) та [Шаблон додатка advanced](tutorial-advanced-app.md). +[Авторизація](security-authorization.md) та [Розширений шаблон додатка](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-uk/README.md). -Управління URL --------------- +Керування URL +------------- -Робота з URL в Yii 2.0 аналогічна тій, що була у версії 1.1. Основна зміна полягає в тому, що тепер підтримуються -додаткові параметри. Наприклад, якщо у вас є правило, оголошене наступним чином, то воно співпаде з `post/popular` та +Робота з URL в Yii 2.0 аналогічна тій, що була у версії 1.1. Основне покращення полягає в тому, що тепер підтримуються +додаткові параметри. Наприклад, якщо у вас є правило, оголошене нижче, то воно співпаде з `post/popular` та `post/1/popular`. У версії 1.1 вам довелося б використовувати два правила для отримання того ж результату. ```php @@ -529,11 +530,11 @@ User та IdentityInterface ] ``` -Більш детальна інформація представлена у розділі [Розбір та генерація URL](runtime-routing.md). +Більш детальна інформація представлена у розділі [Маршрутизація та створення URL](runtime-routing.md). Використання Yii 1.1 разом із 2.x --------------------------------- Інформація про використання коду для Yii 1.1 разом із Yii 2.0 представлена у розділі -[Одночасне використання Yii 1.1 та 2.0](tutorial-yii-integration.md). +[Робота із стороннім кодом](tutorial-yii-integration.md). diff --git a/docs/guide-uk/intro-yii.md b/docs/guide-uk/intro-yii.md index ffe736aba57..5e5485805f3 100644 --- a/docs/guide-uk/intro-yii.md +++ b/docs/guide-uk/intro-yii.md @@ -11,7 +11,7 @@ Yii – це високопродуктивний компонентний PHP Yii – це універсальний фреймворк і може бути задіяний у всіх типах веб-додатків, що використовують PHP. Завдяки його компонентній структурі і відмінній підтримці кешування, фреймворк особливо підходить для розробки -таких великих проектів як портали, форуми, системи керування контентом (CMS), інтернет-магазини або RESTful-додатки. +таких великих проектів як портали, форуми, системи керування вмістом (CMS), інтернет-магазини або RESTful-додатки. Порівняння Yii з іншими фреймворками @@ -41,7 +41,7 @@ Yii — не проект однієї людини. Він підтримуєт На даний момент існує дві основні версії Yii: 1.1 та 2.0. Версія 1.1 є попереднім поколінням і знаходиться у стані підтримки. Версія 2.0 - це повністю переписаний Yii, що використовує останні технології і протоколи, такі як Composer, PSR, простори імен, -типажі (traits) і багато іншого. 2.0 - поточне покоління фреймворка. На цій версії будуть зосереджені основні зусилля +трейти і багато іншого. 2.0 - поточне покоління фреймворка. На цій версії будуть зосереджені основні зусилля кілька наступних років. Даний посібник призначений в основному для версії 2.0. @@ -53,4 +53,4 @@ Yii 2.0 потребує PHP 5.4.0 та вище. Щоб дізнатися ви Для розробки на Yii необхідне загальне розуміння ООП, так як фреймворк повністю слідує цій парадигмі. Також слід вивчити такі сучасні можливості PHP як [простори імен](http://www.php.net/manual/en/language.namespaces.php) -і [типажі](http://www.php.net/manual/en/language.oop5.traits.php). +і [трейти](http://www.php.net/manual/en/language.oop5.traits.php). diff --git a/docs/internals-uk/automation.md b/docs/internals-uk/automation.md index 73bcbb0facd..d6dd507a9b9 100644 --- a/docs/internals-uk/automation.md +++ b/docs/internals-uk/automation.md @@ -6,10 +6,10 @@ - Створення мапи класів `classes.php` у кореневій директорії фреймворку. Виконати `./build/build classmap` для її створення. -- Створення анотацій `@property` у файлах класів, що описують властивості представлені функціями для отримання (getters) та призначення (setters) властивостей. +- Створення анотацій `@property` у файлах класів, що описують властивості представлені геттерами та сеттерами. Виконати `./build/build php-doc/property` для їх оновлення. - Виправлення стилю кодування та інших невеличких проблем у коментарях phpdoc. Виконати `./build/build php-doc/fix` для виправлення. - Перед тим як створювати коміт, необхідно перевіряти зміни, оскільки команда не є досконалою й можливі не бажані зміни. + Перед тим як створювати комміт, необхідно перевіряти зміни, оскільки команда не є досконалою й можливі не бажані зміни. Можна використовувати `git add -p` для перегляду змін. diff --git a/docs/internals-uk/getting-started.md b/docs/internals-uk/getting-started.md new file mode 100644 index 00000000000..783cc668464 --- /dev/null +++ b/docs/internals-uk/getting-started.md @@ -0,0 +1,4 @@ +Підготовка до розробки Yii 2 +============================ + +Інформація про те, як налаштувати середовище для розробки представлена у розділі [Робота з Git для учасників Yii 2](git-workflow.md). diff --git a/docs/internals-uk/git-workflow.md b/docs/internals-uk/git-workflow.md new file mode 100644 index 00000000000..7bcb1fc5600 --- /dev/null +++ b/docs/internals-uk/git-workflow.md @@ -0,0 +1,233 @@ +Робота з Git для учасників Yii 2 +================================ + +Ви бажаєте взяти участь в розробці Yii? Чудово! Але, щоб підвищити шанси швидкого прийняття ваших змін, будь ласка, +дотримуйтесь наступних кроків. Якщо ви новачок у Git та GitHub, спершу можете ознайомитись із +[довідкою GitHub](http://help.github.com/), [тренером Git](https://try.github.com) +або почитати книгу [Магія Git](http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/uk/) +чи [Розділ Git у Вікіпідручнику](http://uk.wikibooks.org/wiki/Git), щоб краще зрозуміти внутрішню структуру Git. + +Підготовка вашого середовища розробки +------------------------------------- + +Наступні кроки створять середовище розробки для Yii, яке ви зможете використовувати для роботи +над основним кодом фреймворку Yii. Ці кроки необхідні лише тоді, коли ви вперше долучаєтесь до співпраці. + +### 1. [Створіть форк](http://help.github.com/fork-a-repo/) репозиторію Yii на GitHub та клонуйте свій форк у своє середовище розробки + +``` +git clone git@github.com:ВАШЕ-ІМ’Я-НА-GITHUB/yii2.git +``` + +Якщо у вас виникли проблеми із роботою Git з GitHub в Linux, або ви отримали помилку заборони доступу "Permission Denied (publickey)", +то вам необхідно [налаштувати Git для роботи з GitHub](https://help.github.com/articles/set-up-git/#platform-linux). + +### 2. Додайте головний репозиторій Yii як додатковий віддалений репозиторій із назвою "upstream" + +Перейдіть у директорію, в яку ви клонували Yii, зазвичай "yii2". Потім виконайте наведену команду: + +``` +git remote add upstream git://github.com/yiisoft/yii2.git +``` + +### 3. Підготуйте середовище тестування + +Наступні кроки не обов'язкові, якщо ви хочете працювати лише над перекладом або документацією. + +- виконайте `composer update` для встановлення залежностей (припускається, що ви маєте [глобально встановлений composer](https://getcomposer.org/doc/00-intro.md#globally)). +- виконайте `php build/build dev/app basic` для клонування базового додатку та встановлення його залежностей. + Ця команда встановить сторонні пакунки composer як завжди, а також створить посилання з репозиторію yii2 + на поточний репозиторій. Таким чином ви будете мати один екземпляр встановленого коду. + +Якщо необхідно, зробіть те ж саме для розширеного додатку: `php build/build dev/app advanced`. + +Ця команда може використовуватись для оновлення залежностей, вона викликає `composer update` в процесі виконання. + +**Тепер ви маєте робочий майданчик для експериментів з Yii 2.** + +Наступні кроки не обов’язкові. + +### Модульні тести + +Ви можете виконати модульні тести, запустивши `phpunit` у кореневій директорії репозиторію. Якщо у вас phpunit не встановлений глобально, +ви можете запускати `php vendor/bin/phpunit`. + +Деякі тести потребують додатково встановлення та налаштування баз даних. Ви можете створити `tests/data/config.local.php` для перевизначення +налаштувань сконфігурованих у `tests/data/config.php`. + +Можливо обмежити тести групою тестів, що покривають область над якою ви працюєте, наприклад, щоб запустити тести для валідаторів +та redis, виконайте `phpunit --group=validators,redis`. Для отримання списку доступних груп виконайте `phpunit --list-groups`. + +### Розширення + +Для роботи з розширеннями необхідно клонувати відповідні репозиторії. Наступна команда зробить це для вас: + +``` +php build/build dev/ext +``` + +де `` є назвою розширення, наприклад `redis`. + +Якщо бажаєте протестувати розширення в одному із шаблонів додатку, просто додайте його до `composer.json` додатку, як ви будете +робити зазвичай. Наприклад, додайте `"yiisoft/yii2-redis": "*"` до секції `require` базового додатку. +Команда `php build/build dev/app basic` встановить розширення та його залежності й створить +символьне посилання на `extensions/redis`, тому ви можете працювати безпосередньо в директорії репозиторію yii2, +а не у специфічній для composer директорії vendor. + + +Робота з помилками та функціоналом +---------------------------------- + +Отримавши середовище розробки, як було описано вище, ви можете розпочати роботу над функціоналом або виправленням помилок. + +### 1. Переконайтесь, що створено питання стосовно речі, над якою ви працюєте, якщо це потребує багатьох зусиль для виконання + +Усі нові можливості та виправлення помилок повинні мати пов’язане запитання, яке забезпечує єдину точку посилання для обговорення +та документації. Витратьте декілька хвилин на перегляд списку створених питань, щоб знайти ті, що стосуються внеску, який ви +збираєтесь зробити. Якщо знайдете таке у списку запитань, потім, будь ласка, залиште коментар із зазначенням, що ви +збираєтесь працювати над цим. Якщо не знайшли створеного питання, що стосується того, над чим ви збираєтесь працювати, будь ласка +[створіть нове запитання](report-an-issue.md) або відправте "pull request" безпосередньо, якщо це не складне виправлення. Це дозволить команді +розробників розглянути вашу пропозицію та надавати відповідний зворотний зв’язок протягом шляху. + +> Для невеликих змін, проблем документації або простих виправлень нема потреби створювати питання, достатньо відправити "pull request" у цих випадках. + +### 2. Отримайте останній код з головної гілки Yii + +``` +git fetch upstream +``` + +З цього необхідно розпочинати кожний новий внесок, щоб бути впевненим, що ви працюєте з найновішим кодом. + +### 3. Створіть нову гілку для вашого внеску на базі поточної основної гілки Yii + +> Це дуже важливо, тому що ви не зможете відправляти більше, ніж один "pull request" від вашого імені, у разі + використання основної (master) гілки. + +Кожні окремі виправлення помилок або зміни повинні мати власні гілки. Назви гілок повинні бути наочними та починатись з +номеру питання, яке пов’язане із вашим кодом. Якщо ви працюєте не над специфічним питанням, просто пропустіть номер. +Наприклад: + +``` +git checkout upstream/master +git checkout -b 999-name-of-your-branch-goes-here +``` + +### 4. Робіть вашу магію, пишіть ваш код + +Переконайтесь, що він працює :) + +Модульні тести завжди вітаються. Протестований та добре покритий код надзвичайно полегшує перевірку вашого внеску. +Провальні модульні тести як опис проблеми також приймаються. + +### 5. Оновіть журнал змін (CHANGELOG) + +Додайте до файлу CHANGELOG зроблені вами зміни у верхній частині документу під заголовком +"Work in progress", запис у журналі змін повинен виглядати подібно до наведеного прикладу: + +``` +Bug #999: a description of the bug fix (Your Name) +Enh #999: a description of the enhancement (Your Name) +``` + +`#999` - це номер питання, на яке посилається виправлення помилки (`Bug`) або покращення (`Enh`). + +Записи журналу змін повинні бути згруповані за типом (`Bug`, `Enh`) та сортовані за номером питання. + +Для дуже малих виправлень, наприклад, друкарських помилок та змін у документації, нема потреби оновлювати CHANGELOG. + +### 6. Створіть комміт ваших змін + +Додайте файли/зміни, призначені для комміту, в [буферну зону](http://gitref.org/basic/#add) за допомогою команди: + +``` +git add path/to/my/file.php +``` + +Використовуйте опцію `-p` для відбору змін, які ви бажаєте додати до вашого комміту. + +Створіть комміт з описовим повідомленням. Переконайтесь, що вказали номер питання як `#XXX`, щоб GitHub +автоматично пов’язав ваш комміт із питанням: + +``` +git commit -m "A brief description of this change which fixes #999 goes here" +``` + +### 7. Додайте останній код Yii з upstream до вашої гілки + +``` +git pull upstream master +``` + +Це гарантує, що ви матимете останній код у вашій гілці перед тим, як відправити "pull request". Якщо є будь-які конфлікти поєднання, +треба виправити їх одразу та знову створити комміт. Це забезпечить команду розробників Yii можливістю легко приєднати ваші зміни +одним натисканням кнопки. + +### 8. Вирішивши будь-які конфлікти, відправте ваш код до GitHub + +``` +git push -u origin 999-name-of-your-branch-goes-here +``` + +Опція `-u` забезпечує те, що ваша гілка відтепер оброблятиметься автоматично при запитах push та pull до GitHub гілки. +Це означає, якщо ви виконаєте `git push` наступного разу, програма буде знати куди відправляти. Це корисно, якщо ви +бажаєте пізніше додавати більше коммітів у "pull request". + +### 9. Відправте ["pull request"](http://help.github.com/send-pull-requests/) до upstream. + +Перейдіть до вашого репозиторію на GitHub та натисніть "Pull Request", оберіть вашу гілку справа та внесіть трохи деталей +у полі коментарю. Щоб пов’язати "pull request" із запитанням, внесіть десь у коментарі `#999`, де 999 - це номер питання. + +> Зауважте, що кожний "pull request" повинен стосуватись окремої зміни. Для багатьох змін, не пов’язаних між собою, + будь ласка, відправляйте "pull request" окремо для кожної. + +### 10. Дехто перевірить ваш код + +Дехто перевірить ваш код, й, можливо, вас попросять внести деякі зміни. У цьому випадку перейдіть до кроку #6 (нема потреби +відправляти інший "pull request", якщо ваш поточний досі відкритий). Якщо ваш код прийнято, то він буде поєднаний з головною гілкою +та стане частиною наступного релізу Yii. Якщо ж ні, не сумуйте, різні люди потребують різних можливостей, та Yii +не може бути всім для всіх, ваш код залишатиметься доступним на GitHub для людей, які його потребують. + +### 11. Проведіть чистку + +Після того, як ваш код був прийнятий або відхилений, можете видалити гілки, над якими ви працювали, із локального репозиторію +та з `origin`. + +``` +git checkout master +git branch -D 999-name-of-your-branch-goes-here +git push origin --delete 999-name-of-your-branch-goes-here +``` + +### Примітка: + +Для виявлення регресу на ранніх стадіях кожне поєднання з кодовою базою Yii на GitHub опрацьовується у +[Travis CI](http://travis-ci.org) для автоматичного запуску тестів. Оскільки основна команда розробників не бажає +перевантажувати сервіс, додавайте [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) до +опису поєднання, якщо ваш "pull request": + +* зачіпає лише файли javascript, css або файли зображень, +* оновлює документацію, +* змінює лише фіксовані текстові рядки (наприклад, оновлення перекладу) + +Це захистить travis від запуску тестів на змінах, які не покриті тестами. + +### Огляд команд (для досвідчених учасників) + +``` +git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git +git remote add upstream git://github.com/yiisoft/yii2.git +``` + +``` +git fetch upstream +git checkout upstream/master +git checkout -b 999-name-of-your-branch-goes-here + +/* робіть вашу магію; оновіть журнал змін, якщо необхідно */ + +git add path/to/my/file.php +git commit -m "A brief description of this change which fixes #999 goes here" +git pull upstream master +git push -u origin 999-name-of-your-branch-goes-here +``` diff --git a/docs/internals-uk/report-an-issue.md b/docs/internals-uk/report-an-issue.md new file mode 100644 index 00000000000..1a462e13673 --- /dev/null +++ b/docs/internals-uk/report-an-issue.md @@ -0,0 +1,22 @@ +Повідомлення про проблему +========================= + +Будь ласка, дотримуйтесь рекомендацій, зазначених нижче, при створенні питання, щоб прискорити його вирішення: + +* Подавайте інформацію, включаючи: версію PHP та Yii, тип операційної системи та веб-сервера, тип та версію браузера. +* Додавайте **повний** вивід про помилку, якщо є. Скріншот, що пояснює проблему, дуже вітається. +* Опишіть кроки, які призводять до помилки. Було б ще краще, надати код для відтворення проблеми. +* Якщо можливо створіть модульний тест, навіть провальний, та [надішліть його як "pull request"](git-workflow.md). + +Якщо проблема повʼязана з одним із офіційних розширень, будь ласка, повідомляйте про неї у репозиторії цього розширення. +Якщо ви не впевнені, [повідомляйте у головному репозиторії](https://github.com/yiisoft/yii2/issues/new) (). + +**Не повідомляйте про проблему, якщо:** + +* Ви хочете спитати як використовувати ту чи іншу можливість Yii. Для цього користуйтесь [форумом](http://www.yiiframework.com/forum/index.php/forum/42-general-discussions-for-yii-20/) або [чатом](http://www.yiiframework.com/chat/). +* Проблема стосується безпеки. Будь ласка, [звертайтесь безпосередньо до розробників](http://www.yiiframework.com/security/), щодо проблем з безпекою. + +**Уникайте дублювання питань** + +Перед тим, як повідомити про проблему, будь ласка, здійсніть пошук серед [створених запитань](https://github.com/yiisoft/yii2/issues), +можливо про проблему вже повідомили або проблема вже вирішена. Також переконайтесь, що маєте останню версію Yii та у разі оновлення перевірте чи проблема при цьому присутня. diff --git a/docs/internals-uk/translation-workflow.md b/docs/internals-uk/translation-workflow.md new file mode 100644 index 00000000000..8a9e9d52cb1 --- /dev/null +++ b/docs/internals-uk/translation-workflow.md @@ -0,0 +1,146 @@ +Процес перекладу +================ + +Yii перекладається на багато різних мов, щоб бути корисним для міжнародних додатків та розробників. Основними двома областями, +де вітається співпраця є документація та повідомлення фреймворку. + +Повідомлення фреймворку +----------------------- + +Фреймворк має два типи повідомлень: виключення, які призначені для розробників й ніколи не перекладаються, та повідомлення +видимі кінцевому користувачу, такі як помилки перевірки. + +Щоб розпочати переклад повідомлень необхідно: + +1. Перейти до директорії `framework` та виконати команду `./yii message/extract messages/config.php`. +2. Перекласти повідомлення у файлі `framework/messages/uk/yii.php`. Зберегти файл у кодуванні UTF-8. +3. [Відправити "pull request"](git-workflow.md). + +Для підтримання перекладу в актуальному стані можна знову використовувати команду `./yii message/extract messages/config.php`. +Це автоматично здобуде нові повідомлення, зберігаючи при цьому вже перекладені. + +У файлі перекладу кожний ключ елементу масиву представляє повідомлення, а значення елементу масиву представляє переклад. +Якщо значення порожнє, повідомлення вважається не перекладеним. Переклади повідомлень, які вже не потребують перекладу, +замкнуті між парами знаків '@@'. Текст перекладу може містити формат кількох форм множини. +Ознайомтесь з розділом посібника [Інтернаціоналізація](../guide-uk/tutorial-i18n.md) для більш детальної інформації. + +Документація +------------ + +Переклад документації знаходиться у `docs/-uk`, де `` відповідає оригінальній директорії, +наприклад `guide` або `internals`. + +Після завершення розпочатої роботи можна отримати звіт про стан перекладу за допомогою виклику спеціальної команди з +директорії `build`: + +``` +php build translation "../docs/guide" "../docs/guide-uk" "Ukrainian guide translation report" > report_guide_uk.html +``` + +У разі необхідності встановіть [Composer](https://getcomposer.org/) в кореневій директорії вашого локального репозиторію. + +### Список документів + +Перелік документів, що потребують перекладу, можна знайти за нижченаведеними посиланнями: + +- [список документів для guide-uk](https://ethercalc.org/yii2.docs.guide-uk); +- [список документів для internals-uk](https://ethercalc.org/yii2.docs.internals-uk). + +Перед тим, як розпочати переклад, переконайтесь, що їм ніхто не займається, та запишіть себе у списку документів. + +В залежності від прогресу оберіть відповідний статус перекладу: +- В роботі — переклад готується перекладачем до відправлення "pull request"; +- Ревізія — відправлений переклад перевіряється ревізором; +- Перекладено — переклад прийнято до головної (master) гілки проекту. + +За додатковою інформацією можете звертатись до учасників української [команди перекладачів](../internals/translation-teams.md). + +### Переклад зображень + +Зображення до документації знаходяться у вкладеній директорії `images`. Усі вони створенні програмою [yED](http://www.yworks.com/en/products/yfiles/yed/). +При необхідності перекладу оригінальний файл копіюється в директорію `images` перекладу, перекладається та зберігається у форматі png. + +Перелік зображень, що потребують перекладу, можна знайти за нижченаведеним посиланням: + +- [список зображень для guide-uk](https://ethercalc.org/yii2.docs.guide-uk.images). + +### Переклад спеціальних повідомлень + +- Tip → Підказка +- Note → Примітка +- Info → Інформація + +### Список термінів + +- action — дія; +- active record — (не перекладається); +- (advanced/basic) application — (розширений/базовий) додаток; +- attach handler — прикріпити обробник; +- attribute of the model — атрибут моделі; +- branch — гілка; +- cache — кеш; +- camel case — (не перекладається); +- column — колонка; +- commit — комміт; +- configuration — конфігурація; +- content — вміст; +- contributor — учасник; +- controller — контролер; +- cookies — кукі; +- customization — (тонке) налаштування; +- debug mode — режим налагодження (див. production mode); +- debugger — відладчик; +- (root) directory — (коренева) директорія; +- eager loading — жадібне завантаження (див. lazy loading); +- email address — email адреса; +- environment — середовище; +- exception — виключення; +- PHP extension — розширення PHP; +- field (of the table) — поле/атрибут (таблиці); +- fixture — фікстура; +- fork — форк; +- framework — фреймворк; +- front-controller — фронт-контролер; +- getter — геттер; +- (event) handler — обробник (події); +- hash — хеш; +- help - довідка; +- helper - хелпер; +- id — ідентифікатор; +- image — зображення; +- instance — екземпляр; +- issue — питання/проблема; // в залежності від контексту +- lazy loading — відкладене завантаження; +- log, logging — журнал, журналювання; +- method — метод (обʼєкта/класу); +- merge — поєднання; +- model — модель, модель даних; +- model form — модель форми; +- parameter — параметр (методу/функції); +- to parse — обробляти; +- placeholder — заповнювач; +- production mode — режим провадження (див. debug mode); +- property — властивість (обʼєкта); +- pull request — (не перекладається); +- query builder — конструктор запитів; +- to render, rendering — формувати, формування; +- related, relation — повʼязаний, звʼязок; +- repo, repository — репозиторій; +- resolve request — попередня обробка запиту; +- route, routing — маршрут, маршрутизація; +- row (of the table) — рядок (таблиці); +- setter — сеттер; +- staging area — буферна зона; +- string — текстовий рядок; +- tabular input — табличний ввід; +- template engine — шаблонізатор; +- theming — темізація; +- trait — трейт; +- unit tests — модульні тести; +- to validate — перевіряти; +- valid — коректний; +- validator — валідатор; +- validation — перевірка; +- validator class — клас валідатора; +- versioning — версіонування; +- view — представлення. diff --git a/docs/internals-uk/versions.md b/docs/internals-uk/versions.md index d482d718ff8..eba65117a0e 100644 --- a/docs/internals-uk/versions.md +++ b/docs/internals-uk/versions.md @@ -23,10 +23,10 @@ * 100%-ва зворотна сумісність, що гарантує оновлення без проблем. Виключенням можуть бути лише проблеми безпеки, які потребують порушення зворотної сумісності * Цикл релізу близько 1-2 місяців * Не має необхідності у пре-релізах (альфа, бета, реліз-кандидат) -* Регулярно об'єднуються з головною (майстер) гілкою (щонайменш раз у тиждень вручну) +* Регулярно обʼєднуються з головною (master) гілкою (щонайменш раз у тиждень вручну) -## Молодші (майнор) релізи `2.X.0` +## Молодші (мінорні) релізи `2.X.0` Зворотно несумісні релізи, що містять великі доповнення та зміни, які можуть порушувати зворотну сумісність. Оновлення з ранніх версій може бути не простим, але у наявності повна інструкція по оновленню або навіть скрипт. @@ -40,10 +40,10 @@ * Потребують маркетингових зусиль та публікування у головних новинах -## Головні (мажор) релізи `X.0.0` +## Основні (мажорні) релізи `X.0.0` -Це наче 2.0 після 1.0. Такий перехід, вірогідніше, буде не частіше ніж кожні 3-5 років, у зв'язку з просуванням сторонніх технологій +Це наче 2.0 після 1.0. Такий перехід, вірогідніше, буде не частіше ніж кожні 3-5 років, у звʼязку з просуванням сторонніх технологій (наприклад, оновлення PHP з 5.0 до 5.4). -> Примітка: Офіційні розширення використовують таку ж саму політику призначення версій але можуть публікуватись незалежно від -фреймворку, тобто номера версій фреймворку та розширення не повинні обов'язково збігатсь. +> Примітка: Офіційні розширення використовують таку ж саму політику призначення версій, але можуть публікуватись незалежно від +фреймворку, тобто номера версій фреймворку та розширення не повинні обовʼязково збігатися. diff --git a/docs/internals-uk/view-code-style.md b/docs/internals-uk/view-code-style.md new file mode 100644 index 00000000000..3962a08ab5a --- /dev/null +++ b/docs/internals-uk/view-code-style.md @@ -0,0 +1,52 @@ +Оформлення коду представлень у Yii2 +=================================== + +Нижченаведений стиль кодування використовується у представленнях основи Yii 2.x та у представленнях офіційних розширень. +Ми не наполягаємо на використанні цього стилю для вашого додатка. Вільно обирайте те, що підходить вам більше. + +```php +title = 'Posts'; +?> + + + +

+

+ + + + + ['id' => 'contact-message-form'], + 'fieldConfig' => ['inputOptions' => ['class' => 'common-input']], +]); ?> + + field($contactMessage, 'name')->textInput() ?> + field($contactMessage, 'email')->textInput() ?> + field($contactMessage, 'subject')->textInput() ?> + field($contactMessage, 'body')->textArea(['rows' => 6]) ?> + +
+ 'common-button']) ?> +
+ + + + +``` diff --git a/docs/internals/translation-teams.md b/docs/internals/translation-teams.md index 45ef23f8450..f1ff81ea86d 100644 --- a/docs/internals/translation-teams.md +++ b/docs/internals/translation-teams.md @@ -62,3 +62,4 @@ Ukrainian - **Alexandr Bordun [@borales](https://github.com/Borales), admin@yiiframework.com.ua** - Roman Bahatyi [@RichWeber](https://github.com/RichWeber), rbagatyi@gmail.com - Igor Zozulinskyi [@3y3ik](https://github.com/3y3ik) +- Vadym Chenin [@vchenin](https://github.com/vchenin), vchenin@meta.ua From d9df4b5b79441bc397dab84c8a41bd352b9dafe5 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Wed, 13 May 2015 22:03:49 -0300 Subject: [PATCH 37/48] docs/guide/runtime-requests.md - fixed comment [ci skip] --- docs/guide/runtime-requests.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/guide/runtime-requests.md b/docs/guide/runtime-requests.md index ef98c1f4fa9..6a877c21b47 100644 --- a/docs/guide/runtime-requests.md +++ b/docs/guide/runtime-requests.md @@ -66,10 +66,10 @@ For example, ```php $request = Yii::$app->request; -if ($request->isAjax) { // the request is an AJAX request } -if ($request->isGet) { // the request method is GET } -if ($request->isPost) { // the request method is POST } -if ($request->isPut) { // the request method is PUT } +if ($request->isAjax) { /* the request is an AJAX request */ } +if ($request->isGet) { /* the request method is GET */ } +if ($request->isPost) { /* the request method is POST */ } +if ($request->isPut) { /* the request method is PUT */ } ``` ## Request URLs @@ -105,7 +105,7 @@ $headers = Yii::$app->request->headers; // returns the Accept header value $accept = $headers->get('Accept'); -if ($headers->has('User-Agent')) { // there is User-Agent header } +if ($headers->has('User-Agent')) { /* there is User-Agent header */ } ``` The `request` component also provides support for quickly accessing some commonly used headers, including: From 912ccf494ca2a092fab80bc0c0cc857b408ac4d3 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Wed, 13 May 2015 23:00:23 -0300 Subject: [PATCH 38/48] docs/internals-pt-BR/translation-workflow.md - update [ci skip] --- docs/internals-pt-BR/translation-workflow.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/internals-pt-BR/translation-workflow.md b/docs/internals-pt-BR/translation-workflow.md index 4a3f6d4462e..7cd957bdd89 100644 --- a/docs/internals-pt-BR/translation-workflow.md +++ b/docs/internals-pt-BR/translation-workflow.md @@ -113,4 +113,5 @@ Regras e Observações - template - query string - case-sensitive -- case-insensitive \ No newline at end of file +- case-insensitive +- callback \ No newline at end of file From 75e36c9e06fd21026c4e1f7d50524f676225180d Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Wed, 13 May 2015 23:20:52 -0300 Subject: [PATCH 39/48] docs/internals-pt-BR/runtime-requests.md - translate [ci skip] --- docs/guide-pt-BR/runtime-requests.md | 162 +++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 docs/guide-pt-BR/runtime-requests.md diff --git a/docs/guide-pt-BR/runtime-requests.md b/docs/guide-pt-BR/runtime-requests.md new file mode 100644 index 00000000000..a40349c3d4b --- /dev/null +++ b/docs/guide-pt-BR/runtime-requests.md @@ -0,0 +1,162 @@ +Requisições +=========== + +As requisições realizadas na aplicação são representadas pelo objeto [[yii\web\Request]] +que fornece informações como os parâmetros da requisição, cabeçalhos HTTP, cookies +e etc. Em uma determinada requisição, você pode acessar o objeto da requisição +correspondente através do [componente da aplicação](structure-application-components.md) +`request`, que é uma instância de [[yii\web\Request]], por padrão. Nesta seção, +descreveremos como você pode usar este componente em sua aplicação. + + +## Parâmetros da Requisição + +Para obter os parâmetros da requisição, você pode chamar os métodos +[[yii\web\Request::get()|get()]] e [[yii\web\Request::post()|post()]] do +componente `request`. Estes métodos retornam os valores de `$_GET` e `$_POST`, +respectivamente. Por exemplo, + +```php +$request = Yii::$app->request; + +$get = $request->get(); +// equivalente à: $get = $_GET; + +$id = $request->get('id'); +// equivalente à: $id = isset($_GET['id']) ? $_GET['id'] : null; + +$id = $request->get('id', 1); +// equivalente à: $id = isset($_GET['id']) ? $_GET['id'] : 1; + +$post = $request->post(); +// equivalente à: $post = $_POST; + +$name = $request->post('name'); +// equivalente à: $name = isset($_POST['name']) ? $_POST['name'] : null; + +$name = $request->post('name', ''); +// equivalente à: $name = isset($_POST['name']) ? $_POST['name'] : ''; +``` + +> Informação: Ao invés de acessar diretamente o `$_GET` e o `$_POST` para recuperar + os parâmetros da requisição, é recomendável que os utilizem através do componente + `request`, como mostrado nos exemplos acima. Isto permite que você escreva testes + de forma mais simples, utilizando um componente da requisição que retornem valores + pré-determinados. + +Ao implementar o [RESTful APIs](rest-quick-start.md), muitas vezes você precisará +recuperar os parâmetros que foram enviados pelos [métodos de requisição](#request-methods) +PUT, PATCH ou outro. Você pode recuperá-los chamando o método [[yii\web\Request::getBodyParam()]]. +Por exemplo, + +```php +$request = Yii::$app->request; + +// retorna todos os parâmetros +$params = $request->bodyParams; + +// retorna o parâmetro "id" +$param = $request->getBodyParam('id'); +``` + +> Informação: Tirando os parâmetros `GET`, os parâmetros `POST`, `PUT`, `PATCH` + e etc são enviados no corpo da requisição. O componente `request` analisará + estes parâmetros quando você acessá-los através dos métodos descritos acima. + Você pode personalizar a forma como estes parâmetros são analisados pela + configuração da propriedade [[yii\web\Request::parsers]]. + + +## Métodos da Requisição + +Você pode obter o método HTTP usado pela requisição atual através da expressão +`Yii::$app->request->method`. Um conjunto de propriedades booleanas também são +fornecidos para que você consiga verificar se o método atual é o correto. +Por exemplo, + +```php +$request = Yii::$app->request; + +if ($request->isAjax) { /* a requisição é uma requisição Ajax */ } +if ($request->isGet) { /* o método da requisição é GET */ } +if ($request->isPost) { /* o método da requisição é POST */ } +if ($request->isPut) { /* o método da requisição é PUT */ } +``` + +## URLs da Requisição + +O componente `request` fornece muitas formas de inspecionar a atual URL da requisição. +Assumindo que a URL da requisição seja `http://example.com/admin/index.php/product?id=100`, +você pode obter várias partes desta URL através das propriedades explicadas a seguir: + +* [[yii\web\Request::url|url]]: retorna `/admin/index.php/product?id=100`, que é + a URL sem as informações de protocolo e de domínio. +* [[yii\web\Request::absoluteUrl|absoluteUrl]]: retorna `http://example.com/admin/index.php/product?id=100`, + que é a URL completa, incluindo as informações de protocolo e de domínio. +* [[yii\web\Request::hostInfo|hostInfo]]: retorna `http://example.com`, que são + as informações de protocolo e de domínio da URL. +* [[yii\web\Request::pathInfo|pathInfo]]: retorna `/product`, que é a informação + depois do script de entrada e antes da interrogação (da query string). +* [[yii\web\Request::queryString|queryString]]: retorna `id=100`, que é a + informação depois da interrogação. +* [[yii\web\Request::baseUrl|baseUrl]]: retorna `/admin`, que é a informação + depois do domínio e antes do script de entrada. +* [[yii\web\Request::scriptUrl|scriptUrl]]: retorna `/admin/index.php`, que é a + informação depois do domínio até o script de entrada, inclusive. +* [[yii\web\Request::serverName|serverName]]: retorna `example.com`, que é o + domínio da URL. +* [[yii\web\Request::serverPort|serverPort]]: retorna 80, que é a porta usada + pelo servidor Web. + + +## Cabeçalho HTTP + +Você pode obter as informações do cabeçalho HTTP através da +[[yii\web\HeaderCollection|coleção de cabeçalho]] retornado pela propriedade +[[yii\web\Request::headers]]. Por exemplo, + +```php +// $headers é um objeto de yii\web\HeaderCollection +$headers = Yii::$app->request->headers; + +// retorna o valor do cabeçalho Accept +$accept = $headers->get('Accept'); + +if ($headers->has('User-Agent')) { /* existe o cabeçalho User-Agent */ } +``` + +O componente `request` também fornece suporte para fácil acesso de alguns +cabeçalhos mais utilizados, incluindo: + +* [[yii\web\Request::userAgent|userAgent]]: retorna o valor do cabeçalho `User-Agent`. +* [[yii\web\Request::contentType|contentType]]: retorna o valor do cabeçalho + `Content-Type` que indica o tipo MIME dos dados do corpo da requisição. +* [[yii\web\Request::acceptableContentTypes|acceptableContentTypes]]: retorna os + tipos MIME acessíveis pelos usuários. Os tipos retornados são ordenados pela + sua pontuação de qualidade. Tipos com mais pontuação aparecerão nas primeiras posições. +* [[yii\web\Request::acceptableLanguages|acceptableLanguages]]: retorna os idiomas + acessíveis pelos usuários. Os idiomas retornados são ordenados pelo nível de + preferência. O primeiro elemento representa o idioma de maior preferência. + +Se a sua aplicação suportar diversos idiomas e quiser exibir páginas no idioma +de maior preferência do usuário, você pode usar o método de negociação +[[yii\web\Request::getPreferredLanguage()]]. Este método pega uma lista de +idiomas suportadas pela sua aplicação e compara com +[[yii\web\Request::acceptableLanguages|acceptableLanguages]], para retornar o +idioma mais adequado. + +> Dica: Você também pode utilizar o filtro [[yii\filters\ContentNegotiator|ContentNegotiator]] + para determinar dinamicamente qual tipo de conteúdo e idioma que deve ser utilizado + na resposta. O filtro implementa negociação de conteúdo em cima das propriedades + e métodos descritos acima. + + +## Informações do Cliente + +Você pode obter o nome do domínio ou endereço IP da máquina do cliente através +das propriedades [[yii\web\Request::userHost|userHost]] e +[[yii\web\Request::userIP|userIP]], respectivamente. Por exemplo, + +```php +$userHost = Yii::$app->request->userHost; +$userIP = Yii::$app->request->userIP; +``` From 3a39f8ab724a5f494969820621eae96b53080eaf Mon Sep 17 00:00:00 2001 From: Klimov Paul Date: Thu, 14 May 2015 16:22:26 +0300 Subject: [PATCH 40/48] `yii\helpers\Html` allows correct rendering of conditional comments containing `!IE` --- framework/CHANGELOG.md | 1 + framework/helpers/BaseHtml.php | 18 ++++++++++++++++-- tests/framework/helpers/HtmlTest.php | 2 ++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 3dde0248125..fd3f3a23a84 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -8,6 +8,7 @@ Yii Framework 2 Change Log - Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) - Enh #8070: `yii\console\controllers\MessageController` now sorts created messages, even if there is no new one, while saving to PHP file (klimov-paul) - Enh #8286: `yii\console\controllers\MessageController` improved allowing extraction of nested translator calls (klimov-paul) +- Enh #8415: `yii\helpers\Html` allows correct rendering of conditional comments containing `!IE` (salaros, klimov-paul) 2.0.4 May 10, 2015 diff --git a/framework/helpers/BaseHtml.php b/framework/helpers/BaseHtml.php index 51ec7e5bfcb..cd84665e05d 100644 --- a/framework/helpers/BaseHtml.php +++ b/framework/helpers/BaseHtml.php @@ -224,7 +224,7 @@ public static function cssFile($url, $options = []) if (isset($options['condition'])) { $condition = $options['condition']; unset($options['condition']); - return ""; + return self::wrapIntoCondition(static::tag('link', '', $options), $condition); } elseif (isset($options['noscript']) && $options['noscript'] === true) { unset($options['noscript']); return ""; @@ -254,12 +254,26 @@ public static function jsFile($url, $options = []) if (isset($options['condition'])) { $condition = $options['condition']; unset($options['condition']); - return ""; + return self::wrapIntoCondition(static::tag('script', '', $options), $condition); } else { return static::tag('script', '', $options); } } + /** + * Wraps given content into conditional comments for IE, e.g., `lt IE 9`. + * @param string $content raw HTML content. + * @param string $condition condition string. + * @return string generated HTML. + */ + private static function wrapIntoCondition($content, $condition) + { + if (strpos($condition, '!IE') !== false) { + return "\n" . $content . "\n"; + } + return ""; + } + /** * Generates the meta tags containing CSRF token information. * @return string the generated meta tags diff --git a/tests/framework/helpers/HtmlTest.php b/tests/framework/helpers/HtmlTest.php index f8ee237b8eb..4d5c98888c9 100644 --- a/tests/framework/helpers/HtmlTest.php +++ b/tests/framework/helpers/HtmlTest.php @@ -79,6 +79,7 @@ public function testCssFile() $this->assertEquals('', Html::cssFile('http://example.com')); $this->assertEquals('', Html::cssFile('')); $this->assertEquals("", Html::cssFile('http://example.com', ['condition' => 'IE 9'])); + $this->assertEquals("\n" . '' . "\n", Html::cssFile('http://example.com', ['condition' => '(gte IE 9)|(!IE)'])); } public function testJsFile() @@ -86,6 +87,7 @@ public function testJsFile() $this->assertEquals('', Html::jsFile('http://example.com')); $this->assertEquals('', Html::jsFile('')); $this->assertEquals("", Html::jsFile('http://example.com', ['condition' => 'IE 9'])); + $this->assertEquals("\n" . '' . "\n", Html::jsFile('http://example.com', ['condition' => '(gte IE 9)|(!IE)'])); } public function testBeginForm() From 219bf07dbb392009f0031bf45fc413dcf1122035 Mon Sep 17 00:00:00 2001 From: Klimov Paul Date: Thu, 14 May 2015 16:41:36 +0300 Subject: [PATCH 41/48] 'ctype' PHP extension added to the requirements --- framework/requirements/requirements.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/framework/requirements/requirements.php b/framework/requirements/requirements.php index 3225c5195d1..7b07feee4ba 100644 --- a/framework/requirements/requirements.php +++ b/framework/requirements/requirements.php @@ -31,6 +31,12 @@ 'condition' => extension_loaded('SPL'), 'by' => '
Yii Framework', ), + array( + 'name' => 'Ctype extension', + 'mandatory' => true, + 'condition' => extension_loaded('ctype'), + 'by' => 'Yii Framework' + ), array( 'name' => 'MBString extension', 'mandatory' => true, From 11ddb6da7d8413a5f4d542eecfcad8a02a4be267 Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Thu, 14 May 2015 22:07:47 -0400 Subject: [PATCH 42/48] updated the finder. [skip ci] --- framework/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index fd3f3a23a84..f677a8ef232 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -51,7 +51,7 @@ Yii Framework 2 Change Log - Bug #8273: Fixed `yii\widgets\FragmentCache` when `enabled` is false (nkovacs) - Bug #8291: Fixed numeric keys in $_GET transformed to 0-based, if 'pretty URL' enabled (quantum13, klimov-paul) - Bug #5053: DateValidator is now more robust against different timezone settings (cebe) -- Bug (CVE-2015-3397): Added `Json::htmlEncode()` to support safer JSON data encoding in HTML code (samdark, Tomasz Tokarski) +- Bug (CVE-2015-3397): Added `Json::htmlEncode()` to support safer JSON data encoding in HTML code (samdark, Wojciech Janusz, Tomasz Tokarski) - Enh #1468: Added ability to specify hints for model attributes via `attributeHints()` method (klimov-paul) - Enh #3376: Added `yii\validators\EachValidator`, which allows validation of the array attributes (klimov-paul) - Enh #5053: Added possibility to specify a format and time zone for the `timestampAttribute` of date validator making it fully usable for validating complete timestamps (cebe) From 9321776cedf82f2bc6120a43854d3ec01cb35f66 Mon Sep 17 00:00:00 2001 From: miramir Date: Fri, 15 May 2015 10:21:14 +0500 Subject: [PATCH 43/48] Ru translation code style docs [ci skip] --- .../guide-ru/images/tutorial-console-help.png | Bin 0 -> 153422 bytes docs/guide-ru/tutorial-console.md | 212 ++++++++++++++++++ 2 files changed, 212 insertions(+) create mode 100644 docs/guide-ru/images/tutorial-console-help.png create mode 100644 docs/guide-ru/tutorial-console.md diff --git a/docs/guide-ru/images/tutorial-console-help.png b/docs/guide-ru/images/tutorial-console-help.png new file mode 100644 index 0000000000000000000000000000000000000000..34812a6d90e4d6d0ce04b37f435f0236a976e31c GIT binary patch literal 153422 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 S=$!+!y4i^~=#0n-x?c2k&}+Zv36> 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 resp=3ZbCW5tu6gWOQ8my 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 literal 0 HcmV?d00001 diff --git a/docs/guide-ru/tutorial-console.md b/docs/guide-ru/tutorial-console.md new file mode 100644 index 00000000000..75a1d01e613 --- /dev/null +++ b/docs/guide-ru/tutorial-console.md @@ -0,0 +1,212 @@ +Консольное приложение +===================== + +Кроме богатых возможностей для построеня веб приложений, Yii также имеет полноценную поддержку консольных приложений, +которые обычно используются для создания фоновых и служебных задач, поддерживающих сайт. + +Структура консольных приложений очень похожа на структуру веб приложения. Она состоит из одного и более классов +[[yii\console\Controller]], которые часто называют командами в консольной среде. Каждый контроллер может иметь одно +или более действий, как и веб контроллеры. + +В обоих шаблонах проектов уже есть консольное приложение. +Вы можете запустить его, вызвав скрипт yii, который находится в основной директории вашего приложения. +Вы получите список доступных команд, если вызовете его без параметров: + +![Запуск команды ./yii для вывода помощи](images/tutorial-console-help.png) + +Как вы можете видеть на скриншоте, в Yii уже определён набор доступных по умолчанию команд: + +- [[yii\console\controllers\AssetController|AssetController]] - Позволяет вам объединять и сжимать ваши JavaScript и CSS файлы. + Больше об этой команде вы можете узнать в [Assets Section](structure-assets.md#using-the-asset-command). +- [[yii\console\controllers\CacheController|CacheController]] - Позволяет вам сбрасывать кеш приложения. +- [[yii\console\controllers\FixtureController|FixtureController]] - Управляет загрузкой и выгрузкой данных фикстур для тестирования. + Данная команда более подробно описана в [Testing Section about Fixtures](test-fixtures.md#managing-fixtures). +- [[yii\console\controllers\HelpController|HelpController]] - Обеспечивает справочную информацию о консольных командах, + это команда по умолчанию и она печатает текст, который вы видели выше. +- [[yii\console\controllers\MessageController|MessageController]] - Извлекает сообщения для перевода из файлов с исходными тестами. + Больше об этой команде вы можете узнать в [I18N Section](tutorial-i18n.md#message-command). +- [[yii\console\controllers\MigrateController|MigrateController]] - Управление миграциями приложения. + Миграции базы данных более детально описаны в [Database Migration Section](db-migrations.md). + + +Использование +------------- + +Вы можете запустить действие консольного контроллера, используя следующий синтаксис: + +``` +yii [--option1=value1 --option2=value2 ... argument1 argument2 ...] +``` + +В приведённом выше примере, `` относится к действию контроллера. Параметры будут подставляться в свойства +класса и в аргументы метода действия. + +Для примера, [[yii\console\controllers\MigrateController::actionUp()|MigrateController::actionUp()]] +с [[yii\console\controllers\MigrateController::$migrationTable|MigrateController::$migrationTable]] установкой `migrations` +и лимитом в 5 миграций может быть вызвано следующим образом: + +``` +yii migrate/up 5 --migrationTable=migrations +``` + +> **Примечание**: При использовании в консоли `*`, не забудте поместить её в кавычки `"*"` чтобы избежать её интерпретации +> и замены на все имена файлов в данной директории. + + +Входной скрипт +-------------- + +Входной скрипт консольного приложения - это подобие файла `index.php`, используемого в веб приложении. +Входной скрипт консоли, как правило, называется `yii` и располагается в основной директории приложения. +Он содержит код похожий на следующее: + +```php +#!/usr/bin/env php +run(); +exit($exitCode); +``` + +Этот скрипт будет создан как часть вашего приложения; вы можете его редактировать, если вам это необходимо. +`YII_DEBUG` можете установить в `false` если вам не нужно видеть отладочный вывод при ошибке, и/или если вы хотите +улучшить общую производительность. В обоих шаблонах приложения, во входном скрипте приложения отладка включена по +умолчанию для обеспечения более дружественного к разработчику окружения. + + +Настройка +--------- + +Как видно из приведённого выше кода, консольное приложение использует свой собственный файл конфигурации, названый `console.php`. +В этом файле вы должны произвести настройку различных [компонентов приложения](structure-application-components.md) и +свойств консольного приложения. + +Если ваше веб и консольное приложение имеет много общих параметров конфигурации, вы можете выделить общую часть в +отдельный файл, и включить его в оба файла конфигурации (веб и консоль). +Вы можете посмотреть пример в "продвинутом" шаблоне проекта. + +> Подсказка: Иногда, вам может потребоваться запустить консольную команду используя конфигурацию, отличную от той, что +> указано во входном скрипте. Для примера, вы можете использовать команду `yii migrate` для обновления тестовой +> базы данных, которая настраивается для каждого отдельного набора тестов. Для изменения файла конфигурации, +> просто укажите свой конфигурационный файл через опцию `appconfig` при запуске команды: +> +> ``` +> yii --appconfig=path/to/config.php ... +> ``` + + +Создание ваших собственных комманд +---------------------------------- + +### Консолный контроллер и действие + +Консольная команда определяется как класс контроллера расширяющий [[yii\console\Controller]]. В классе контроллера, +вы определяете одно или несколько действий, которые соответствуют суб-командам контроллера. В каждом действии +вы пишете код, который реализует соответствующие данной суб-команде задачи. + +При запуске команды, вам необходимо указать маршрут к действию. Например, маршрут `migrate/create` вызывает суб-команду, +которая соответствует методу [[yii\console\controllers\MigrateController::actionCreate()|MigrateController::actionCreate()]]. +Если маршрут, предложенный при вызове команды, не содержит указания идентификатора действия, будет вызвано действие +по умолчанию (так же как и в веб приложении). + +### Опции + +Для переопределения [[yii\console\Controller::options()]] метода, вы можете указать опции, которые доступны в консольной +команде (controller/actionID). Метод должен возвращать список публичных атрибутов класса. При запуске команды вы +можете указать значение опций, используя синтаксис `--OptionName=OptionValue`. Это свяжет `OptionValue` с аттрибутом +`OptionName` класса контроллера. + +Если значение по умолчанию опции - это массив, то при установке этой опции, при выполнении команды, значение бедет +преобразовано в массив путём разделения входящей строки по запятым. + +### Аргументы + +Кроме опций, команда может получать аргументы. Аргументы будут переданы в качестве параметров в метод действия, +соответствующего запрошеной суб-команде. Первый аргумент соответствует первому параметру, второй соответственно второму, +и так далее. Если переданных аргументов при вызове команды будет недостаточно, то параметрам будут назначены по +умолчанию, если они определены. Если значения по умолчанию не определены, и не былы переданы, команда завершит +выполнение с ошибкой. + +Вы можете использовать указание типа `array`, чтобы указать что аргумент должен рассматриваться как массив. Массив +будет сгенерирован путём разделение входной строки по запятым. + +Следующий пример показывает как описывать аргументы: + +```php +class ExampleController extends \yii\console\Controller +{ + // Команда "yii example/create test" вызовет "actionCreate('test')" + public function actionCreate($name) { ... } + + // Команда "yii example/index city" вызовет "actionIndex('city', 'name')" + // Команда "yii example/index city id" вызовет "actionIndex('city', 'id')" + public function actionIndex($category, $order = 'name') { ... } + + // Команда "yii example/add test" вызовет "actionAdd(['test'])" + // Команда "yii example/add test1,test2" вызовет "actionAdd(['test1', 'test2'])" + public function actionAdd(array $name) { ... } +} +``` + + +### Код возврата + +При разработке консольного приложения принято использовать код возврата. Принято, код `0` означает, что команда выполнилась +удачно. Если команда вернула код больше нуля, то это говорит об ошибке. Номер, который был возвращён при ошибке, +потенциально может быть использован для поиска более детальной информации о ошибке. +Для примера `1` может указывать на неизвестную ошибку, а все коды выше могут быть зарезервированы под специфичные +ошибки: ошибки ввода, повреждённые файлы, и что-то другое. + +Для того, чтобы ваша консольная команда возвращала код возврата, прочто верните целое число в методе действия контроллера: + +```php +public function actionIndex() +{ + if (/* some problem */) { + echo "A problem occured!\n"; + return 1; + } + // do something + return 0; +} +``` + +Есть несколько предопределённых констант, которые вы можете использовать: + +- `Controller::EXIT_CODE_NORMAL` со значением `0`; +- `Controller::EXIT_CODE_ERROR` со значением `1`. + +Хорошая практика, определять значимые для вашего контроллера константы в случае, если вы используете больше типов ошибок. + +### Форматирование и цвета + +Консоль Yii поддерживает форматирование вывода, который автоматически деградирует до неформатированного, если это поддерживается +в терминале где запускается команда. + +Вывод форматированных строк прост. Вот как можно вывести некоторый жирный текст: + +```php +$this->stdout("Hello?\n", Console::BOLD); +``` + +Если вам нужно собрать строку динамически объединяя несколько стилей, лучше использовать `ansiFormat`: + +```php +$name = $this->ansiFormat('Alex', Console::FG_YELLOW); +echo "Hello, my name is $name."; +``` From b92a84cccd4f585f4d644eef5562ec6eba4bf81c Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Fri, 15 May 2015 11:40:58 -0300 Subject: [PATCH 44/48] docs/guide-pt-BR/concept-components.md - translate [ci skip] --- docs/guide-pt-BR/concept-events.md | 246 +++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 docs/guide-pt-BR/concept-events.md diff --git a/docs/guide-pt-BR/concept-events.md b/docs/guide-pt-BR/concept-events.md new file mode 100644 index 00000000000..3a5c65bf7bc --- /dev/null +++ b/docs/guide-pt-BR/concept-events.md @@ -0,0 +1,246 @@ +Eventos +======= +Eventos permitem que você injete código personalizado dentro de outo código existente em determinados pontos de execução. Você pode anexar o código personalizado a um evento de modo que quando o evento é acionado, o código é executado automaticamente. Por exemplo, um objeto de e-mail pode disparar um evento `messageSent` quando o envio da mensagem for bem sucedida. Se você quiser acompanhar as mensagens que são enviadas com sucesso, você poderia então simplesmente anexar o código de acompanhamento ao evento `messageSent`. +Yii disponibiliza uma classe base chamada [[yii\base\Component]] para dar suporte a eventos. +Se sua classe precisar disparar eventos, ela deverá estender de [[yii\base\Component]], ou de uma classe-filha. + +Manipuladores de Evento +-------------- + +Um manipulador de evento é uma função [Callback do PHP] (http://www.php.net/manual/en/language.types.callable.php) que é executada quando o evento é disparado. Você pode usar qualquer um dos seguintes callbacks: +- uma função global do PHP especificada como uma string (sem parênteses), por exemplo, `'trim'`; +- Um método do objeto especificado como um array, informando o objeto e um nome do método como uma string (sem parênteses), por exemplo `[$object, 'methodName']`; +- Um método estático da classe especificado como um array informando o nome da classe e nome do método como string (sem parênteses), por exemplo, `['ClassName', 'methodName']`; +- Uma função anônima, por exemplo, `function ($event) { ... }`. + +A assinatura de um manipulador de eventos é: + +```php +function ($event) { + // $event is an object of yii\base\Event or a child class +} +``` + +Através do parâmetro `$event`, um manipulador de evento pode receber as seguintes informações sobre o evento que ocorreu: + +- [[yii\base\Event::name|event name]] +- [[yii\base\Event::sender|event sender]]: o objeto cujo método `trigger()` foi chamado +- [[yii\base\Event::data|custom data]]: os dados que são fornecidos ao anexar o manipulador de eventos (a ser explicado a seguir) + + +Anexando manipuladores de eventos +------------------------ + +Você pode anexar um manipulador para um evento, chamando o método [[yii\base\Component::on()]]. Por exemplo: + +```php +$foo = new Foo; + +// esse manipulador é uma função global +$foo->on(Foo::EVENT_HELLO, 'function_name'); + +// esse manipulador é um método de objeto +$foo->on(Foo::EVENT_HELLO, [$object, 'methodName']); + +// esse manipulador é um método estático da classe +$foo->on(Foo::EVENT_HELLO, ['app\components\Bar', 'methodName']); + +// esse manipulador é uma função anônima +$foo->on(Foo::EVENT_HELLO, function ($event) { + // Código ... +}); +``` + +Você também pode anexar manipuladores de eventos por meio de [configurações](concept-configurations.md). Para mais detalhes, consulte a seção [Configurações](concept-configurations.md#configuration-format). + +Ao anexar um manipulador de eventos, você pode fornecer dados adicionais no terceiro parâmetro do método [[yii\base\Component::on()]]. +Os dados serão disponibilizados para o manipulador quando o evento for disparado e o manipulador chamado. Por exemplo: + +```php +// O código a seguir mostrará "abc" quando o evento for disparado +// porque $event->data contêm os dados passados no terceiro parâmetro do "on" +$foo->on(Foo::EVENT_HELLO, 'function_name', 'abc'); + +function function_name($event) { + echo $event->data; +} +``` + +Ordem dos Manipuladores de Eventos +------------------- + +Você pode anexar um ou mais manipuladores para um único evento. Quando o evento é disparado, os manipuladores anexados serão chamados na ordem em que eles foram anexados ao evento. Se o manipulador precisar interromper os eventos subsequentes, pode definir a propriedade [[yii\base\Event::handled]] do parâmetro `$event` para *true*: + +```php +$foo->on(Foo::EVENT_HELLO, function ($event) { + $event->handled = true; +}); +``` + +Por padrão, um novo manipulador é anexado a fila de manipuladores existente para o evento. + +Como resultado, o manipulador será chamado por último quando o evento for disparado. + +Para inserir um novo manipulador de evento no início da fila de modo a ser chamado primeiro, você pode chamar o método [[yii\base\Component::on()]], passando *false* para o quarto parâmetro `$append`: + +```php +$foo->on(Foo::EVENT_HELLO, function ($event) { + // ... +}, $data, false); +``` + +Disparando Eventos +----------------- + +Os eventos são disparados chamando o método [[yii\base\Component::trigger()]]. Este método requer um *nome de evento*, e, opcionalmente, um objeto de evento que descreve os parâmetros a serem passados para os manipuladores de eventos. Por exemplo: + +```php +namespace app\components; + +use yii\base\Component; +use yii\base\Event; + +class Foo extends Component +{ + const EVENT_HELLO = 'hello'; + + public function bar() + { + $this->trigger(self::EVENT_HELLO); + } +} +``` + +Com o código acima, todas as chamadas para `bar ()` irão disparar um evento chamado `hello`. + +> Dica: Recomenda-se usar constantes de classe para representar nomes de eventos. No exemplo acima, a constante `EVENT_HELLO` representa o evento `hello`. Esta abordagem tem três benefícios. Primeiro, previne erros de digitação. Segundo, pode fazer o evento se tornar reconhecível para recursos de *auto-complete* de IDEs. Terceiro, você pode especificar quais eventos são suportados em uma classe, basta verificar suas declarações de constantes. + +Às vezes, quando um evento é disparado você pode querer passar junto informações adicionais para os manipuladores de eventos. Por exemplo, um objeto de e-mail pode querer passar uma informação para o manipulador do evento `messageSent` de modo que os manipuladores podem conhecer os detalhes das mensagens enviadas. Para fazer isso, você pode fornecer um objeto de evento como o segundo parâmetro para o método [[yii\base\Component::trigger()]]. Este objeto precisa ser uma instância da classe [[yii\base\Event]] ou de uma classe filha. Por exemplo: + +```php +namespace app\components; + +use yii\base\Component; +use yii\base\Event; + +class MessageEvent extends Event +{ + public $message; +} + +class Mailer extends Component +{ + const EVENT_MESSAGE_SENT = 'messageSent'; + + public function send($message) + { + // ...sending $message... + + $event = new MessageEvent; + $event->message = $message; + $this->trigger(self::EVENT_MESSAGE_SENT, $event); + } +} +``` + +Quando o método [[yii\base\Component::trigger()]] é chamado, ele chamará todos os manipuladores ligados ao evento passado. + +Desvinculando manipuladores de eventos +------------------------ + +Para retirar um manipulador de um evento, chame o método [[yii\base\Component::off()]]. Por Exemplo: + +```php +// o manipulador é uma função global +$foo->off(Foo::EVENT_HELLO, 'function_name'); + +// o manipulador é um método de objeto +$foo->off(Foo::EVENT_HELLO, [$object, 'methodName']); + +// o manipulador é um método de estático da Classe +$foo->off(Foo::EVENT_HELLO, ['app\components\Bar', 'methodName']); + +// o manipulador é uma função anônima +$foo->off(Foo::EVENT_HELLO, $anonymousFunction); +``` + +Note que, em geral, você não deve tentar desvincular uma função anônima, a menos que você guarde em algum lugar quando ela for ligada ao evento. No exemplo acima, é assumido que a função anónima é armazenada em uma variável `$anonymousFunction`. + +Para desvincular todos os manipuladores de um evento, simplesmente chame [[yii\base\Component::off()]] sem o segundo parâmetro: + +```php +$foo->off(Foo::EVENT_HELLO); +``` + + +Manipuladores de Eventos de Classe +-------------------------- + +As subseções acima descreveram como anexar um manipulador para um evento a *nível de instância* (objeto). +Às vezes, você pode querer responder a um evento acionado por *todas* as instâncias da classe em vez de apenas uma instânica específica. Em vez de anexar um manipulador de evento em todas as instâncias, você pode anexar o manipulador a *nível da classe* chamando o método estático [[yii\base\Event::on()]]. + +Por Exemplo, um objeto [Active Record](db-active-record.md) irá disparar um evento [[yii\db\BaseActiveRecord::EVENT_AFTER_INSERT|EVENT_AFTER_INSERT]] sempre que inserir um novo registro no database. A fim de acompanhar inserções feitas por *cada* objeto +[Active Record](db-active-record.md), você pode usar o seguinte código: + +```php +use Yii; +use yii\base\Event; +use yii\db\ActiveRecord; + +Event::on(ActiveRecord::className(), ActiveRecord::EVENT_AFTER_INSERT, function ($event) { + Yii::trace(get_class($event->sender) . ' is inserted'); +}); +``` + +O manipulador de evento será invocado sempre que uma instância de [[yii\db\ActiveRecord|ActiveRecord]], ou uma de suas classes filhas, disparar o evento [[yii\db\BaseActiveRecord::EVENT_AFTER_INSERT|EVENT_AFTER_INSERT]]. No manipulador, você pode obter o objeto que disparou o evento através de `$event->sender`. + +Quando um objecto dispara um evento, ele irá primeiro chamar manipuladores de nível de instância, seguido pelos manipuladores de nível de classe. + +Você pode disparar um evento de *nível de classe* chamando o método estático [[yii\base\Event::trigger()]]. Um evento de nível de classe não está associado com um objeto particular. Como resultado, ele fará a chamada dos manipuladores de eventos apenas a nível da classe. Por exemplo: + +```php +use yii\base\Event; + +Event::on(Foo::className(), Foo::EVENT_HELLO, function ($event) { + echo $event->sender; // displays "app\models\Foo" +}); + +Event::trigger(Foo::className(), Foo::EVENT_HELLO); +``` + +Note que, neste caso, `$event->sender` refere-se ao nome da classe acionando o evento em vez de uma instância do objeto. + +> Nota: Porque um manipulador de nível de classe vai responder a um evento acionado por qualquer instância dessa classe, ou qualquer classe filha, você deve usá-lo com cuidado, especialmente se a classe é uma classe base de baixo nível, tal como [[yii\base\Object]]. + +Para desvincular um manipulador de evento de nível de classe, chame [[yii\base\Event::off()]]. Por Exemplo: + +```php +// desvincula $handler +Event::off(Foo::className(), Foo::EVENT_HELLO, $handler); + +// Desvincula todos os manipuladores de Foo::EVENT_HELLO +Event::off(Foo::className(), Foo::EVENT_HELLO); +``` + + +Eventos Globais +------------- + +Yii suporta o assim chamado *evento global*, que na verdade é um truque com base no mecanismo de eventos acima descrito. +O evento global requer um *singleton* acessível globalmente, tal como a própria instância [application](structure-applications.md). + +Para criar o evento global, um evento *remetente* chama o método singleton `trigger()` para disparar o evento, em vez de chamar o método `trigger()` do * remetente *. Da mesma forma, os manipuladores de eventos são anexados ao evento no *singleton*. Por exemplo: + +```php +use Yii; +use yii\base\Event; +use app\components\Foo; + +Yii::$app->on('bar', function ($event) { + echo get_class($event->sender); // Mostra na tela "app\components\Foo" +}); + +Yii::$app->trigger('bar', new Event(['sender' => new Foo])); +``` +A vantagem de usar eventos globais é que você não precisa de um objeto ao anexar um manipulador para o evento que será acionado pelo objeto. Em vez disso, a inclusão do manipulador e o evento acionado são ambos feitos através do *singleton*. (Por exemplo uma instância de application). +Contudo, porque o namespace dos eventos globais é compartilhado com todos, você deve nomear os eventos globais sabiamente, tais como a introdução de algum tipo de namespace (por exemplo. "frontend.mail.sent", "backend.mail.sent"). From 67668b20da827464e36eeb8219c8ecfd2a2a0671 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Fri, 15 May 2015 11:44:45 -0300 Subject: [PATCH 45/48] docs/guide-pt-BR/concept-components.md - translate [ci skip] --- docs/guide-pt-BR/concept-events.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide-pt-BR/concept-events.md b/docs/guide-pt-BR/concept-events.md index 3a5c65bf7bc..226f91501e1 100644 --- a/docs/guide-pt-BR/concept-events.md +++ b/docs/guide-pt-BR/concept-events.md @@ -229,7 +229,7 @@ Eventos Globais Yii suporta o assim chamado *evento global*, que na verdade é um truque com base no mecanismo de eventos acima descrito. O evento global requer um *singleton* acessível globalmente, tal como a própria instância [application](structure-applications.md). -Para criar o evento global, um evento *remetente* chama o método singleton `trigger()` para disparar o evento, em vez de chamar o método `trigger()` do * remetente *. Da mesma forma, os manipuladores de eventos são anexados ao evento no *singleton*. Por exemplo: +Para criar o evento global, um evento *remetente* chama o método singleton `trigger()` para disparar o evento, em vez de chamar o método `trigger()` do *remetente* . Da mesma forma, os manipuladores de eventos são anexados ao evento no *singleton* . Por exemplo: ```php use Yii; From dd1995551c0c6cf50c51f8cb9df9f0e5c9d6118a Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Fri, 15 May 2015 18:49:38 +0200 Subject: [PATCH 46/48] convert exceptions to string before saving log messages fixes #7305 --- framework/CHANGELOG.md | 1 + framework/log/SyslogTarget.php | 7 ++++++- framework/log/Target.php | 8 +++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index f677a8ef232..1679146a3d0 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -4,6 +4,7 @@ Yii Framework 2 Change Log 2.0.5 under development ----------------------- +- Bug #7305: Logging of Exception objects resulted in failure of the logger i.e. no logs being written (cebe) - Bug #7707: client-side `trim` validator now passes the trimmed value to subsequent validators (nkovacs) - Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) - Enh #8070: `yii\console\controllers\MessageController` now sorts created messages, even if there is no new one, while saving to PHP file (klimov-paul) diff --git a/framework/log/SyslogTarget.php b/framework/log/SyslogTarget.php index 9704e0b02d8..ade7e65cb7a 100644 --- a/framework/log/SyslogTarget.php +++ b/framework/log/SyslogTarget.php @@ -60,7 +60,12 @@ public function formatMessage($message) list($text, $level, $category, $timestamp) = $message; $level = Logger::getLevelName($level); if (!is_string($text)) { - $text = VarDumper::export($text); + // exceptions may not be serializable if in the call stack somewhere is a Closure + if ($text instanceof \Exception) { + $text = (string) $text; + } else { + $text = VarDumper::export($text); + } } $prefix = $this->getMessagePrefix($message); diff --git a/framework/log/Target.php b/framework/log/Target.php index 75179b0468d..792f3daf850 100644 --- a/framework/log/Target.php +++ b/framework/log/Target.php @@ -9,6 +9,7 @@ use Yii; use yii\base\Component; +use yii\base\ErrorHandler; use yii\base\InvalidConfigException; use yii\helpers\VarDumper; use yii\web\Request; @@ -238,7 +239,12 @@ public function formatMessage($message) list($text, $level, $category, $timestamp) = $message; $level = Logger::getLevelName($level); if (!is_string($text)) { - $text = VarDumper::export($text); + // exceptions may not be serializable if in the call stack somewhere is a Closure + if ($text instanceof \Exception) { + $text = (string) $text; + } else { + $text = VarDumper::export($text); + } } $traces = []; if (isset($message[4])) { From cca47b546900155487ccc8eec31c7a46d1a97a0e Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Sat, 16 May 2015 00:09:40 +0200 Subject: [PATCH 47/48] ensure primary key string comparison is made identical this is to avoid cases where string primary keys starting with '0e'. See http://securityaffairs.co/wordpress/36732/hacking/php-hash-comparison-flaw.html Other parts of Yii 2, escpecially the security and auth parts, are **not** affected. --- framework/CHANGELOG.md | 1 + framework/db/BaseActiveRecord.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 1679146a3d0..8a2ff486ab7 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -7,6 +7,7 @@ Yii Framework 2 Change Log - Bug #7305: Logging of Exception objects resulted in failure of the logger i.e. no logs being written (cebe) - Bug #7707: client-side `trim` validator now passes the trimmed value to subsequent validators (nkovacs) - Bug #8322: `yii\behaviors\TimestampBehavior::touch()` now throws an exception if owner is new record (klimov-paul) +- Bug: Fixed string comparison in `BaseActiveRecord::unlink()` which may result in wrong comparison result for hash valued primary keys starting with `0e` (cebe) - Enh #8070: `yii\console\controllers\MessageController` now sorts created messages, even if there is no new one, while saving to PHP file (klimov-paul) - Enh #8286: `yii\console\controllers\MessageController` improved allowing extraction of nested translator calls (klimov-paul) - Enh #8415: `yii\helpers\Html` allows correct rendering of conditional comments containing `!IE` (salaros, klimov-paul) diff --git a/framework/db/BaseActiveRecord.php b/framework/db/BaseActiveRecord.php index 5a72df0b41e..d99192a05ec 100644 --- a/framework/db/BaseActiveRecord.php +++ b/framework/db/BaseActiveRecord.php @@ -1321,7 +1321,7 @@ public function unlink($name, $model, $delete = false) } elseif (isset($this->_related[$name])) { /* @var $b ActiveRecordInterface */ foreach ($this->_related[$name] as $a => $b) { - if ($model->getPrimaryKey() == $b->getPrimaryKey()) { + if ($model->getPrimaryKey() === $b->getPrimaryKey()) { unset($this->_related[$name][$a]); } } From b9916b171827bd03e1a332f735aa8bfdea7e7cb5 Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Sat, 16 May 2015 00:32:01 +0200 Subject: [PATCH 48/48] log the whole exception object to allow log targets to work with it fixes #6354 made possible by #7305 --- framework/CHANGELOG.md | 1 + framework/base/ErrorHandler.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 1679146a3d0..e939c258054 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -10,6 +10,7 @@ Yii Framework 2 Change Log - Enh #8070: `yii\console\controllers\MessageController` now sorts created messages, even if there is no new one, while saving to PHP file (klimov-paul) - Enh #8286: `yii\console\controllers\MessageController` improved allowing extraction of nested translator calls (klimov-paul) - Enh #8415: `yii\helpers\Html` allows correct rendering of conditional comments containing `!IE` (salaros, klimov-paul) +- Chg #6354: `ErrorHandler::logException()` will now log the whole exception object instead of only its string representation (cebe) 2.0.4 May 10, 2015 diff --git a/framework/base/ErrorHandler.php b/framework/base/ErrorHandler.php index 4313ec6e44f..b5694bebed5 100644 --- a/framework/base/ErrorHandler.php +++ b/framework/base/ErrorHandler.php @@ -215,7 +215,7 @@ public function logException($exception) } elseif ($exception instanceof \ErrorException) { $category .= ':' . $exception->getSeverity(); } - Yii::error((string) $exception, $category); + Yii::error($exception, $category); } /**

X}ax;YWtniFf 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 Date: Tue, 5 May 2015 15:30:59 +0700 Subject: [PATCH 05/48] Start workflow Update --- docs/guide-vi/start-workflow.md | 97 +++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 docs/guide-vi/start-workflow.md diff --git a/docs/guide-vi/start-workflow.md b/docs/guide-vi/start-workflow.md new file mode 100644 index 00000000000..7768b06d71c --- /dev/null +++ b/docs/guide-vi/start-workflow.md @@ -0,0 +1,97 @@ +Chạy ứng dụng +==================== + +Sau khi cài đặt Yii, ứng dụng Yii của bạn đã được chạy, tùy thuộc vào cấu hình bạn có thể truy cập qua URL `http://hostname/basic/web/index.php` +hoặc `http://hostname/index.php`. Bài hướng dẫn này sẽ mô tả chức năng của ứng dụng và cách tổ chức code trong ứng dụng, +và làm thế nào để xử lý các yêu cầu của ứng dụng. + +> Lưu ý: Để đơn giản, xuyên suốt các bài hướng dẫn "Getting Started" này, giả sử rằng chúng ta đã thiết lập `basic/web` + như thư mục gốc trong máy chủ Web, và cấu hình URL dể truy cập vào ứng dụng của ban thành + `http://hostname/index.php` hoặc điều tương tự. Tùy theo yêu cầu của bạn, bạn hãy điều chình + URLs sao cho phù hợp với ứng dụng. + + +Chức năng +------------- + +Mẫu ứng dụng *Basic Application* bao gồm 4 trang cơ bản: + +* Trang chủ (homepage), được hiển thị khi bạn truy cập vào URL `http://hostname/index.php`, +* Trang "About", +* Trang "Contact", trang hiển thị form contact cho phép user liên hệ với bạn qua email, +* Trang "Login", trang hiển thị form login cho phép bạn có thể xác thực user. Hãy thử đăng nhập với + thông tin "admin/admin", và bạn sẽ thấy tên "Login" ở menu chính thay đổi thành "Logout". + +Những trang trên đều có cùng phần header và footer. Phần header chứa main menu bar cho phép điều hướng giữa các trang. + +Ở dưới cùng của trình duyệt, bạn có thể thấy một thanh công cụ. Đây là một công cụ gỡ lỗi [debugger tool](tool-debugger.md) rất hữu ích +được cung cấp bởi Yii, bạn có thể ghi lại và hiển thị một lượng lớn các thông tin gỡ lỗi, +chẳng hạn như thông tin đăng nhập, tình trạng phản ứng, các câu lệnh truy vấn cơ sở dữ liệu, và như vậy. + +Ngoài ra, các ứng dụng web có các script từ dòng lệnh (console) tên là *yii*, được nằm ở ứng dụng cơ sở. +Những script này có thể dùng chạy nền và bảo trì chức năng ứng dụng, thông tin mô tả thêm [Console Application Section](tutorial-console.md). + + +Cấu trúc ứng dụng (Application Structure) +--------------------- + +Những thư mục và tập tin quan trọng nhất của ứng dụng (giả sử thư mục gốc của ứng dụng tên là `basic`): + +``` +basic/ Thư mục gốc ứng dụng + composer.json Tập tin cấu hình Composer, mô tả thông tin gói + config/ Chứa các cấu hình ứng dụng và cấu hình khác + console.php thông tin cấu hình ứng dụng giao diện console + web.php thông tin cấu hình ứng dụng Web + commands/ chứa các lớp lệnh console + controllers/ Chứa các lớp điều khiển (controller) + models/ Chứa các lớp model + runtime/ chứa các file được sinh ra bởi Yii trong quá trình chạy, chẳng hạn như đăng nhập và file của bộ nhớ cache + vendor/ chứa các gói cài đặt Composer Package, bao gồm cả Yii framework + views/ chứa các file về view + web/ Thư mục gốc ứng dụng Web, chứa các file truy cập Web + assets/ chứa tập tin tài nguyên Yii (javascript và css) + index.php tập tin thực thi ứng dụng (hoặc bootstrap) + yii Giao diện điều khiển lệnh script (Yii console) +``` + +Nói chung, những tập tin trong ứng dụng có thể chia thành hai loại: tập tin nằm trong thư mục `basic/web` và những tập +tin nằm ở thư mục khác. Trước dây có thể truy cập trực tiếp qua HTTP (chẳng hạn như một trình duyệt), tuy nhiên sau này không thể truy cập và không nên có. + +Yii thực thi theo mẫu thiết kế [model-view-controller (MVC)](http://wikipedia.org/wiki/Model-view-controller), +Điều này được phản ánh trong cấu trúc đường dẫn ở trên. Thư mục `models` chứa tất cả [lớp dữ liệu (model)](structure-models.md), +còn thư mục `views` sẽ chứa tất cả [view scripts](structure-views.md), và thư mục `controllers` chứa tất cả +[lớp điều khiển (controller classes)](structure-controllers.md). + +Biểu đồ sau đây cho thấy cấu trúc tĩnh của một ứng dụng: + +![Static Structure of Application](images/application-structure.png) + +Mỗi ứng dụng sẽ có một mục đầu vào (Entry Script) `web/index.php` như vậy việc truy cập vào ứng dụng Web chỉ được phép truy cập qua mục này. +Entry script tiếp nhận các request và tạo mới [ứng dụng (application)](structure-applications.md) để xử lý. +Các [ứng dụng](structure-applications.md) giải quyết các request cùng với các [thành phần (components)](concept-components.md), +và gửi các request tới các phần tử trong mô hình MVC. Các [Widgets](structure-widgets.md) sẽ được sử dụng ở [views](structure-views.md) +để đơn giản hơn việc xây dựng các giao diện phức tạp. + + +Chu trình xứ lý yêu cầu +----------------- + +Biểu đồ dưới đây cho thấy làm thế nào một ứng dụng để xử lý các yêu cầu: + +![Request Lifecycle](images/request-lifecycle.png) + +1. User tạo yêu cầu (request) tới [mục script](structure-entry-scripts.md) `web/index.php`. +2. Entry script tải các [cấu hình (configuration)](concept-configurations.md) ứng dụng và tạo mới + [ứng dụng](structure-applications.md) để khởi tạo để xử lý yêu cầu. +3. Ứng dụng lấy thông tin [route](runtime-routing.md) được yêu cầu cùng với những thành phần (component) + cần xử lý các [request](runtime-requests.md). +4. Ứng dụng tạo mới [controller](structure-controllers.md) khởi tạo để xử lý yêu cầu. +5. Bộ điều khiển (controller) tạo mới các [action (hành động)](structure-controllers.md) khởi tạo và thực hiện các bộ lọc cho các hành động. +6. Nếu bất kỳ bộ lọc nào bị lỗi, action sẽ bị hủy. +7. Nếu bất kỳ bộ đạt, action sẽ được thực thi. +8. Action sẽ tải dữ liệu từ data model, có thể từ CSDL. +9. Action sẽ tạo mới View, đồng thời cung cấp dữ liệu cho nó . +10. Kết quả việc tạo mới view sẽ trả vê một thành phần ứng dụng [response](runtime-responses.md) . +11. Thành phần response gửi kết quả đến trình duyệt của người dùng và hiển thị kết quả. + From 1fad368f8decfe03dcdd2b29ef7962c187b4592c Mon Sep 17 00:00:00 2001 From: Phan Xuan Dung Date: Wed, 6 May 2015 14:44:21 +0700 Subject: [PATCH 06/48] Start Hello Update --- docs/guide-vi/start-hello.md | 139 +++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 docs/guide-vi/start-hello.md diff --git a/docs/guide-vi/start-hello.md b/docs/guide-vi/start-hello.md new file mode 100644 index 00000000000..eb44e55cf44 --- /dev/null +++ b/docs/guide-vi/start-hello.md @@ -0,0 +1,139 @@ +Bắt đầu ứng dụng với lời chào Hello +============ + +Phần này sẽ mô tả làm thế nào để tạo ra một trang Web mới trong ứng dụng của bạn cùng với lời chào "Hello". +Để đạt được mục tiêu này. bạn sẽ cần tạo mới một [action](structure-controllers.md#creating-actions) và +một [view](structure-views.md): + +* Ứng dụng sẽ gửi đi các request từ trang Web để tới các action +* và action sẽ tạo mới View để hiển thị lời chào "Hello" tới user. + +Thông qua bài hướng dẫn này, bạn sẽ nắm vững ba điều: + +1. Làm thế nào để tạo ra một [action](structure-controllers.md) để đáp ứng các requests, +2. Làm thế nào để tạo ra [view](structure-views.md) để xây dựng nội dung các thông điệp, và +3. Cách ứng dụng gửi đi các request tới các [actions](structure-controllers.md#creating-actions). + + +Tạo Action +------------------ + +Với nhiệm vụ tạo ra thông điệp "Hello", bạn sẽ tạo một [action](structure-controllers.md#creating-actions) `say`, action này +sẽ lấy các tham số `message` từ request và hiển thị thông điệp trở lại user. Nếu request không cung cấp tham số `message`, +action sẽ mặc định hiển thị thông điệp "Hello". + +> Lưu ý: [Hành động (Actions)](structure-controllers.md#creating-actions) là người dùng cuối có thể truy cập các đối tượng và thực hiện trực tiếp. + Các Actions được nằm trong [bộ điều khiển (controllers)](structure-controllers.md). + Các kết quả của một action là người sử dụng cuối cùng nhận được các thông điệp. + +Các Actions cần phải được khai báo ở [controllers](structure-controllers.md). Để cho đơn giản, bạn có thể khai báo +action `say` ở controller `SiteController`. Controller này được khai báo ở trong +lớp `controllers/SiteController.php`. Action mới cần tạo nằm ở đoạn code sau: + +```php +render('say', ['message' => $message]); + } +} +``` + +Trong đoạn code trên, action `say` đinh nghĩa phương thức có tên là `actionSay` nằm trong lớp `SiteController`. +Yii sử dụng tiền tố `action` để phân biệt các phương thức thuộc action từ các phương thức không phải là action trong một lớp điều khiển. +Tên nằm sau `action` là tiền tố ánh xạ tới các action's ID. + +Để hiểu được quy tắc đặt tên cho actions, Bạn nên hiểu cách hoạt động Yii xử lý với các action IDs. Mỗi Action IDs luôn luôn là những ký tự +thường. Nếu action ID đòi hỏi nhiều từ, chúng ta sẽ nối những từ đó bằng dấu gạch ngang (ví dụ, `create-comment`). Tên phương thức của action +sẽ được ánh xa tới action IDs bởi loại bỏ bất kỳ dấu gạch ngang từ IDs, dấu gạch ngang được thêm vào từ chữ cái in hoa đầu tiên trong mỗi từ, và từ đứng trước `action`. Ví dụ, +với action ID `create-comment` tương ứng tới action có phương thức tên là `actionCreateComment`. + +Trong ví dụ này, phương thức của action nhận tham số `$message`, mặc đinh giá trị là `"Hello"` (Như việc bạn có thể thiết +lập các giá trị mặc định cho bất kỳ tham số cho các hàm hoặc phương thức trong PHP). Mỗi khi ứng dụng +nhận request và xác đinh là action chịu trách nhiệm cho xử lý các yêu cầu là action `say` , ứng dung +sẽ lưu trữ tham số này cùng với tên tham số được tìm thấy trong request. Nói cách khác, nếu request bao gồm +tham số `message` theo cùng với giá trị `"Goodbye"`, biến `$message` tương ứng trong action sẽ được gán giá trị. + +Phương thức [[yii\web\Controller::render()|render()]] nằm trong mỗi action được gọi để trả về một [view](structure-views.md) +có tên là `say`. Tham số `message` luôn luôn được gửi qua view để xem nó có được dùng hay không. Kết quả việc render được +thực hiện trong mỗi action. Ứng dụng sẽ nhận kết quả này và hiển thị tới user trên trình duyệt (như là một trang HTML đầy đủ). + + +Tạo mới View +--------------- + +[Views](structure-views.md) đảm nhận việc hiển thị thông tin và tương tác với người dùng. Để thực hiện yêu câu hiển thị +lời chào "Hello", bạn cần phải tạo một view `say` có chức năng hiển thị tham số `message`, tham số này được nhận từ action gửi đến: + +```php + + +``` + +Bạn cần lưu trữ view `say` nằm ở đường dẫn `views/site/say.php`. Mỗi khi phương thức [[yii\web\Controller::render()|render()]] +được gọi ở action, nó sẽ tìm kiếm tập tin PHP nằm ở đường dẫn `views/ControllerID/ViewName.php`. + +Lưu ý rằng, đoạn code trên, biến `message` đã được phương thức [[yii\helpers\Html::encode()|HTML-encoded]] +mã hóa trước khi được in ra. Việc mã hóa là cần thiết khi gửi các tham số tới user, các tham số này có thể bị tấn công qua +[XSS (cross-site scripting)](http://en.wikipedia.org/wiki/Cross-site_scripting) đây là kỹ thuật tấn công bằng cách chèn chèn các +thẻ HTML hoặc đoạn mã JavaScript độc hại. + +Tất nhiên, bạn có thể thêm các nội dung ở view `say`.Nội dung bao gồm các thẻ HTML, dữ liệu văn bản, và cũng có thể là các câu lệnh PHP. +Trên thực tế, view `say` chỉ là các đoạn mã PHP được thực thi bởi phương thức [[yii\web\Controller::render()|render()]]. +Nội dung được gửi ra từ view sẽ được gửi tới ứng dụng (application) như những phản hồi kết quả. +Sau đó ứng dụng sẽ gửi kết quả tới user. + + +Trying it Out +------------- + +Sau khi đã tạo action và view, bạn có thể truy cập vào trang bởi việc truy cập vào URL sau: + +``` +http://hostname/index.php?r=site/say&message=Hello+World +``` + +![Hello World](images/start-hello-world.png) + +URL này sẽ trả về một trang và hiển thị lời chào "Hello World". Trang này có cùng phần header và footer như những trang khác trong ứng dụng. + +Nếu bạn không nhập tham số `message` vào URL, bạn chỉ xem thấy mỗi dòng "Hello" được hiển thị. Bởi vì tham số `message` được thông qua phương thức `actionSay()`, và mỗi khi tham số này không được nhập, +thì giá trị mặc đinh `"Hello"` sẽ được thay thế. + +> Lưu ý: Trang này có cùng phần header và footer như những trang khác là bởi vì phương thức [[yii\web\Controller::render()|render()]] + sẽ tự động nhúng nội dung của view `say` vào một [layout](structure-views.md#layouts) layout này nằm ở `views/layouts/main.php`. + +Tham số `r` ở trên URL sẽ được giải thích thêm. Nó là chuẩn cho bộ định tuyến [route](runtime-routing.md), mỗi ứng dụng sẽ cung cấp ID +tương ứng với từng action. Với các đinh dạng router `ControllerID/ActionID`. Khi ứng dụng nhận request, ứng dụng sẽ kiểm tra các tham số +theo cùng request đó, sử dụng `ControllerID` để xác định lớp điều khiển để xử các request. Sau đó, bộ điều khiển sẽ +xác dịnh `ActionID` cần được khởi tạo để xử lý công việc. Trong ví dụ này, route `site/say` +sẽ gán (ám chỉ tới) bộ điều khiển `SiteController` và action `say`. Điều này sẽ có kết quả là, phương thức `SiteController::actionSay()` sẽ được gọi để xử lý các request. + +> Lưu ý: Giống như actions, ứng dụng sử dụng các định danh ID để nhận diện các controller. Các Controller ID + có quy tắc đặt tên giống với các action IDs. Tên của controller được chuyển đổi từ các controller IDs + bằng việc loại bỏ dấu gạch ngang từ đinh danh ID, tận dụng các chữ cái đầu tiên trong mỗi từ, + và từ đứng trước `Controller`. Ví dụ, bộ điều khiển controller ID có tên là `post-comment` sẽ tương ứng + với controller là `PostCommentController`. + + +Tổng kết +------- + +Qua phần này, bạn đã thao tác với phần controller và view nằm trong mẫu thiết kế MVC. +Bạn đã tạo một action thuộc phần của controller để xử lý các request . Và bạn cũng đã tạo được view cho việc +hoàn thành nội dung trong thông điệp trả về . Trong ví dụ đơn giản này, không có model được sử dụng để thao tác dữ liệu mà chỉ sử dụng tham số `message`. + +Bạn cũng đã học được router trong Yii, cái mà có vai trò quan trọng trong việc thiết lập kết nối giữa user và các controller actions. + +Trong phần tiếp , bạn sẽ tìm hiểu cách tạo một model, và thêm mới các trang có chứa HTML form. From d3bccde5a3c1be7d48adee4bc7d629f072e93c64 Mon Sep 17 00:00:00 2001 From: miramir Date: Sun, 10 May 2015 18:37:42 +0500 Subject: [PATCH 07/48] Translate security passwords to russian --- docs/guide-ru/README.md | 2 +- docs/guide-ru/security-passwords.md | 153 ++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 docs/guide-ru/security-passwords.md diff --git a/docs/guide-ru/README.md b/docs/guide-ru/README.md index 3a9e94eda20..70e327bc47a 100644 --- a/docs/guide-ru/README.md +++ b/docs/guide-ru/README.md @@ -109,7 +109,7 @@ All Rights Reserved. * [Аутентификация](security-authentication.md) * **TBD** [Авторизация](security-authorization.md) -* **TBD** [Работа с паролями](security-passwords.md) +* [Работа с паролями](security-passwords.md) * **TBD** [Клиенты авторизации](security-auth-clients.md) * **TBD** [Лучшие практики](security-best-practices.md) diff --git a/docs/guide-ru/security-passwords.md b/docs/guide-ru/security-passwords.md new file mode 100644 index 00000000000..2527e8d4890 --- /dev/null +++ b/docs/guide-ru/security-passwords.md @@ -0,0 +1,153 @@ +Работа с паролями +================= + +> Примечание: этот раздел находится на стадии разработки. + +Хорошая безопасность является жизненно важной для здоровья и успеха любого приложения. +К сожалению, многие разработчики предпочитают срезать углы, когда речь заходит о безопасности, +либо из-за отсутствия понимания или потому, что считают реализацию слишком сложным. +Для того, чтобы сделанное вами на Yii приложение было как можно более безопасным, Yii включает несколько удобных +и простых в использовании функции обеспечения безопасности. + + +Hashing and Verifying Passwords +------------------------------- + +Многие разработчики знают, что хранить пароль открытым текстом нельзя, но многие до сих пор считают безопасным +использование для хеширование паролей `md5` или `sha1`. Раньше упомянутых алгоритмов было достаточно, но современное +оборудование позволяет подобрать эти хеши очень быстро, используя метод грубой силы. + +Для того, чтоб обеспечить повышенную безопасность паролей ваших пользователей даже в худшем случае (ваше +приложение взломано), нужно использовать алгоритм шифрования, устоичивый к атаке перебором. Лучший вариант в текущий +момент `bcrypt`. В PHP вы можете использовать хеши `bcrypt` используя [функцию crypt](http://php.net/manual/en/function.crypt.php). +Yii обеспечивает две вспомогательные функции, которые делают использование функции `crypt` для генерации и проверки +пароля более простым. + +Когда пользователь передаёт пароль первый раз (например во время регистрации), пароль должен быть захеширован: + + +```php +$hash = Yii::$app->getSecurity()->generatePasswordHash($password); +``` + +Хешь может быть связан с соответствующим аттрибутом модели, так что он может быть сохранён в базе для последующего использования. + +Когда пользователь попытается войти, отправленый пароль должен быть хеширован и сравнён с ранее сохранённым хешем: + + +```php +if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { + // all good, logging user in +} else { + // wrong password +} +``` + +Генерация псевдослучайных данных +-------------------------------- + +Псевдослучайные данные полезны во многих ситуациях. Например, для сброса пароля с помощью электронной почты +вам необходимо сгенерировать специальный токен, сохранить его в БД, и отправить его по почте конечному пользователю, +который в свою очередь подтвердит им свою личность. Очень важно, что этот маркер должен быть уникальным и сложно +подделываемым, чтоб злоумышленник не мог предсказать токен и сбросить пароль пользователя. + +Хелпер безопасности Yii делает генерацию псевдослучайных данных простой: + +```php +$key = Yii::$app->getSecurity()->generateRandomString(); +``` + +Обратите внимание, что у вас должно быть установлено расширение `openssl` для генерации криптографически безопасных данных. + +Шифрование и Дешифровка +----------------------- + +Yii предоставляет удобные вспомогательные функции, которые позволяют шифровать/дешифровать данные используя секретный ключ. +Данные переданные в функцию шифрования могут быть расшифрованы только человеком имеющим секретный ключ. Например, нам +нужно хранить некоторую информацию в базе данных, но мы должны убедиться, что только пользователь, который имеет +секретный ключ сможет посмотреть их (даже если база данных будет скомпрометирована): + +```php +// $data и $secretKey передаются из формы +$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey); +// сохраняем $encryptedData в базу данных +``` + +Позднее, когда пользователь захочет прочитать данные: + +```php +// $secretKey получается из формы, $encryptedData получается из базы данных +$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey); +``` + +Подтверждение целостности данных +-------------------------------- + +Есть ситуации, в которых вам нужно убедится, что ваши данные не были подделаны третьей стороной, или как-то повреждены. +Yii обеспечивает простой способ подтверждения целостности данных в виде двух вспомогательных функций. + +Префикс данных генерируются из секретного ключа и данных + +```php +// $secretKey получается от приложения или от пользователя, $genuineData получаются из надёжного источника +$data = Yii::$app->getSecurity()->hashData($genuineData, $secretKey); +``` + +Проверка целостности данных + +```php +// $secretKey получается от приложения или от пользователя, $data данные полученные из ненадёжного источника +$data = Yii::$app->getSecurity()->validateData($data, $secretKey); +``` + + +todo: предотвращение XSS, CSRF, защита cookie, смотрите руководство 1.1 + +Вы также можете отключить проверку CSRF для контроллера и/или действия, через настройку его свойства: + +```php +namespace app\controllers; + +use yii\web\Controller; + +class SiteController extends Controller +{ + public $enableCsrfValidation = false; + + public function actionIndex() + { + // CSRF валидация не будет проводится для этого и других действий + } + +} +``` + +Чтобы отключить проверку CSRF в отдельном действии: + +```php +namespace app\controllers; + +use yii\web\Controller; + +class SiteController extends Controller +{ + public function beforeAction($action) + { + // ...установите здесь `$this->enableCsrfValidation` в зависимости от каких-то условий... + // вызываем родительский метод для проверки CSRF если свойство установлено в `true` + return parent::beforeAction($action); + } +} +``` + +Безопасные Cookies +------------------ + +- валидация +- httpOnly по умолчанию + +Смотрите также +-------------- + +- [Безопасность представлений](structure-views.md#security) + From 1cddeb0c03cfae2688bd0560c9ce8b81ea085cc1 Mon Sep 17 00:00:00 2001 From: miramir Date: Sun, 10 May 2015 21:39:24 +0500 Subject: [PATCH 08/48] Translate security best practice to russian --- docs/guide-ru/README.md | 2 +- docs/guide-ru/security-best-practices.md | 178 +++++++++++++++++++++++ 2 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 docs/guide-ru/security-best-practices.md diff --git a/docs/guide-ru/README.md b/docs/guide-ru/README.md index 3a9e94eda20..78b8afe485f 100644 --- a/docs/guide-ru/README.md +++ b/docs/guide-ru/README.md @@ -111,7 +111,7 @@ All Rights Reserved. * **TBD** [Авторизация](security-authorization.md) * **TBD** [Работа с паролями](security-passwords.md) * **TBD** [Клиенты авторизации](security-auth-clients.md) -* **TBD** [Лучшие практики](security-best-practices.md) +* [Лучшие практики](security-best-practices.md) Кеширование diff --git a/docs/guide-ru/security-best-practices.md b/docs/guide-ru/security-best-practices.md new file mode 100644 index 00000000000..0f95ab6bec2 --- /dev/null +++ b/docs/guide-ru/security-best-practices.md @@ -0,0 +1,178 @@ +Лучшие практики безопасности +============================ + +Ниже мы рассмотрим основные принципы безопасности и опишем, как избежать угроз при разработке на Yii. + +Основные принципы +----------------- + +Есть два основных принципа безопасности, независимо от того какое приложение разрабатывается: + +1. Фильтрация ввода. +2. Экранирование вывода. + + +### Фильтрация ввода + +Фильтрация ввода означает, что входные данные никогда не должны считаться безопасными и вы всегда должны проверять +являются ли полученные данные допустимыми. Например, если мы знаем, что сортировка может быть осуществлена только +по трём полям `title`, `created_at` и `status`, и поле может передаваться через ввод пользователем, лучше проверить +значение там где мы его получили: + +```php +$sortBy = $_GET['sort']; +if (!in_array($sortBy, ['title', 'created_at', 'status'])) { + throw new Exception('Invalid sort value.'); +} +``` + +В Yii, вы скорее всего будете использовать [валидацию форм](input-validation.md), чтоб делать такие проверки. + + +### Экранирование вывода + +Экранирование вывода означает, что данные в зависимости от контекста должны экранироваться, например в контексте +HTML вы должны экранировать `<`, `>` и похожие специальные символы. В контексте JavaScript или SQL будет другой набор +символов. Так как ручное экранирование черевато ошибками Yii предоставляет различные утилиты для экранирования в +различных контекстах. + +Как избежать SQL-иньекций +------------------------- + +SQL-иньекции происходят когда текст запроса формируется склеивание неэкранированных строк, как показано ниже: + +```php +$username = $_GET['username']; +$sql = "SELECT * FROM user WHERE username = '$username'"; +``` + +Вместо того, чтобы подставлять корректное имя пользователя злоумышленик может передать вам в приложение что-то вроде +`'; DROP TABLE user; --`. +В результате SQL будет следующий: + +```sql +SELECT * FROM user WHERE username = ''; DROP TABLE user; --' +``` + +Это валидный запрос, который будет искать пользователей с пустым именем, а затем удалит таблицу `user`, скорее всего +сломается приложение и будут потеряны данные (вы ведь делаете регулярное резервное копирование?). + +Большинство запросов к базе данных в Yii происходит через [Active Record](db-active-record.md), который правильно +использует подготовленные запросы PDO внутри. При использовании подготовленных запросов невозможно манипулировать +запросом как это показано ниже. + +Тем не менее, иногда нужны [сырые запросы](db-dao.md) или [построитель запросов](db-query-builder.md). В этом случае +вы должны использовать безопасные способы передачи данных. Если данные используются значения столбцов предпочтительнее +использовать подготовленные запросы: + +```php +// query builder +$userIDs = (new Query()) + ->select('id') + ->from('user') + ->where('status=:status', [':status' => $status]) + ->all(); + +// DAO +$userIDs = $connection + ->createCommand('SELECT id FROM user where status=:status') + ->bindValues([':status' => $status]) + ->queryColumn(); +``` + +Если данные используются в качестве имён столбцов или таблиц, то лучший путь это разрешить только предопределённый набор +значений: + +```php +function actionList($orderBy = null) +{ + if (!in_array($orderBy, ['name', 'status'])) { + throw new BadRequestHttpException('Only name and status are allowed to order by.') + } + + // ... +} +``` + +Если это невозможно, то имена столбцов и таблиц должны экранироваться. Yii использует специальный синтаксис +для экранирования для всех поддерживаемых баз данных: + +```php +$sql = "SELECT COUNT([[$column]]) FROM {{table}}"; +$rowCount = $connection->createCommand($sql)->queryScalar(); +``` + +Вы можете получить подробную информацию о синтаксисе в [Экранирование имён таблиц и столбцов](db-dao.md#quoting-table-and-column-names). + + +Как избежать XSS +---------------- + +XSS или крос-сайтинговый скриптинг становится возможен когда не экранированный выходной HTML попадает в браузер. +Например, если пользователь может ввести свой имя и вместо `Alexander` он вводит ``, то +все страницы которые его выводят без экранирования будут выполнять JavaScript `alert('Hello!');` и в результате +будет выводится окно сообщения в браузере. В зависимости от вебсайта вместо невинных скриптов с сообщениями могут быть +отправлены сообщения используя ваше имя или даже выполнять банковские операции. + +В Yii избежать XSS легко. В основном есть два варианта: + +1. Вы хотите вывести данные в виде обычного текста. +2. Вы хотите вывести данные в виде HTML. + +Если вам нужно вывести простой текст, то екранировать лучше следующим образом: + +```php + +``` + +Если нужно вывести HTML вам лучше воспользоваться HtmlPurifier: + +```php + +``` + +Обратите внимание, что обработка с помощью HtmlPurifier довольно тяжела, так что неплохо бы задуматься о кешировании. + +Как избежать CSRF +----------------- + +CSRF это аббревиатура для межсайтинговой подмены запросов. Идея заключается в том, что многие приложения предполагают +что запросы приходящие от браузера отправляются самим пользователем. Это может быть неправдой. + +Например, сайт `an.example.com` имеет URL `/logout`, который используя простой GET, разлогинивает пользователя. Пока +это запрос выполняется самим пользователем всё в порядке, но в один прекрасный день злоумышленники размещают код +`` на форуме с большой посещаемостью. Браузер не делает никаких отличий +между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, он +разлогинится с сайта `an.example.com`. + +Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серъёзного, но отправить POST не намного +сложнее. + +Для того чтоб избежать CSRF вы должны всегда: + +1. Следуйте спецификациям HTTP, например запрос GET не должен менять состояние приложения. +2. Держите защиту CSRF в Yii включонной. + + +Как избежать нежелательного доступа к файлам +-------------------------------------------- + +По умолчанию webroot сервера указывает на каталог `web` где лежит `index.php`. В случае виртуального хостинга +это может быть недостижимо, в конечном итоге весь код, конфиги и логи могут оказаться в webroot сервера. + +Если это так, то нужно запретить доступ ко всему кроме директории `web`. Если на вашем хостинге такое невозможно, +рассмотрите возможность смены хостинга. + +Как избежать отладочной информации и утилит в продуктиве +-------------------------------------------------------- + +В режиме отладки Yii отображает довольно подробные ошибки, которые полезны во время разработки. Дело в том, что +подробные ошибки удобны для нападающего, так как могут раскрыть структуру базы данных, параметров конфигурации и части +вашего кода. Никогда не запускайте продуктивное приложение с `YII_DEBUG` установленным в `true` в вашем `index.php`. + +Вы никогда не должны включать Gii на продуктиве. Он может быть использован для получения информации о структуре +базы данных, кода и может быть просто переписан код с помощью генератора Gii. + +Также следует избегат включения на продуктиве панели отладки, если только это деийствительно не необходимо. +Она раскрывает всё приложение и детали конфигурации. Если вам это абсолютно необходимо, проверьте дважды что доступ +ограничен только вашими IP-адресами. From 0f5666ad7f033e0d8da49a97b9d35557a0c98fac Mon Sep 17 00:00:00 2001 From: miramir Date: Tue, 12 May 2015 00:31:07 +0500 Subject: [PATCH 09/48] fix punctuation --- docs/guide-ru/security-best-practices.md | 75 ++++++++++++------------ 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/docs/guide-ru/security-best-practices.md b/docs/guide-ru/security-best-practices.md index 0f95ab6bec2..ceab4a89b86 100644 --- a/docs/guide-ru/security-best-practices.md +++ b/docs/guide-ru/security-best-practices.md @@ -6,7 +6,7 @@ Основные принципы ----------------- -Есть два основных принципа безопасности, независимо от того какое приложение разрабатывается: +Есть два основных принципа безопасности, независимо от того, какое приложение разрабатывается: 1. Фильтрация ввода. 2. Экранирование вывода. @@ -14,10 +14,10 @@ ### Фильтрация ввода -Фильтрация ввода означает, что входные данные никогда не должны считаться безопасными и вы всегда должны проверять +Фильтрация ввода означает, что входные данные никогда не должны считаться безопасными и вы всегда должны проверять, являются ли полученные данные допустимыми. Например, если мы знаем, что сортировка может быть осуществлена только по трём полям `title`, `created_at` и `status`, и поле может передаваться через ввод пользователем, лучше проверить -значение там где мы его получили: +значение там, где мы его получили: ```php $sortBy = $_GET['sort']; @@ -26,27 +26,27 @@ if (!in_array($sortBy, ['title', 'created_at', 'status'])) { } ``` -В Yii, вы скорее всего будете использовать [валидацию форм](input-validation.md), чтоб делать такие проверки. +В Yii, вы, скорее всего, будете использовать [валидацию форм](input-validation.md), чтоб делать такие проверки. ### Экранирование вывода Экранирование вывода означает, что данные в зависимости от контекста должны экранироваться, например в контексте HTML вы должны экранировать `<`, `>` и похожие специальные символы. В контексте JavaScript или SQL будет другой набор -символов. Так как ручное экранирование черевато ошибками Yii предоставляет различные утилиты для экранирования в +символов. Так как ручное экранирование черевато ошибками, Yii предоставляет различные утилиты для экранирования в различных контекстах. Как избежать SQL-иньекций ------------------------- -SQL-иньекции происходят когда текст запроса формируется склеивание неэкранированных строк, как показано ниже: +SQL-иньекции происходят, когда текст запроса формируется склеиванием неэкранированных строк, как показано ниже: ```php $username = $_GET['username']; $sql = "SELECT * FROM user WHERE username = '$username'"; ``` -Вместо того, чтобы подставлять корректное имя пользователя злоумышленик может передать вам в приложение что-то вроде +Вместо того, чтобы подставлять корректное имя пользователя, злоумышленник может передать вам в приложение что-то вроде `'; DROP TABLE user; --`. В результате SQL будет следующий: @@ -54,16 +54,16 @@ $sql = "SELECT * FROM user WHERE username = '$username'"; SELECT * FROM user WHERE username = ''; DROP TABLE user; --' ``` -Это валидный запрос, который будет искать пользователей с пустым именем, а затем удалит таблицу `user`, скорее всего -сломается приложение и будут потеряны данные (вы ведь делаете регулярное резервное копирование?). +Это валидный запрос, который сначала будет искать пользователей с пустым именем, а затем удалит таблицу `user`. +Скорее всего будет сломано приложение и будут потеряны данные (вы ведь делаете регулярное резервное копирование?). Большинство запросов к базе данных в Yii происходит через [Active Record](db-active-record.md), который правильно использует подготовленные запросы PDO внутри. При использовании подготовленных запросов невозможно манипулировать -запросом как это показано ниже. +запросом как это показано выше. Тем не менее, иногда нужны [сырые запросы](db-dao.md) или [построитель запросов](db-query-builder.md). В этом случае -вы должны использовать безопасные способы передачи данных. Если данные используются значения столбцов предпочтительнее -использовать подготовленные запросы: +вы должны использовать безопасные способы передачи данных. Если данные используются для сравнения со значением +столбцов предпочтительнее использовать подготовленные запросы: ```php // query builder @@ -80,8 +80,8 @@ $userIDs = $connection ->queryColumn(); ``` -Если данные используются в качестве имён столбцов или таблиц, то лучший путь это разрешить только предопределённый набор -значений: +Если данные используются в качестве имён столбцов или таблиц, то лучший путь - это разрешить только предопределённый +набор значений: ```php function actionList($orderBy = null) @@ -108,24 +108,25 @@ $rowCount = $connection->createCommand($sql)->queryScalar(); Как избежать XSS ---------------- -XSS или крос-сайтинговый скриптинг становится возможен когда не экранированный выходной HTML попадает в браузер. -Например, если пользователь может ввести свой имя и вместо `Alexander` он вводит ``, то -все страницы которые его выводят без экранирования будут выполнять JavaScript `alert('Hello!');` и в результате -будет выводится окно сообщения в браузере. В зависимости от вебсайта вместо невинных скриптов с сообщениями могут быть -отправлены сообщения используя ваше имя или даже выполнять банковские операции. +XSS или крос-сайтинговый скриптинг становится возможен, когда не экранированный выходной HTML попадает в браузер. +Например, если пользователь должен ввести свой имя, но вместо `Alexander` он вводит ``, то +все страницы, которые его выводят без экранирования, будут выполнять JavaScript `alert('Hello!');`, и в результате +будет выводится окно сообщения в браузере. В зависимости от сайта, вместо невинных скриптов с выводом всплывающего +hello, злоумышленниками могут быть отправлены скрипты, похищающие личные данные пользователей сайта, +либо выполняющие операции от их имени. -В Yii избежать XSS легко. В основном есть два варианта: +В Yii избежать XSS легко. На месте вывода текста необходими выбрать один из двух вариантов: 1. Вы хотите вывести данные в виде обычного текста. 2. Вы хотите вывести данные в виде HTML. -Если вам нужно вывести простой текст, то екранировать лучше следующим образом: +Если вам нужно вывести простой текст, то экранировать лучше следующим образом: ```php ``` -Если нужно вывести HTML вам лучше воспользоваться HtmlPurifier: +Если нужно вывести HTML, вам лучше воспользоваться HtmlPurifier: ```php @@ -136,43 +137,43 @@ XSS или крос-сайтинговый скриптинг становитс Как избежать CSRF ----------------- -CSRF это аббревиатура для межсайтинговой подмены запросов. Идея заключается в том, что многие приложения предполагают -что запросы приходящие от браузера отправляются самим пользователем. Это может быть неправдой. +CSRF - это аббревиатура для межсайтинговой подмены запросов. Идея заключается в том, что многие приложения предполагают, +что запросы, приходящие от браузера, отправляются самим пользователем. Это может быть неправдой. -Например, сайт `an.example.com` имеет URL `/logout`, который используя простой GET, разлогинивает пользователя. Пока -это запрос выполняется самим пользователем всё в порядке, но в один прекрасный день злоумышленники размещают код +Например, сайт `an.example.com` имеет URL `/logout`, который, используя простой GET, разлогинивает пользователя. Пока +это запрос выполняется самим пользователем - всё в порядке, но в один прекрасный день злоумышленники размещают код `` на форуме с большой посещаемостью. Браузер не делает никаких отличий между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, он разлогинится с сайта `an.example.com`. -Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серъёзного, но отправить POST не намного +Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серьёзного, но отправить POST не намного сложнее. -Для того чтоб избежать CSRF вы должны всегда: +Для того, чтоб избежать CSRF вы должны всегда: 1. Следуйте спецификациям HTTP, например запрос GET не должен менять состояние приложения. -2. Держите защиту CSRF в Yii включонной. +2. Держите защиту CSRF в Yii включенной. Как избежать нежелательного доступа к файлам -------------------------------------------- -По умолчанию webroot сервера указывает на каталог `web` где лежит `index.php`. В случае виртуального хостинга -это может быть недостижимо, в конечном итоге весь код, конфиги и логи могут оказаться в webroot сервера. +По умолчанию, webroot сервера указывает на каталог `web`, где лежит `index.php`. В случае использования виртуального +хостинга, это может быть недостижимо, в конечном итоге весь код, конфиги и логи могут оказаться в webroot сервера. -Если это так, то нужно запретить доступ ко всему кроме директории `web`. Если на вашем хостинге такое невозможно, +Если это так, то нужно запретить доступ ко всему, кроме директории `web`. Если на вашем хостинге такое невозможно, рассмотрите возможность смены хостинга. Как избежать отладочной информации и утилит в продуктиве -------------------------------------------------------- -В режиме отладки Yii отображает довольно подробные ошибки, которые полезны во время разработки. Дело в том, что +В режиме отладки, Yii отображает довольно подробные ошибки, которые полезны во время разработки. Дело в том, что подробные ошибки удобны для нападающего, так как могут раскрыть структуру базы данных, параметров конфигурации и части вашего кода. Никогда не запускайте продуктивное приложение с `YII_DEBUG` установленным в `true` в вашем `index.php`. Вы никогда не должны включать Gii на продуктиве. Он может быть использован для получения информации о структуре -базы данных, кода и может быть просто переписан код с помощью генератора Gii. +базы данных, кода и может позволить заменить файлы, генерируемые Gii автоматически. -Также следует избегат включения на продуктиве панели отладки, если только это деийствительно не необходимо. -Она раскрывает всё приложение и детали конфигурации. Если вам это абсолютно необходимо, проверьте дважды что доступ -ограничен только вашими IP-адресами. +Также следует избегать включения на продуктиве панели отладки, если только в этом нет острой необходимости. +Она раскрывает всё приложение и детали конфигурации. Если вам все таки нужно запустить панель отладки на продуктиве, +проверьте дважды что доступ ограничен только вашими IP-адресами. From 9a3f2d881ab478be1d9a6798d0990d0f7b40c09e Mon Sep 17 00:00:00 2001 From: elysdir Date: Mon, 11 May 2015 20:15:30 -0700 Subject: [PATCH 10/48] Changing the phrase 'the first chain in the process'. --- docs/guide/structure-entry-scripts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/structure-entry-scripts.md b/docs/guide/structure-entry-scripts.md index 0914cbf426b..7f9e947bfa2 100644 --- a/docs/guide/structure-entry-scripts.md +++ b/docs/guide/structure-entry-scripts.md @@ -1,7 +1,7 @@ Entry Scripts ============= -Entry scripts are the first chain in the application bootstrapping process. An application (either +Entry scripts are the first step in the application bootstrapping process. An application (either Web application or console application) has a single entry script. End users make requests to entry scripts which instantiate application instances and forward the requests to them. From 65048c87ed2664fc2ecafd88c6a056f337191fe7 Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Tue, 12 May 2015 11:05:34 +0300 Subject: [PATCH 11/48] Updated guide/security-best-practices A little bit more information about the CSRF --- docs/guide/security-best-practices.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/guide/security-best-practices.md b/docs/guide/security-best-practices.md index 8081b5e6173..609fbe89268 100644 --- a/docs/guide/security-best-practices.md +++ b/docs/guide/security-best-practices.md @@ -139,10 +139,9 @@ from a user browser are made by the user himself. It could be false. For example, `an.example.com` website has `/logout` URL that, when accessed using a simple GET, logs user out. As long as it's requested by the user itself everything is OK but one day bad guys are somehow posting `` on a forum user visits frequently. Browser doesn't make any difference between -requesting an image or requesting a page so when user opens a page with such `img` tag he's being logged out from -`an.example.com`. +requesting an image or requesting a page so when user opens a page with such `img` tag, the browser will send the GET request to that URL, and the user will be logged out from `an.example.com`. -That's the basic idea. One can say that logging user out is nothing serious. Well, sending POST isn't much trickier. +That's the basic idea. One can say that logging user out is nothing serious, but bad guys can do much more, using this idea. Imagine that some website has a URL `http://an.example.com/purse/transfer?to=anotherUser&amout=2000`, visiting which with a GET request, causes transfer of $2000 from authorized user account to user `anotherUser`. We know, that browser will always send GET request to load an image, so we can modify code to accept only POST requests on that URL. Unfortunately, this will not save us, because bad guys can put some JavaScript code instead of `` tag, which allows them to send POST requests on that URL. In order to avoid CSRF you should always: From 9f1a0aed3dcae2bf2e3b970c4dbffeede8698103 Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Tue, 12 May 2015 11:36:25 +0300 Subject: [PATCH 12/48] Text style fixes --- docs/guide/security-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/security-best-practices.md b/docs/guide/security-best-practices.md index 609fbe89268..abdaa86dbbd 100644 --- a/docs/guide/security-best-practices.md +++ b/docs/guide/security-best-practices.md @@ -141,7 +141,7 @@ as it's requested by the user itself everything is OK but one day bad guys are s `` on a forum user visits frequently. Browser doesn't make any difference between requesting an image or requesting a page so when user opens a page with such `img` tag, the browser will send the GET request to that URL, and the user will be logged out from `an.example.com`. -That's the basic idea. One can say that logging user out is nothing serious, but bad guys can do much more, using this idea. Imagine that some website has a URL `http://an.example.com/purse/transfer?to=anotherUser&amout=2000`, visiting which with a GET request, causes transfer of $2000 from authorized user account to user `anotherUser`. We know, that browser will always send GET request to load an image, so we can modify code to accept only POST requests on that URL. Unfortunately, this will not save us, because bad guys can put some JavaScript code instead of `` tag, which allows them to send POST requests on that URL. +That's the basic idea. One can say that logging user out is nothing serious, but bad guys can do much more, using this idea. Imagine that some website has an URL `http://an.example.com/purse/transfer?to=anotherUser&amout=2000`. Accessing it using GET request, causes transfer of $2000 from authorized user account to user `anotherUser`. We know, that browser will always send GET request to load an image, so we can modify code to accept only POST requests on that URL. Unfortunately, this will not save us, because an attacker can put some JavaScript code instead of `` tag, which allows to send POST requests on that URL. In order to avoid CSRF you should always: From 305299daefcfd8f4e498b64d24dad07cedee0527 Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Tue, 12 May 2015 12:36:06 +0300 Subject: [PATCH 13/48] Russian guide update: security best practices Updates according to eng version changes in #8369 --- docs/guide-ru/security-best-practices.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/guide-ru/security-best-practices.md b/docs/guide-ru/security-best-practices.md index ceab4a89b86..eced2fd913e 100644 --- a/docs/guide-ru/security-best-practices.md +++ b/docs/guide-ru/security-best-practices.md @@ -146,8 +146,7 @@ CSRF - это аббревиатура для межсайтинговой по между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, он разлогинится с сайта `an.example.com`. -Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серьёзного, но отправить POST не намного -сложнее. +Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серьёзного, но с помощью этой уязвимости, можно выполнять опасные операции. Представьте, что существует страница http://an.example.com/purse/transfer?to=anotherUser&amout=2000, обращение к которой с помощью GET запроса, приводит к перечислению 2000 единиц валюты со счета авторизированного пользователя на счет пользователя с логином anotherUser. Учитывая, что браузер для загрузки контента отправляет GET запросы, можно подумать, что разрешение на выполнение такой операции только POST запросом на 100% обезопасит от проблем. К сожалению. это не совсем правда. Учитывайте, что вместо тега , злоумышленник может внедрить JavaScript код, который будет отправлять нужные POST запросы на этот URL. Для того, чтоб избежать CSRF вы должны всегда: From 29bec8df0eb1eb1cab142f5a3747485a4f7f08e0 Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Tue, 12 May 2015 12:39:32 +0300 Subject: [PATCH 14/48] Russian guide update: security best practices --- docs/guide-ru/security-best-practices.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/guide-ru/security-best-practices.md b/docs/guide-ru/security-best-practices.md index eced2fd913e..d6e28c86e3f 100644 --- a/docs/guide-ru/security-best-practices.md +++ b/docs/guide-ru/security-best-practices.md @@ -143,8 +143,7 @@ CSRF - это аббревиатура для межсайтинговой по Например, сайт `an.example.com` имеет URL `/logout`, который, используя простой GET, разлогинивает пользователя. Пока это запрос выполняется самим пользователем - всё в порядке, но в один прекрасный день злоумышленники размещают код `` на форуме с большой посещаемостью. Браузер не делает никаких отличий -между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, он -разлогинится с сайта `an.example.com`. +между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, браузер отправит GET запрос на указанный адрес, и пользователь будет разлогинен. Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серьёзного, но с помощью этой уязвимости, можно выполнять опасные операции. Представьте, что существует страница http://an.example.com/purse/transfer?to=anotherUser&amout=2000, обращение к которой с помощью GET запроса, приводит к перечислению 2000 единиц валюты со счета авторизированного пользователя на счет пользователя с логином anotherUser. Учитывая, что браузер для загрузки контента отправляет GET запросы, можно подумать, что разрешение на выполнение такой операции только POST запросом на 100% обезопасит от проблем. К сожалению. это не совсем правда. Учитывайте, что вместо тега , злоумышленник может внедрить JavaScript код, который будет отправлять нужные POST запросы на этот URL. From 443dbc7f94db97f216d7a290b311fc6b223f2fe0 Mon Sep 17 00:00:00 2001 From: Aleksandr Date: Tue, 12 May 2015 13:15:05 +0300 Subject: [PATCH 15/48] Fix small typo in ru/runtime-sessions-cookies.md docs/guide-ru/runtime-sessions-cookies.md --- docs/guide-ru/runtime-sessions-cookies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide-ru/runtime-sessions-cookies.md b/docs/guide-ru/runtime-sessions-cookies.md index d2f4e569311..3fce0b11711 100644 --- a/docs/guide-ru/runtime-sessions-cookies.md +++ b/docs/guide-ru/runtime-sessions-cookies.md @@ -267,7 +267,7 @@ unset($cookies['language']); Во время записи и чтения кук через компоненты `request` и `response`, как будет показано в двух последующих подразделах, фреймворк предоставляет автоматическую валидацию, которая обеспечивает защиту кук от модификации на стороне клиента. Это достигается за счет подписи каждой куки секретным ключом, позволяющим приложению распознать куку, которая была модифицирована на клиентской стороне. В таком случае кука НЕ БУДЕТ доступна через свойство [[yii\web\Request::cookies|cookie collection]] компонента `request`. -> Замечение: Валидация кук защищает только от их модификации. Если валидация не была пройдена, получить доступ к кукам все еще можно через глобальную переменную `$_COOKIE`. Это связано с тем, что дополнительные пакеты и библиотеки могут манипулировать куками без вызова валидации, которую обеспепичает Yii. +> Замечение: Валидация кук защищает только от их модификации. Если валидация не была пройдена, получить доступ к кукам все еще можно через глобальную переменную `$_COOKIE`. Это связано с тем, что дополнительные пакеты и библиотеки могут манипулировать куками без вызова валидации, которую обеспечивает Yii. По-умолчанию валидация кук включена. Её можно отключить, установив свойство [[yii\web\Request::enableCookieValidation]] в false, однако мы настоятельно не рекомендуем это делать. From df092df53412b901a7469b0262eaa473a1f59948 Mon Sep 17 00:00:00 2001 From: miramir Date: Tue, 12 May 2015 15:10:22 +0500 Subject: [PATCH 16/48] fix translation --- docs/guide-ru/security-passwords.md | 57 ++++++++++++++--------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/docs/guide-ru/security-passwords.md b/docs/guide-ru/security-passwords.md index 2527e8d4890..2ef92fcac28 100644 --- a/docs/guide-ru/security-passwords.md +++ b/docs/guide-ru/security-passwords.md @@ -3,43 +3,42 @@ > Примечание: этот раздел находится на стадии разработки. -Хорошая безопасность является жизненно важной для здоровья и успеха любого приложения. -К сожалению, многие разработчики предпочитают срезать углы, когда речь заходит о безопасности, -либо из-за отсутствия понимания или потому, что считают реализацию слишком сложным. -Для того, чтобы сделанное вами на Yii приложение было как можно более безопасным, Yii включает несколько удобных -и простых в использовании функции обеспечения безопасности. +Хорошая безопасность является жизненно важной для жизни и успеха любого приложения. +К сожалению, многие разработчики предпочитают упрощять, когда речь заходит о безопасности, +либо из-за отсутствия понимания, либо потому, что считают реализацию слишком сложной. +Для того, чтобы сделанное вами на Yii приложение было как можно более безопасным, в Yii есть несколько удобных +и простых в использовании функций обеспечения безопасности. -Hashing and Verifying Passwords -------------------------------- +Хеширование и проверка пароля +----------------------------- Многие разработчики знают, что хранить пароль открытым текстом нельзя, но многие до сих пор считают безопасным -использование для хеширование паролей `md5` или `sha1`. Раньше упомянутых алгоритмов было достаточно, но современное -оборудование позволяет подобрать эти хеши очень быстро, используя метод грубой силы. +использование для хеширования паролей `md5` или `sha1`. Раньше упомянутых алгоритмов было достаточно, но современное +оборудование позволяет подобрать эти хеши очень быстро, методом простого перебора. -Для того, чтоб обеспечить повышенную безопасность паролей ваших пользователей даже в худшем случае (ваше +Для того, чтобы обеспечить повышенную безопасность паролей ваших пользователей даже в худшем случае (ваше приложение взломано), нужно использовать алгоритм шифрования, устоичивый к атаке перебором. Лучший вариант в текущий -момент `bcrypt`. В PHP вы можете использовать хеши `bcrypt` используя [функцию crypt](http://php.net/manual/en/function.crypt.php). -Yii обеспечивает две вспомогательные функции, которые делают использование функции `crypt` для генерации и проверки -пароля более простым. +момент `bcrypt`. В PHP вы можете использовать хеши `bcrypt` через [функцию crypt](http://php.net/manual/en/function.crypt.php). +Yii обеспечивает две вспомогательные функции, которые упрощают использование функции `crypt` для генерации и проверки +пароля. -Когда пользователь передаёт пароль первый раз (например во время регистрации), пароль должен быть захеширован: +Когда пользователь задаёт пароль (например во время регистрации), пароль должен быть захеширован: ```php $hash = Yii::$app->getSecurity()->generatePasswordHash($password); ``` -Хешь может быть связан с соответствующим аттрибутом модели, так что он может быть сохранён в базе для последующего использования. +Хеш можно связать с соответствующим аттрибутом модели, так чтобы он сохранялся в базе для последующего использования. Когда пользователь попытается войти, отправленый пароль должен быть хеширован и сравнён с ранее сохранённым хешем: - ```php if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { - // all good, logging user in + // всё хорошо, пользователь может войти } else { - // wrong password + // неправильный пароль } ``` @@ -47,11 +46,11 @@ if (Yii::$app->getSecurity()->validatePassword($password, $hash)) { -------------------------------- Псевдослучайные данные полезны во многих ситуациях. Например, для сброса пароля с помощью электронной почты -вам необходимо сгенерировать специальный токен, сохранить его в БД, и отправить его по почте конечному пользователю, -который в свою очередь подтвердит им свою личность. Очень важно, что этот маркер должен быть уникальным и сложно -подделываемым, чтоб злоумышленник не мог предсказать токен и сбросить пароль пользователя. +вам необходимо сгенерировать специальный токен, сохранить его в БД, и отправить по почте конечному пользователю, +который в свою очередь подтвердит им свою личность. Очень важно, чтобы этот маркер был уникальным и сложно +подделываемым и злоумышленник не мог предсказать токен и сбросить пароль пользователя. -Хелпер безопасности Yii делает генерацию псевдослучайных данных простой: +Помощник безопасности Yii делает генерацию псевдослучайных данных простой: ```php $key = Yii::$app->getSecurity()->generateRandomString(); @@ -59,13 +58,13 @@ $key = Yii::$app->getSecurity()->generateRandomString(); Обратите внимание, что у вас должно быть установлено расширение `openssl` для генерации криптографически безопасных данных. -Шифрование и Дешифровка ------------------------ +Шифрование и Расшифровка +------------------------ -Yii предоставляет удобные вспомогательные функции, которые позволяют шифровать/дешифровать данные используя секретный ключ. -Данные переданные в функцию шифрования могут быть расшифрованы только человеком имеющим секретный ключ. Например, нам -нужно хранить некоторую информацию в базе данных, но мы должны убедиться, что только пользователь, который имеет -секретный ключ сможет посмотреть их (даже если база данных будет скомпрометирована): +Yii предоставляет удобные вспомогательные функции, которые позволяют шифровать/дешифровать данные, используя секретный ключ. +Данные, переданные в функцию шифрования, могут быть расшифрованы только человеком, имеющим секретный ключ. Например, нам +нужно хранить некоторую информацию в базе данных, но мы должны быть уверены, что только пользователь, который имеет +секретный ключ, сможет посмотреть их (даже если база данных будет скомпрометирована): ```php // $data и $secretKey передаются из формы @@ -83,7 +82,7 @@ $data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey); Подтверждение целостности данных -------------------------------- -Есть ситуации, в которых вам нужно убедится, что ваши данные не были подделаны третьей стороной, или как-то повреждены. +Есть ситуации, в которых вам нужно убедиться, что ваши данные не были подделаны третьей стороной, или как-то повреждены. Yii обеспечивает простой способ подтверждения целостности данных в виде двух вспомогательных функций. Префикс данных генерируются из секретного ключа и данных From aaa55c4b375111d01e6cbf18425c1e13e912f2f2 Mon Sep 17 00:00:00 2001 From: miramir Date: Mon, 11 May 2015 21:38:45 +0500 Subject: [PATCH 17/48] Translate git workflow to russian [ci skip] --- docs/internals-ru/git-workflow.md | 231 ++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 docs/internals-ru/git-workflow.md diff --git a/docs/internals-ru/git-workflow.md b/docs/internals-ru/git-workflow.md new file mode 100644 index 00000000000..8b18535fcf4 --- /dev/null +++ b/docs/internals-ru/git-workflow.md @@ -0,0 +1,231 @@ +Рабочий процесс Git для разработчиков Yii2 +========================================== + +Итак, вы хотите разрабатывать Yii? Хорошо! Но для того чтоб увеличить шанс принятия ваших изменений, +пожалуйста следуйте следующим шагам. Если вы новичок в git и github, вы можете сначала проверить +[github help](http://help.github.com/), [try git](https://try.github.com) или прочитать о +[внутренней модели данных git](http://nfarina.com/post/9868516270/git-is-simpler). + +Подготовка вашего рабочего окружения +------------------------------------ + +Следующие шаги будут создавать рабочее окружение для Yii, которое вы можете использовать для работы над основным кодом +фреймворка. *Эти шаги будут нужны только в первый раз*. + +### 1. [Форкаем](http://help.github.com/fork-a-repo/) репозиторий Yii на github и клонируйте ваш форк в ваше рабочее окружение. + +``` +git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git +``` + +Если у вас есть проблемы с настройкой GIT для работы с GitHub в Linux, или вы получаете ошибку похожую на "Permission Denied +(publickey)", тогда вы должны настроить ваш GIT по [этой инструкции](http://help.github.com/linux-set-up-git/) + +### 2. Добавляем главный репозиторий Yii как дополнительный внешний git репозиторий назывемый "upstream" + +Перейдите в каталог, куда вы склонировали Yii, как правило "yii2". Затем введите следующую команду: + +``` +git remote add upstream git://github.com/yiisoft/yii2.git +``` + +### 3. Настройка тестовой среды + +Следующие шаги не обязательны, если вы хотите работать только с переводом или документацией. + +- выполните `composer update` для установки зависимостей (если [composer у вас установлен глобально](https://getcomposer.org/doc/00-intro.md#globally)). +- выполните `php build/build dev/app basic` для клонирования базового приложения и установки его зависимостей. + Эта команда установит сторонние пакеты composer обычным образом, но создаст ссылку с репозитория yii2 на только + что загуженный репозиторий. Таким образом у вас будет только один экземпляр кода. + + При необходимости делаем тоже самое для приложения advanced: `php build/build dev/app advanced`. + + Данная команда также может быть использована для обновления зависимостей, внутри она использует `composer update`. + +**Теперь у нас есть рабочая площадка для экспериментов с Yii 2.** + +Следующие шаги не обязательны. + +### Модульные тесты + +Вы можете выполнить модульные тесты с помощью команды `phpunit` в корневой директории приложения. Если у вас phpunit +не установлен глобально, вы можете запустить `php vendor/bin/phpunit`. + +Некоторые тесты требуют дополнительно установки и настройки баз данных. Вы можете создать `tests/data/config.local.php` +для переопределения настроек, которые определены в `tests/data/config.php`. + +Вы можете ограничить тестирование группой тестов, с которой вы сейчас работаете, например запускать только тесты для +валидаторов и redis. Вы можете получить список доступных групп выполнив `phpunit --groups`. + +### Расширения + +Для работы над расширениями вы можете склонировать репозиторий расширения. Мы сделали команду, которая поможет вам +сделать это: + + php build/build dev/ext + +где `` это имя расширения, например `redis`. + +Если вы хотите протестировать расширение в одном из шаблонов приложений, просто добавьте его в `composer.json` +приложения, например добавив `"yiisoft/yii2-redis": "*"` в секцию `require` базового приложения. +Запустите `php build/build dev/app basic` для установки расширения и его зависимостей и создания символической +ссылки на `extensions/redis` так чтоб вы работали не папке вендорных пакетов composer, а напрямую в репозитории yii2. + + +Работа над багами и новыми функциями +------------------------------------ + +Приготовив вашу среду разработки вы можете начать работу над исправлением багов и разработкой новых функций. + +### 1. Убедитесь, что issue создана для того, над чем вы работаете, если потребуется много времени для исправления + +Все новые функции и баги должны быть связаны с issue для того, чтоб иметь единое место для обсуждения и документирования. +Пртратьте несколько минут на поиск существующей issue, которая соответствует вашим изменениям. Если вы найдёте её в +списке, то пожалуста откоментируйте, что вы начали над ней работать. Если вы не нашли нужной issue пожалуйста +[создайте новую issue](report-an-issue.md) или создайте сразу запрос на изменения если это простые изменения. +Это позволит команде проверить ваше предложение, и обеспечивать соответствующую обратную связь. + +> Для небольших изменении или документации, или простых исправлений, вам нет необходимости создавать issue, + запрос на изменения в этом случае подходит лучше. + +### 2. Вытягивание последнего кода из основного репозитория Yii + +``` +git fetch upstream +``` + +Вы должны начинать с этого действия работу над каждым новым предложением, убеждайтесь что вы работаете над самой +последней версией кода. + +### 3. Создание новой ветки для ваших изменений, основанных на текущем мастере Yii + +> Это очень важно, так как вы не сможете отправлять более одного запроса на изменения из вашего репозитория, если + будете использовать ветку master. + +Каждая отдельное исправление или изменение должно разрабатываться в своей ветке. Имя ветки должно быть описательным +и начинаться с номера issue, с которым связан ваш код. Если вы не исправляете какой-то конкретный issue, просто +пропустите номер. +Например: + +``` +git checkout upstream/master +git checkout -b 999-name-of-your-branch-goes-here +``` + +### 4. Делайте свою магию, пишите ваш код + +Убедитесь, что он работает :) + +Модульные тесты всегда приветствуются. Протестированный и с хорошим покрытием код значительно упрощает задачу проверки +вашего предложения. Сломанные модульные тесты, как описание проблемы, тоже приветствуются. + +### 5. Обновите CHANGELOG + +Отредактируйте файл CHANGELOG, включив ваши изменения. Для этого нужно вставить строки в начало файла под заголовком +"Work in progress", строки с описанием изменений должны выглядеть похожими на следующие: + +``` +Bug #999: a description of the bug fix (Your Name) +Enh #999: a description of the enhancement (Your Name) +``` + +`#999` это номер issue описывающей `Bug` или `Enh`. +Лог изменений должен быть сгруппирован по типу (`Bug`,`Enh`) и отсортирован по номеру issue. + +Для очень маленьких исправлений, например опечаток и изменений документации, нет необходимости обновлять CHANGELOG. + +### 6. Фиксация ваших изменений + +Добавляем файлы/изменения которые вы хотите зафиксировать в [staging area](http://gitref.org/basic/#add) + +``` +git add path/to/my/file.php +``` + +Вы можете использовать опцию `-p` для того, чтоб выбрать, какие изменения вы хотите добавить в коммит. + +Фиксируйте ваши изменения с описательным сообщением. Убедитесь что в сообщение есть номер `#XXX`, так github +автоматически свяжет ваш коммит с тикетом: + +``` +git commit -m "A brief description of this change which fixes #42 goes here" +``` + +### 7. Получение последнего кода из апстрима Yii в вашу ветку + +``` +git pull upstream master +``` + +Это гарантирует, что вы используете самый последний код в вашей ветке перед отправкой запроса на изменения. Если есть +какие-либо конфликты слияния, вы должны исправить их и зафиксировать изменения ещё раз. Это гарантирует, что команда Yii +сможет слить ваши изменения одним кликом. + +### 8. Разрешив зависимости, оптравляем код на github + +``` +git push -u origin 999-name-of-your-branch-goes-here +``` + +Опция `-u` сохранит указание на ветку в github, чтобы при следующем выполнении `git push`, git знал, куда отправлять +изменения. Это полезно, если вы хотите позже отправлять ещё комиты в этот запрос на слияние. + +### 9. Открываем [запрос на слияние](http://help.github.com/send-pull-requests/) в *upstream*. + +Перейдите в репозиторий на github и нажмите "Pull Request", выберите ветку справа и введите больше информации +в поле комментариев. Чтобы связать запрос на изменение с issue, добавьте в комментарий `#999` - где 999 это номер issue. + +> Обратите внимание, что каждый запрос на слияние должен исправлять единственное изменение. Для множества независимых + изменений, пожалуйста откройте несколько запросов на слияние. + +### 10. Проверка вашего кода кем-то + +Кто-то будет проверять ваш код, и, возможно, вам будет предложено внести некоторые изменения, если это так, то перейдите +к шагу #6 (вам не надо открывать новый запрос на слияние, если текущий ещё открыт). Если код будет принят, он будет +влит в основную ветку и станет частью следующего релиза Yii. Если нет, не унывайте, разным людям необходимы различные +функции и Yii не может реализовывать всё для всех, ваш код будет ещё доступен на github как ссылка для людей кому он +может пригодится. + +### 11. Очистка + +После того, как код был принят или отклонён, вы можете удалить ветки, над которыми вы работали в локальном репозитории +и в `origin`. + +``` +git checkout master +git branch -D 999-name-of-your-branch-goes-here +git push origin --delete 999-name-of-your-branch-goes-here +``` + +### Примечание: + +Для обнаружения регрессии как можно раньше, каждое слияние кодовой базы Yii на github будет подхвачено +[Travis CI](http://travis-ci.org) для автоматического запуска тестов. Люди из *core team* не хотят нагружать +этот сервис, поэтому добавляют текст [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) в описание +запроса на слияние, в следующих ситуациях: + +* затронуты только javascript, css файлы или файлы изображений, +* обновление документации, +* изменения затрагивают только строки (например обновление переводов). + +Это защитит travis от запуска тестов на изменениях, которые не покрыты тестами. + +### Обзор команд (для продвинутых участников) + +``` +git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git +git remote add upstream git://github.com/yiisoft/yii2.git +``` + +``` +git fetch upstream +git checkout upstream/master +git checkout -b 999-name-of-your-branch-goes-here + +/* ваша магия, обновление changelog если нужно */ + +git add path/to/my/file.php +git commit -m "A brief description of this change which fixes #42 goes here" +git pull upstream master +git push -u origin 999-name-of-your-branch-goes-here +``` From 70801c7f5276c7bc208ee6b43cd58c39597923d8 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Tue, 12 May 2015 14:37:38 -0300 Subject: [PATCH 18/48] docs/internals-pt-BR/translation-workflow.md - update [ci skip] --- docs/internals-pt-BR/translation-workflow.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/internals-pt-BR/translation-workflow.md b/docs/internals-pt-BR/translation-workflow.md index 5beae0cce29..af33e87b6e9 100644 --- a/docs/internals-pt-BR/translation-workflow.md +++ b/docs/internals-pt-BR/translation-workflow.md @@ -110,4 +110,6 @@ Regras e Observações - frontend - web service - template -- query string \ No newline at end of file +- query string +- case-sensitive +- case-insensitive \ No newline at end of file From 88f31912afafe47103c80d105b4f8328c0ba1848 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Tue, 12 May 2015 14:41:36 -0300 Subject: [PATCH 19/48] docs/internals-pt-BR/translation-workflow.md - update [ci skip] --- docs/internals-pt-BR/translation-workflow.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/internals-pt-BR/translation-workflow.md b/docs/internals-pt-BR/translation-workflow.md index af33e87b6e9..4a3f6d4462e 100644 --- a/docs/internals-pt-BR/translation-workflow.md +++ b/docs/internals-pt-BR/translation-workflow.md @@ -92,6 +92,7 @@ Regras e Observações - basic project template — template básico de projetos - behaviors — behaviors (comportamentos) - pretty URL — URL amigável (pretty URL) +- class member variable - atributo da classe ### Termos Sem Tradução From 0b63cb6eb8c5d880688957532f6474341e1a30fe Mon Sep 17 00:00:00 2001 From: miramir Date: Tue, 12 May 2015 13:21:42 +0500 Subject: [PATCH 20/48] Fix translation in authorization docs [ci skip] --- docs/guide-ru/security-authentication.md | 34 +++---- docs/guide-ru/security-authorization.md | 113 ++++++++++++----------- 2 files changed, 74 insertions(+), 73 deletions(-) diff --git a/docs/guide-ru/security-authentication.md b/docs/guide-ru/security-authentication.md index a49537bc798..a317c5748f2 100644 --- a/docs/guide-ru/security-authentication.md +++ b/docs/guide-ru/security-authentication.md @@ -1,11 +1,11 @@ Аутентификация ============== -Аутентификация это процесс проверки подлинности пользователя. Обычно используется идентификатор +Аутентификация - это процесс проверки подлинности пользователя. Обычно используется идентификатор (например `username` или адрес электронной почты) и секретный токен (например пароль или ключ доступа), чтобы судить о том что пользователь именно тот за кого себя выдаёт. Аутентификация является основной функуцией формы входа. -Yii обеспечивает фреймворк авторизации с различнымы компонентами обеспечивающими процесс входа. +Yii обеспечивает фреймворк авторизации с различнымы компонентами, обеспечивающими процесс входа. Для использования этого фреймворка, вам нужно проделать следующее: * Настроить компонент приложения [[yii\web\User|user]]; @@ -38,12 +38,12 @@ return [ * [[yii\web\IdentityInterface::findIdentity()|findIdentity()]]: Этот метод находит экземпляр `identity class`, используя ID пользователя. Этот метод используется, когда необходимо поддерживать состояние аутентификации через сессии. * [[yii\web\IdentityInterface::findIdentityByAccessToken()|findIdentityByAccessToken()]]: Этот метод находит экземпляр `identity class`, - используя токен доступа. Этот метод используется когда нужно аутентифицировать пользователя - по единственному секретному токену (например в RESTful приложениях, не сохраняющих состояние между запросами). -* [[yii\web\IdentityInterface::getId()|getId()]]: Этот метод возвращает ID пользователя представленного данным экземпляром `identity`. -* [[yii\web\IdentityInterface::getAuthKey()|getAuthKey()]]: Этот метод возвращает ключ используемый для основанной на `cookie` аутентификации. + используя токен доступа. Этот метод используется, когда нужно аутентифицировать пользователя + по одному секретному токену (например в RESTful приложениях, не сохраняющих состояние между запросами). +* [[yii\web\IdentityInterface::getId()|getId()]]: Этот метод возвращает ID пользователя, представленного данным экземпляром `identity`. +* [[yii\web\IdentityInterface::getAuthKey()|getAuthKey()]]: Этот метод возвращает ключ, используемый для основанной на `cookie` аутентификации. Ключ сохраняется в аутентификационной cookie и позже сравниватеся с версией находящейся на сервере, - чтоб удостоверится что аутентификационная `cookie` верная. + чтобы удостоверится что аутентификационная `cookie` верная. * [[yii\web\IdentityInterface::validateAuthKey()|validateAuthKey()]]: Этот метод реализует логику проверки ключа для основанной на `cookie` аутентификации. @@ -117,7 +117,7 @@ class User extends ActiveRecord implements IdentityInterface } ``` -Как обьяснялось ранее, вам нужно реализовать только `getAuthKey()` и `validateAuthKey()` если ваше приложение использует +Как обьяснялось ранее, вам нужно реализовать только `getAuthKey()` и `validateAuthKey()`, если ваше приложение использует только аутентификацию основанную на `cookie`. В этом случае, вы можете использовать следующий код для генерации ключа аутентификации для каждого пользователя и хранения его в таблице `user`: @@ -141,7 +141,7 @@ class User extends ActiveRecord implements IdentityInterface > Замечание: Не путайте `identity` класс `User` с классом [[yii\web\User]]. Первый является классом реализующим логику аутентификации пользователя. Он часто реализуется как класс [Active Record](db-active-record.md) связанный - с некоторым постоянным хранилищем где лежит информация о пользователях. Второй, это класс компонента приложения + с некоторым постоянным хранилищем, где лежит информация о пользователях. Второй, это класс компонента приложения, отвечающий за управление состоянием аутентификации пользователя. @@ -149,16 +149,16 @@ class User extends ActiveRecord implements IdentityInterface В основном класс [[yii\web\User]] используют как компонент приложения `user`. -Можно получить `identity` текущего пользователя используя выражение `Yii::$app->user->identity`. Оно вернёт экземпляр -[[yii\web\User::identityClass|identity class]] представляющий текущего аутентифицированного пользователя, -или `null` если текущий пользователь не аутентифицирован (например гость). Следующий код показывает как получить +Можно получить `identity` текущего пользователя, используя выражение `Yii::$app->user->identity`. Оно вернёт экземпляр +[[yii\web\User::identityClass|identity class]], представляющий текущего аутентифицированного пользователя, +или `null`, если текущий пользователь не аутентифицирован (например гость). Следующий код показывает как получить другую связанную с аутентификацией информацию из [[yii\web\User]]: ```php -// `identity` текущего пользователя. `Null` если пользователь не аутентифицирован. +// `identity` текущего пользователя. `Null`, если пользователь не аутентифицирован. $identity = Yii::$app->user->identity; -// ID текущего пользователя. `Null` если пользователь не аутентифицирован. +// ID текущего пользователя. `Null`, если пользователь не аутентифицирован. $id = Yii::$app->user->id; // проверка на то, что текущий пользователь гость (не аутентифицирован) @@ -180,10 +180,10 @@ Yii::$app->user->login($identity); [[yii\web\User::enableSession|включены]], то `identity` будет сохраняться в сессии, так что состояние статуса аутентификации будет поддерживаться на всём протяжении сессии. Если основанный на cookie вход (так называемый "запомни меня" вход) [[yii\web\User::enableAutoLogin|включен]], то `identity` также будет сохранена -в `cookie` так чтобы статус аутентификации пользователя мог быть восстановлен на протяжении всего времени жизни `cookie`. +в `cookie` так чтобы статус аутентификации пользователя может быть восстановлен на протяжении всего времени жизни `cookie`. Для включения входа основанного на `cookie`, вам нужно установить [[yii\web\User::enableAutoLogin]] в `true` -в конфигурации приложения. Вы также можете настроить время жизни передав его при вызове метода [[yii\web\User::login()]]. +в конфигурации приложения. Вы также можете настроить время жизни, передав его при вызове метода [[yii\web\User::login()]]. Для выхода пользователя, просто вызовите @@ -193,7 +193,7 @@ Yii::$app->user->logout(); Обратите внимание: выход пользователя имеет смысл только если сессии включены. Метод сбрасывает статус аутентификации сразу и из памяти и из сессии. И по умолчанию, будут также уничтожены *все* сессионные данные пользователя. -Если вы хотите сохранить сессионные данные, вы должны вызвать `Yii::$app->user->logout(false)`, вместо этого. +Если вы хотите сохранить сессионные данные, вы должны вместо этого вызвать `Yii::$app->user->logout(false)`. ## События аутентификации diff --git a/docs/guide-ru/security-authorization.md b/docs/guide-ru/security-authorization.md index c489c8b93c0..eeabefaa60d 100644 --- a/docs/guide-ru/security-authorization.md +++ b/docs/guide-ru/security-authorization.md @@ -10,7 +10,7 @@ Фильтры контроля доступа ------------------------ -Фильтры контроля доступа (ACF) является простым методом, который лучше всего использовать в приложениях с простым +Фильтры контроля доступа (ACF) являются простым методом, который лучше всего использовать в приложениях с простым контролем доступа. Как указывает его название, ACF это фильтры, который может присоединяться к контроллеру или модулю как поведение. ACF проверяет набор [[yii\filters\AccessControl::rules|правил доступа]], чтоб убедится, что пользователь имеет доступ к запрошенной операции. @@ -47,7 +47,7 @@ class SiteController extends Controller } ``` -Код выше показывет ACF прикреплённы через поведение контроллера `site`. Это типичный способ использования фильтра действий. +Код выше показывет ACF связанный с контроллером `site` через поведение. Это типичный способ использования фильтров действий. Параметр `only` указывает, что фильтр ACF нужно применять только к действиям `login`, `logout` и `signup`. Параметр `rules` задаёт [[yii\filters\AccessRule|правила доступа]], которые означают следующее: @@ -60,50 +60,50 @@ class SiteController extends Controller Значение опции `allow` выбранного правила указывает авторизовывать пользователя или нет. Если ни одно из правил не совпало, то пользователь считается НЕ авторизованным и ACF останавливает дальнейшее выполнение деиствия. -По умолчанию, ACF когда у пользователя отсутствует доступ к текущему действию, делает следующее: +По умолчанию, ACF, когда у пользователя отсутствует доступ к текущему действию, делает следующее: * Если пользователь гость, вызывается [[yii\web\User::loginRequired()]], который перенаправляет браузер на страницу входа. * Если пользователь авторизован, генерируется исключение [[yii\web\ForbiddenHttpException]]. -Вы можете переопределить это поведение настроив свойство [[yii\filters\AccessControl::denyCallback]]: +Вы можете переопределить это поведение, настроив свойство [[yii\filters\AccessControl::denyCallback]]: ```php [ 'class' => AccessControl::className(), 'denyCallback' => function ($rule, $action) { - throw new \Exception('You are not allowed to access this page'); + throw new \Exception('У вас нет доступа к этой странице'); } ] ``` -[[yii\filters\AccessRule|Правила доступа]] поддерживает набор свойств. Ниже краткое описание поддерживаемых опций. +[[yii\filters\AccessRule|Правила доступа]] поддерживают набор свойств. Ниже краткое описание поддерживаемых опций. Вы также можете расширить [[yii\filters\AccessRule]], чтоб создать свой собственный класс правил доступа. - * [[yii\filters\AccessRule::allow|allow]]: указывает, что это "allow" или "deny" правило. + * [[yii\filters\AccessRule::allow|allow]]: задаёт какое это правило, "allow" или "deny". - * [[yii\filters\AccessRule::actions|actions]]: указывает какие действия соответствуют этому правилу. -Это должен быть массив идентификаторов действий. Сравнение регисрозависимо. Если данное свойство пустое или не задано, -говорит что данное правило применяется ко всем действиям. + * [[yii\filters\AccessRule::actions|actions]]: задаёт действия соответствующие этому правилу. +Значение должно быть массивом идентификаторов действий. Сравнение регисрозависимо. Если свойство пустое или не задано, +то правило применяется ко всем действиям. - * [[yii\filters\AccessRule::controllers|controllers]]: задаёт контроллеры, которым соответствует данное правило. -Это должен быть массив с идентификаторами контроллеров. Сравнение регисрозависимо. Если данное свойство пустое или не задано, -то данное правило применяется ко всем действиям. + * [[yii\filters\AccessRule::controllers|controllers]]: задаёт контроллеры, которым соответствует правило. +Значение должно быть массивом с идентификаторами контроллеров. Сравнение регисрозависимо. Если свойство +пустое или не задано, то правило применяется ко всем действиям. - * [[yii\filters\AccessRule::roles|roles]]: задаёт роли пользователей соответствующих данному правилу. + * [[yii\filters\AccessRule::roles|roles]]: задаёт роли пользователей соответствующих этому правилу. Распознаются две специальные роли, которые проверяются с помощью [[yii\web\User::isGuest]]: - `?`: соответствует гостевому пользователю (не аутентифицирован) - `@`: соответствует аутентифицированному пользователю - Использование других имён ролей требует RBAC (будет описано дальше), можно будет использовать [[yii\web\User::can()]]. - Если данное свойство пустое или не задано, то данное правило применяется ко всем ролям. + Использование других имён ролей будет приводить к вызову метода [[yii\web\User::can()]], который требует включения + RBAC (будет описано дальше). Если свойство пустое или не задано, то правило применяется ко всем ролям. - * [[yii\filters\AccessRule::ips|ips]]: задаёт [[yii\web\Request::userIP|клиентские IP адреса]] для которых применяется это правило. -IP адрес может содержать `*` в конце, так чтоб он соответствовал IP адресу с таким же префиксом. -Для примера, '192.168.*' соответствует всем IP адресам в сегменте '192.168.'. Если данное свойство пустое или не задано, -то данное правило применяется ко всем IP адресам. + * [[yii\filters\AccessRule::ips|ips]]: задаёт [[yii\web\Request::userIP|IP адреса пользователей]], для которых применяется +это правило. IP адрес может содержать `*` в конце, так чтобы он соответствовал IP адресу с таким же префиксом. +Для примера, '192.168.*' соответствует всем IP адресам в сегменте '192.168.'. Если свойство пустое или не задано, +то правило применяется ко всем IP адресам. - * [[yii\filters\AccessRule::verbs|verbs]]: задаёт http метод (например `GET`, `POST`) соответствующий данному правилу. + * [[yii\filters\AccessRule::verbs|verbs]]: задаёт http метод (например `GET`, `POST`) соответствующий правилу. Сравнение регисронезависимо. * [[yii\filters\AccessRule::matchCallback|matchCallback]]: задаёт PHP колбек, который вызывается для определения, @@ -112,7 +112,7 @@ IP адрес может содержать `*` в конце, так чтоб * [[yii\filters\AccessRule::denyCallback|denyCallback]]: задаёт PHP колбек, который будет вызван если доступ будет запрещён при вызове этого правила. -Ниже покзан пример, который показывает использование опции `matchCallback`, которая позволяет писать произвольную +Ниже покзан пример, показывающий использование опции `matchCallback`, которая позволяет писать произвольную логику проверки доступа: ```php @@ -152,28 +152,28 @@ class SiteController extends Controller --------------------------------------- Управление доступом на основе ролей (RBAC) обеспечивает простой, но мощьный централизованный контроль доступа. -Пожалуйста обратитесь к [Wikipedia](http://en.wikipedia.org/wiki/Role-based_access_control) для получения более -подробного сравнения RBAC с другими более традиционными системами контроля доступа. +Пожалуйста обратитесь к [Wikipedia](https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D1%80%D0%BE%D0%BB%D0%B5%D0%B9) +для получения более подробного сравнения RBAC с другими, более традиционными, системами контроля доступа. Yii реализует общую иерархическую RBAC, следуя [NIST RBAC model](http://csrc.nist.gov/rbac/sandhu-ferraiolo-kuhn-00.pdf). -Обеспечивается функциональность RBAC через [[yii\rbac\ManagerInterface|authManager]] [компонент приложения](structure-application-components.md). +Обеспечивается функциональность RBAC через [компонент приложения](structure-application-components.md) [[yii\rbac\ManagerInterface|authManager]]. -Использование RBAC состоит из двух частей. Первая часть - это создание RBAC данных авторизации, и вторая часть это -использование данных авторизации для проверки доступа в том месте где это нужно. +Использование RBAC состоит из двух частей. Первая часть - это создание RBAC данных авторизации, и вторая часть - это +использование данных авторизации для проверки доступа в том месте, где это нужно. Для облегчения последующего описания, мы сначала введём некоторые основные понятия RBAC. ### Основные концепции -Роль представляет собой набор *permissions* (разрешения) (например создание сообщения, обновление сообщения). +Роль представляет собой набор разрешений (*permissions*) (например создание сообщения, обновление сообщения). Роль может быть назначена на одного или многих пользователей. Чтобы проверить, имеет ли пользователь указанные -разрешения, мы можем проверить назначена ли пользователю роль, которая содержит данное разрешение. +разрешения, мы должны проверить назначена ли пользователю роль, которая содержит данное разрешение. -С каждой ролью или разрешением может быть связано *rule* (правило). Правило представляет собой кусок кода, который будет +С каждой ролью или разрешением может быть связано правило (*rule*). Правило представляет собой кусок кода, который будет выполняться в ходе проверки доступа для определения может ли быть применена соответствующая роль или разрешение к текущему пользователю. Например, разрешение "обновление поста" может иметь правило, которое проверяет является ли -текущий пользовател автором поста. Во время проверки доступа, если пользователь не является автором поста, он/она будет +текущий пользователь автором поста. Во время проверки доступа, если пользователь не является автором поста, он/она будет считаться не имеющими разрешения "обновление поста". И роли и разрешения могут быть организованы в иерархию. В частности роль может содержать другие роли или разрешения; и @@ -183,10 +183,11 @@ Yii реализует общую иерархическую RBAC, следуя ### Настройка RBAC Manager -Перед определением авторизационных данных и проверкой прав доступа, мы должны настроить компонент приложения [[yii\base\Application::authManager|authManager]]. -Yii предоставляет два типа менеджеров авторизации: [[yii\rbac\PhpManager]] и [[yii\rbac\DbManager]]. Первый использует -файл с PHP скриптом для хранения данных авторизации, второй сохраняет данные в базе данных. Вы можете использовать -первый если ваше приложение не требует слишком динамичным управлением ролями и разрешениями. +Перед определением авторизационных данных и проверкой прав доступа, мы должны настроить компонент приложения +[[yii\base\Application::authManager|authManager]]. Yii предоставляет два типа менеджеров авторизации: +[[yii\rbac\PhpManager]] и [[yii\rbac\DbManager]]. Первый использует файл с PHP скриптом для хранения данных авторизации, +второй сохраняет данные в базе данных. Вы можете использовать первый если ваше приложение не требует слишком динамичного +управления ролями и разрешениями. #### настройка authManager с помощью `PhpManager` @@ -225,14 +226,14 @@ return [ ]; ``` -`DbManager` использует четыре таблицы базы данных для хранения данных: +`DbManager` использует четыре таблицы для хранения данных: - [[yii\rbac\DbManager::$itemTable|itemTable]]: таблица для хранения авторизационных элементов. По умолчанию "auth_item". - [[yii\rbac\DbManager::$itemChildTable|itemChildTable]]: таблица для хранения иерархии элементов. По умолчанию "auth_item_child". - [[yii\rbac\DbManager::$assignmentTable|assignmentTable]]: таблица для хранения назначений элементов авторизации. По умолчанию "auth_assignment". - [[yii\rbac\DbManager::$ruleTable|ruleTable]]: таблица для хранения правил. По умолчанию "auth_rule". -Прежде чем вы начнёте его использовать вам нужно создать эти таблицы в базе данных. Чтобы сделать это, +Прежде чем вы начнёте использовать этот менеджер, вам нужно создать таблицы в базе данных. Чтобы сделать это, вы можете использовать миграцию хранящуюся в файле `@yii/rbac/migrations`: `yii migrate --migrationPath=@yii/rbac/migrations` @@ -241,13 +242,13 @@ return [ ### Создание данных авторизации -Создание данных авторизации это следущие задачи: +Для создания данных авторизации нужно выполнить следущие задачи: - определение ролей и разрешений; - установка отношений между ролями и правами доступа; - определение правил; - связывание правил с ролями и разрешениями; -- назначение ролей с пользователями. +- назначение ролей пользователям. В зависимости от требований к гибкости авторизации перечисленные задачи могут быть выполнены разными путями. @@ -305,7 +306,7 @@ class RbacController extends Controller Автор может создавать пост, администратор может обновлять пост и делать всё, что может делать автор. Если ваше приложение позволяет регистрировать пользователей, то вам необходимо сразу назначать роли этим новым пользователям. -Например, для того, чтобы все вошедшие пользователи могли стать авторами в расширеном шаблоне проекта вы должны изменить +Например, для того, чтобы все вошедшие пользователи могли стать авторами в расширеном шаблоне проекта, вы должны изменить `frontend\models\SignupForm::signup()` как показано ниже: ```php @@ -338,8 +339,8 @@ public function signup() ### Использование правил -Как упомянуто выше, правила добавляют дополнительные ограничение на роли и разрешения. Правило это классы, расширяющие -[[yii\rbac\Rule]]. Он должен реализовывать метод [[yii\rbac\Rule::execute()|execute()]]. В иерархии созданой нами ранее +Как упомянуто выше, правила добавляют дополнительные ограничения на роли и разрешения. Правила это классы, расширяющие +[[yii\rbac\Rule]]. Они должны реализовывать метод [[yii\rbac\Rule::execute()|execute()]]. В иерархии, созданой нами ранее, автор не можете редактировать свой пост. Давайте исправим это. Во-первых, мы должны создать правило проверяющее, что пользователь является автором поста: @@ -397,7 +398,7 @@ $auth->addChild($author, $updateOwnPost); ### Проверка доступа -С готовыми данными авторизациями проверка доступа это просто вызов метода [[yii\rbac\ManagerInterface::checkAccess()]]. +С готовыми авторизационными данными, проверка доступа - это просто вызов метода [[yii\rbac\ManagerInterface::checkAccess()]]. Так как большинство проверок доступа относятся к текущему пользователю, для удобства Yii предоставляет сокращённый метод [[yii\web\User::can()]], который можно использовать как показано ниже: @@ -407,12 +408,12 @@ if (\Yii::$app->user->can('createPost')) { } ``` -Если текущий пользователь Jane с ID=1 мы начнём с `createPost` и попробуем добраться до `Jane`: +Если текущий пользователь Jane с ID=1, мы начнём с `createPost` и попробуем добраться до `Jane`: ![Проверка доступа](images/rbac-access-check-1.png "Проверка доступа") -Для того чтоб проверить может ли пользователь обновить пост, нам надо передать дополнительный параметр -необходимый для правила `AuthorRule` описанного ранее: +Для того чтоб проверить может ли пользователь обновить пост, нам надо передать дополнительный параметр, +необходимый для правила `AuthorRule`, описанного ранее: ```php if (\Yii::$app->user->can('updatePost', ['post' => $post])) { @@ -424,9 +425,9 @@ if (\Yii::$app->user->can('updatePost', ['post' => $post])) { ![Проверка доступа](images/rbac-access-check-2.png "Проверка доступа") -Мы начинаем с `updatePost` и переходим к `updateOwnPost`. Для того чтоб это произошло правило `AuthorRule` должен вернуть +Мы начинаем с `updatePost` и переходим к `updateOwnPost`. Для того чтоб это произошло, правило `AuthorRule` должно вернуть `true` при вызове метода `execute`. Метод получает `$params` переданный при вызове метода `can`, значение которого равно -`['post' => $post]`. Если всё правильно мы понимаем что `author` привязан к John. +`['post' => $post]`. Если всё правильно мы увидим, что `author` привязан к John. В случае Jane это немного проще, потому что она admin: @@ -434,18 +435,18 @@ if (\Yii::$app->user->can('updatePost', ['post' => $post])) { ### Использование роли по умолчанию -Роль по умолчанию это роль, которая *неявно* присваивается *всем* пользователям. Вызов метода +Роль по умолчанию - это роль, которая *неявно* присваивается *всем* пользователям. Вызов метода [[yii\rbac\ManagerInterface::assign()]] не требуется, и авторизационные данные не содержат информации о назначении. Роль по умолчанию обычно связывают с правилом определяющим к какой роли принадлежит каждый пользователь. -Роли по умолчанию обычно используются в приложениях, которые уже имеют какое-то назначение ролей. Для примера, приложение -может иметь столбец "group" в таблице пользователей и каждый пользователь принадлежит к какой-то группе. Если каждая -группа может быть сопоставлена роли в RBAC, вы можете использовать роль по умолчанию для автоматического назначения +Роли по умолчанию обычно используются в приложениях, которые уже имеют какое-то описание ролей. Для примера, приложение +может иметь столбец "group" в таблице пользователей, и каждый пользователь принадлежит к какой-то группе. Если каждая +группа может быть сопоставлена роли в модели RBAC, вы можете использовать роль по умолчанию для автоматического назначения каждому пользователю роли RBAC. Давайте используем пример, чтобы понять как это можно сделать. -Предположим что в таблице пользователей у вам есть столбец `group`, в котором значение 1 представляет группу "администратор", -а 2 - группу "автор". Вы планируете иметь 2 RBAC роли `admin` и `author` представляющими разрешения для двух +Предположим что в таблице пользователей у вас есть столбец `group`, в котором значение 1 представляет группу "администратор", +а 2 - группу "автор". Вы планируете иметь две RBAC роли `admin` и `author`, представляющие разрешения для двух соответствующих групп. Вы можете настроить данные роли как показано ниже. ```php @@ -493,7 +494,7 @@ $auth->addChild($admin, $author); ``` Обратите внимание, так как "author" добавлен как дочерняя роль к "admin", следовательно в реализации метода `execute()` -класса правила вы должны учитывать это иерархию. Именно по этому для роли "author" метод `execute()` вернёт истину +класса правила вы должны учитывать эту иерархию. Именно по этому для роли "author" метод `execute()` вернёт истину, если пользователь принадлежит к группам 1 или 2 (это означает, что пользователь находится в группе администраторов или авторов) @@ -512,7 +513,7 @@ return [ ]; ``` -Теперь если вы выполните проверку доступа, для обойх ролей `admin` и `author` будет выполнена проверка правила +Теперь, если вы выполните проверку доступа, для обойх ролей `admin` и `author` будет выполнена проверка правила асоциированного с ними. Если правило вернёт истину, это будет означать что роль применяется к текущему пользователю. На основании правила, реализованного выше, если пользователь входит в группу 1 пользователю будет назначена роль `admin`; и если значение `group` равно 2 будет применена роль `author`. From 111a1efffb60cd188fd2050b0a6389f6ca4adad1 Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Tue, 12 May 2015 14:37:38 -0300 Subject: [PATCH 21/48] docs/internals-pt-BR/translation-workflow.md - update [ci skip] close #8377 --- docs/internals-pt-BR/translation-workflow.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/internals-pt-BR/translation-workflow.md b/docs/internals-pt-BR/translation-workflow.md index 5beae0cce29..4a3f6d4462e 100644 --- a/docs/internals-pt-BR/translation-workflow.md +++ b/docs/internals-pt-BR/translation-workflow.md @@ -92,6 +92,7 @@ Regras e Observações - basic project template — template básico de projetos - behaviors — behaviors (comportamentos) - pretty URL — URL amigável (pretty URL) +- class member variable - atributo da classe ### Termos Sem Tradução @@ -110,4 +111,6 @@ Regras e Observações - frontend - web service - template -- query string \ No newline at end of file +- query string +- case-sensitive +- case-insensitive \ No newline at end of file From 124e08d3dcc2f404e47c7f897132bf9c92e7e8fd Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Tue, 12 May 2015 15:18:27 -0300 Subject: [PATCH 22/48] docs/guide-pt-BR/concept-components.md - translate [ci skip] --- docs/guide-pt-BR/concept-properties.md | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/guide-pt-BR/concept-properties.md diff --git a/docs/guide-pt-BR/concept-properties.md b/docs/guide-pt-BR/concept-properties.md new file mode 100644 index 00000000000..fbf1d2ce1bd --- /dev/null +++ b/docs/guide-pt-BR/concept-properties.md @@ -0,0 +1,61 @@ +Propriedades +=========== + +No PHP, atributos da classe são sempre chamadas de *propriedades*. Esses atributos fazem parte da definição da classe e são usadas para representar o estado de uma instância da classe (para diferenciar uma instância da classe de outra). Na prática, muitas vezes você pode querer lidar com a leitura ou a escrita de propriedades de maneiras especiais. Por Exemplo, você pode querer trimar uma string sempre que for atribuído um valor para a propriedade `label`. Você *poderia* usar o código a seguir para realizar esta tarefa: + +```php +$object->label = trim($label); +``` + +A desvantagem do código acima é que você teria que chamar `trim ()` em todos os lugares onde você definir a propriedade `label` no seu código. Se, no futuro, a propriedade `label` receber um novo requisito, tais como a primeira letra deve ser capitalizado, você teria que modificar novamente todos os pedaços de código que atribui um valor para a propriedade `label`. A repetição de código leva a erros, e é uma prática que você deve evitar sempre que possível. + +Para resolver este problema, Yii introduz uma classe base chamada [[yii\base\Object]] que suporta definições de propriedades baseadas nos métodos *getter* e *setter* da classe. Se uma classe precisa dessa funcionalidade, ela deve estender de [[yii\base\Object]], ou de uma classe-filha. + +> Informação: Quase todas as classes nativas (core) do framework Yii estendem de [[yii\base\Object]] ou de uma classe-filha. Isto significa que sempre que você vê um método *getter* ou *setter* em uma classe nativa (core), você pode usá-lo como uma propriedade. + +Um método getter é um método cujo nome inicia com a palavra `get`; um método setter inicia com `set`. +O nome depois do prefixo `get` ou `set` define o nome da propriedade. Por exemplo, um getter `getLabel()` e/ou um setter `setLabel()` define a propriedade chamada `label`, como mostrado no código a seguir: + +```php +namespace app\components; + +use yii\base\Object; + +class Foo extends Object +{ + private $_label; + + public function getLabel() + { + return $this->_label; + } + + public function setLabel($value) + { + $this->_label = trim($value); + } +} +``` + +(Para ser claro, os métodos getter e setter criam a propriedade `label`, que neste caso internamente refere-se ao atributo privado chamado `_label`.) + +Propriedades definidas por getters e setters podem ser usados como atributos da classe. A principal diferença é que quando tal propriedade é iniciada para leitura, O método getter correspondente será chamado; quando a propriedade é iniciada atribuindo um valor, o método setter correspondente será chamado. Por Exemplo: + +```php +// equivalent to $label = $object->getLabel(); +$label = $object->label; + +// equivalent to $object->setLabel('abc'); +$object->label = 'abc'; +``` + +A propriedade definida por um método getter sem um método setter é *somente de leitura*. Tentando atribuir um valor a tal propriedade causará uma exceção [[yii\base\InvalidCallException|InvalidCallException]]. Semelhantemente, uma propriedade definida por um método setter sem um método getter é *somente de gravação *, e tentar ler tal propriedade também causará uma exceção. Não é comum ter propriedade *somente de gravação*. + +Existem várias regras especiais para, e limitações sobre, as propriedades definidas via getters e setters: + +* Os nomes dessas propriedades são *case-insensitive*. Por exemplo, `$object->label` e `$object->Label` são a mesma coisa. Isso ocorre porque nomes de métodos no PHP são case-insensitive. +* Se o nome de uma tal propriedade é o mesmo que um atributo da classe, esta última terá precedência. Por exemplo, se a classe `Foo` descrita acima tiver um atributo `label`, então a atribuição `$object->label = 'abc'` afetará o *atributo* 'label'; esta linha não executaria `setLabel()` método setter. +* Essas propriedades não suportam visibilidade. Não faz nenhuma diferença para a definição dos métodos getter ou setter se a propriedade é pública, protegida ou privada. +* As propriedades somente podem ser definidas por getters e/ou setters *não estáticos*. Os métodos estáticos não serão tratados da mesma maneira. + +Voltando para o problema descrito no início deste guia, em vez de chamar `trim()` em todos os lugares que um valor for atribuído a `label`, `trim()`Agora, só precisa ser invocado dentro do setter `setLabel()`.E se uma nova exigência faz com que seja necessário que o 'label' seja inicializado capitalizado, o método `setLabel()` pode rapidamente ser modificado sem tocar em nenhum outro código. Esta única mudança afetará de forma global cada atribuição à propriedade `label`. From 69ce144b47d76a0c00004d4b3757c00e80294094 Mon Sep 17 00:00:00 2001 From: Vadym Chenin Date: Tue, 12 May 2015 21:20:36 +0300 Subject: [PATCH 23/48] [docs] git-workflow.md corrections --- docs/internals-ja/git-workflow.md | 12 ++++++----- docs/internals-ru/git-workflow.md | 12 ++++++----- docs/internals/git-workflow.md | 36 ++++++++++++++++--------------- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/docs/internals-ja/git-workflow.md b/docs/internals-ja/git-workflow.md index f7317fbdaee..5d5fa7a7da0 100644 --- a/docs/internals-ja/git-workflow.md +++ b/docs/internals-ja/git-workflow.md @@ -55,15 +55,17 @@ phpunit をグローバルにインストールしていない場合は、代り 取り組んでいるグループのものだけにテストを限定することが出来ます。 例えば、バリデータと redis のためのテストだけを走らせるためには、`phpunit --group=validators,redis` とします。 -利用できるグループのリストを取得するためには、`phpunit --groups` を実行してください。 +利用できるグループのリストを取得するためには、`phpunit --list-groups` を実行してください。 ### エクステンション エクステンションに取り組むためには、エクステンションのレポジトリをクローンする必要があります。 私たちは、あなたに代ってそれをするコマンドを作っています。 - php build/build dev/ext - +``` +php build/build dev/ext +``` + ここで `` がエクステンションの名前、例えば `redis` です。 エクステンションをアプリケーションテンプレートのどちらかでテストしたい場合は、通常そうするように、アプリケーションの `composer.json` にそれを追加するだけです。 @@ -148,7 +150,7 @@ git add path/to/my/file.php github があなたのコミットを自動的にチケットとリンクするように、必ず `#XXX` でチケット番号に言及してください。 ``` -git commit -m "#42 を解決する変更の短い説明をここに入れる" +git commit -m "#999 を解決する変更の短い説明をここに入れる" ``` ### 7. 最新の Yii コードを upstream からあなたのブランチにプルする @@ -226,7 +228,7 @@ git checkout -b 999-name-of-your-branch-goes-here /* 魔法を使い、必要なら changelog を更新 */ git add path/to/my/file.php -git commit -m "A brief description of this change which fixes #42 goes here" +git commit -m "A brief description of this change which fixes #999 goes here" git pull upstream master git push -u origin 999-name-of-your-branch-goes-here ``` diff --git a/docs/internals-ru/git-workflow.md b/docs/internals-ru/git-workflow.md index 8b18535fcf4..f9f71bf7907 100644 --- a/docs/internals-ru/git-workflow.md +++ b/docs/internals-ru/git-workflow.md @@ -55,15 +55,17 @@ git remote add upstream git://github.com/yiisoft/yii2.git для переопределения настроек, которые определены в `tests/data/config.php`. Вы можете ограничить тестирование группой тестов, с которой вы сейчас работаете, например запускать только тесты для -валидаторов и redis. Вы можете получить список доступных групп выполнив `phpunit --groups`. +валидаторов и redis. Вы можете получить список доступных групп выполнив `phpunit --list-groups`. ### Расширения Для работы над расширениями вы можете склонировать репозиторий расширения. Мы сделали команду, которая поможет вам сделать это: - php build/build dev/ext - +``` +php build/build dev/ext +``` + где `` это имя расширения, например `redis`. Если вы хотите протестировать расширение в одном из шаблонов приложений, просто добавьте его в `composer.json` @@ -148,7 +150,7 @@ git add path/to/my/file.php автоматически свяжет ваш коммит с тикетом: ``` -git commit -m "A brief description of this change which fixes #42 goes here" +git commit -m "A brief description of this change which fixes #999 goes here" ``` ### 7. Получение последнего кода из апстрима Yii в вашу ветку @@ -225,7 +227,7 @@ git checkout -b 999-name-of-your-branch-goes-here /* ваша магия, обновление changelog если нужно */ git add path/to/my/file.php -git commit -m "A brief description of this change which fixes #42 goes here" +git commit -m "A brief description of this change which fixes #999 goes here" git pull upstream master git push -u origin 999-name-of-your-branch-goes-here ``` diff --git a/docs/internals/git-workflow.md b/docs/internals/git-workflow.md index d45a0ff4a30..7a9c83ec343 100644 --- a/docs/internals/git-workflow.md +++ b/docs/internals/git-workflow.md @@ -2,9 +2,9 @@ Git workflow for Yii 2 contributors =================================== So you want to contribute to Yii? Great! But to increase the chances of your changes being accepted quickly, please -follow the following steps. If you are new to git -and github, you might want to first check out [github help](http://help.github.com/), [try git](https://try.github.com) -or learn something about [git internal data model](http://nfarina.com/post/9868516270/git-is-simpler). +follow the following steps. If you are new to Git +and GitHub, you might want to first check out [GitHub help](http://help.github.com/), [try Git](https://try.github.com) +or learn something about [Git internal data model](http://nfarina.com/post/9868516270/git-is-simpler). Prepare your development environment ------------------------------------ @@ -12,14 +12,14 @@ Prepare your development environment The following steps will create a development environment for Yii, which you can use to work on the core code of Yii framework. These steps only need to be done the first time you contribute. -### 1. [Fork](http://help.github.com/fork-a-repo/) the Yii repository on github and clone your fork to your development environment +### 1. [Fork](http://help.github.com/fork-a-repo/) the Yii repository on GitHub and clone your fork to your development environment ``` git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git ``` -If you have trouble setting up GIT with GitHub in Linux, or are getting errors like "Permission Denied (publickey)", -then you must [setup your GIT installation to work with GitHub](http://help.github.com/linux-set-up-git/) +If you have trouble setting up Git with GitHub in Linux, or are getting errors like "Permission Denied (publickey)", +then you must [setup your Git installation to work with GitHub](http://help.github.com/linux-set-up-git/) ### 2. Add the main Yii repository as an additional git remote called "upstream" @@ -55,14 +55,16 @@ Some tests require additional databases to be set up and configured. You can cre settings that are configured in `tests/data/config.php`. You may limit the tests to a group of tests you are working on e.g. to run only tests for the validators and redis -`phpunit --group=validators,redis`. You get the list of available groups by running `phpunit --groups`. +`phpunit --group=validators,redis`. You get the list of available groups by running `phpunit --list-groups`. ### Extensions To work on extensions you have to clone the extension repository. We have created a command that can do this for you: - php build/build dev/ext - +``` +php build/build dev/ext +``` + where `` is the name of the extension, e.g. `redis`. If you want to test the extension in one of the application templates, just add it to the `composer.json` of the application as you would @@ -141,11 +143,11 @@ git add path/to/my/file.php You can use the `-p` option to select the changes you want to have in your commit. -Commit your changes with a descriptive commit message. Make sure to mention the ticket number with `#XXX` so github will +Commit your changes with a descriptive commit message. Make sure to mention the ticket number with `#XXX` so GitHub will automatically link your commit with the ticket: ``` -git commit -m "A brief description of this change which fixes #42 goes here" +git commit -m "A brief description of this change which fixes #999 goes here" ``` ### 7. Pull the latest Yii code from upstream into your branch @@ -158,19 +160,19 @@ This ensures you have the latest code in your branch before you open your pull r you should fix them now and commit the changes again. This ensures that it's easy for the Yii team to merge your changes with one click. -### 8. Having resolved any conflicts, push your code to github +### 8. Having resolved any conflicts, push your code to GitHub ``` git push -u origin 999-name-of-your-branch-goes-here ``` -The `-u` parameter ensures that your branch will now automatically push and pull from the github branch. That means +The `-u` parameter ensures that your branch will now automatically push and pull from the GitHub branch. That means if you type `git push` the next time it will know where to push to. This is useful if you want to later add more commits to the pull request. ### 9. Open a [pull request](http://help.github.com/send-pull-requests/) against upstream. -Go to your repository on github and click "Pull Request", choose your branch on the right and enter some more details +Go to your repository on GitHub and click "Pull Request", choose your branch on the right and enter some more details in the comment box. To link the pull request to the issue put anywhere in the pull comment `#999` where 999 is the issue number. @@ -181,7 +183,7 @@ issue number. Someone will review your code, and you might be asked to make some changes, if so go to step #6 (you don't need to open another pull request if your current one is still open). If your code is accepted it will be merged into the main branch and become part of the next Yii release. If not, don't be disheartened, different people need different features and Yii -can't be everything to everyone, your code will still be available on github as a reference for people who need it. +can't be everything to everyone, your code will still be available on GitHub as a reference for people who need it. ### 11. Cleaning it up @@ -196,7 +198,7 @@ git push origin --delete 999-name-of-your-branch-goes-here ### Note: -To detect regressions early every merge to the Yii codebase on github will be picked up by +To detect regressions early every merge to the Yii codebase on GitHub will be picked up by [Travis CI](http://travis-ci.org) for an automated testrun. As core team doesn't wish to overtax this service, [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) will be included to the merge description if the pull request: @@ -222,7 +224,7 @@ git checkout -b 999-name-of-your-branch-goes-here /* do your magic, update changelog if needed */ git add path/to/my/file.php -git commit -m "A brief description of this change which fixes #42 goes here" +git commit -m "A brief description of this change which fixes #999 goes here" git pull upstream master git push -u origin 999-name-of-your-branch-goes-here ``` From 39a592fd695a7176fe4727ba9ad8eab8f8d925ec Mon Sep 17 00:00:00 2001 From: Davidson Alencar Date: Tue, 12 May 2015 15:18:27 -0300 Subject: [PATCH 24/48] docs/guide-pt-BR/concept-components.md - translate [ci skip] close #8379 --- docs/guide-pt-BR/concept-properties.md | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/guide-pt-BR/concept-properties.md diff --git a/docs/guide-pt-BR/concept-properties.md b/docs/guide-pt-BR/concept-properties.md new file mode 100644 index 00000000000..fbf1d2ce1bd --- /dev/null +++ b/docs/guide-pt-BR/concept-properties.md @@ -0,0 +1,61 @@ +Propriedades +=========== + +No PHP, atributos da classe são sempre chamadas de *propriedades*. Esses atributos fazem parte da definição da classe e são usadas para representar o estado de uma instância da classe (para diferenciar uma instância da classe de outra). Na prática, muitas vezes você pode querer lidar com a leitura ou a escrita de propriedades de maneiras especiais. Por Exemplo, você pode querer trimar uma string sempre que for atribuído um valor para a propriedade `label`. Você *poderia* usar o código a seguir para realizar esta tarefa: + +```php +$object->label = trim($label); +``` + +A desvantagem do código acima é que você teria que chamar `trim ()` em todos os lugares onde você definir a propriedade `label` no seu código. Se, no futuro, a propriedade `label` receber um novo requisito, tais como a primeira letra deve ser capitalizado, você teria que modificar novamente todos os pedaços de código que atribui um valor para a propriedade `label`. A repetição de código leva a erros, e é uma prática que você deve evitar sempre que possível. + +Para resolver este problema, Yii introduz uma classe base chamada [[yii\base\Object]] que suporta definições de propriedades baseadas nos métodos *getter* e *setter* da classe. Se uma classe precisa dessa funcionalidade, ela deve estender de [[yii\base\Object]], ou de uma classe-filha. + +> Informação: Quase todas as classes nativas (core) do framework Yii estendem de [[yii\base\Object]] ou de uma classe-filha. Isto significa que sempre que você vê um método *getter* ou *setter* em uma classe nativa (core), você pode usá-lo como uma propriedade. + +Um método getter é um método cujo nome inicia com a palavra `get`; um método setter inicia com `set`. +O nome depois do prefixo `get` ou `set` define o nome da propriedade. Por exemplo, um getter `getLabel()` e/ou um setter `setLabel()` define a propriedade chamada `label`, como mostrado no código a seguir: + +```php +namespace app\components; + +use yii\base\Object; + +class Foo extends Object +{ + private $_label; + + public function getLabel() + { + return $this->_label; + } + + public function setLabel($value) + { + $this->_label = trim($value); + } +} +``` + +(Para ser claro, os métodos getter e setter criam a propriedade `label`, que neste caso internamente refere-se ao atributo privado chamado `_label`.) + +Propriedades definidas por getters e setters podem ser usados como atributos da classe. A principal diferença é que quando tal propriedade é iniciada para leitura, O método getter correspondente será chamado; quando a propriedade é iniciada atribuindo um valor, o método setter correspondente será chamado. Por Exemplo: + +```php +// equivalent to $label = $object->getLabel(); +$label = $object->label; + +// equivalent to $object->setLabel('abc'); +$object->label = 'abc'; +``` + +A propriedade definida por um método getter sem um método setter é *somente de leitura*. Tentando atribuir um valor a tal propriedade causará uma exceção [[yii\base\InvalidCallException|InvalidCallException]]. Semelhantemente, uma propriedade definida por um método setter sem um método getter é *somente de gravação *, e tentar ler tal propriedade também causará uma exceção. Não é comum ter propriedade *somente de gravação*. + +Existem várias regras especiais para, e limitações sobre, as propriedades definidas via getters e setters: + +* Os nomes dessas propriedades são *case-insensitive*. Por exemplo, `$object->label` e `$object->Label` são a mesma coisa. Isso ocorre porque nomes de métodos no PHP são case-insensitive. +* Se o nome de uma tal propriedade é o mesmo que um atributo da classe, esta última terá precedência. Por exemplo, se a classe `Foo` descrita acima tiver um atributo `label`, então a atribuição `$object->label = 'abc'` afetará o *atributo* 'label'; esta linha não executaria `setLabel()` método setter. +* Essas propriedades não suportam visibilidade. Não faz nenhuma diferença para a definição dos métodos getter ou setter se a propriedade é pública, protegida ou privada. +* As propriedades somente podem ser definidas por getters e/ou setters *não estáticos*. Os métodos estáticos não serão tratados da mesma maneira. + +Voltando para o problema descrito no início deste guia, em vez de chamar `trim()` em todos os lugares que um valor for atribuído a `label`, `trim()`Agora, só precisa ser invocado dentro do setter `setLabel()`.E se uma nova exigência faz com que seja necessário que o 'label' seja inicializado capitalizado, o método `setLabel()` pode rapidamente ser modificado sem tocar em nenhum outro código. Esta única mudança afetará de forma global cada atribuição à propriedade `label`. From e5214e8c8772f5e7bd6d286e3d4f1b62de65fd3b Mon Sep 17 00:00:00 2001 From: miramir Date: Wed, 13 May 2015 00:35:23 +0500 Subject: [PATCH 25/48] Ru translation view-code-style docs [ci skip] --- docs/internals-ru/view-code-style.md | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/internals-ru/view-code-style.md diff --git a/docs/internals-ru/view-code-style.md b/docs/internals-ru/view-code-style.md new file mode 100644 index 00000000000..7bbbaad3f16 --- /dev/null +++ b/docs/internals-ru/view-code-style.md @@ -0,0 +1,53 @@ +Стиль кодирования представлений Yii2 +==================================== + +Данный стиль кодирования используется для представлений в ядре Yii 2.x и оффициальных представлениях. Мы не заставляем +вас использовать данный стиль кодирования для ваших приложений. Не стесняйтесь использовать тот стиль, который вам +больше подходит. + +```php +title = 'Posts'; +?> + + + +