Explanation of controller execution in the frameworkEnough abstract, l dịch - Explanation of controller execution in the frameworkEnough abstract, l Việt làm thế nào để nói

Explanation of controller execution

Explanation of controller execution in the framework
Enough abstract, let's dig into what the framework's controller is really doing. All HTTP requests come in through a single point. The way that the request gets routed all depends on the request's parameters. The controller parameter determines which controller to use. The action parameter determines which function to call within the controller. The defaults are, controller='default' andaction='view' . In order for the controller to handle the various actions, it must implement a method with the following naming scheme: public function ACTION_action() where ACTION is the value of theaction parameter. If the action method returns a string, then the controller will print the header and footer around the string, otherwise the controller won't do anything after the action method is called. Returning void or false is useful for when you really have to customize output or want to avoid printing header/footer altogether (e.g. web service response). Of course, all security checks are executed before the action method to make sure the user is logged in and has the appropriate capabilities. For more information on the controller, read local/mr/docs, view the source code oflocal/mr/framework/controller/*.
View
Views handle the presentation and do not handle any complex processing or business logic.
With the introduction of renderers in Moodle 2.0, the Moodlerooms Framework can now use renderers for generating the view. Though, not every controller endpoint may need a specific renderer method, it is beneficial to write renderers as they can be re-used and overridden by theme developers. The framework will provide some default renderers that is easily accessible through the controller and Moodle API.
Advantages of views (AKA Moodle renderers):
• Stores presentation.
• Separates logic/processing code from display code.
• Re-usable renderings.
• Easier to customize the rendering via another plugin or theme.
Model
Models handle the business logic by processing data and storing business rules within them.
Models house your application's data so that one can more easily guarantee the correctness of the data. Models contain no display logic, but rather, only logic for accessing, setting and validating data. It is encouraged that plugins have their own model directory to house plugin specific model classes.
Advantages of models:
• Stores business logic. EG: valid values for widget's foo property.
• Re-usable.
• Easier to test and modify.
• Helps to reduce code duplication.
Helpers
The helper design pattern was borrowed from Zend Framework's Action Helpers. Zend's manual has a great description of the purpose of helpers:
Action Helpers aim to minimize the necessity to extend the abstract Action Controller in order to inject common Action Controller functionality.
So, in other words, the helpers provide an easy way to re-use code throughout the application without having to overly extend classes, which could potentially lead to accidentally overriding a function used by the parent class (e.g. a new version of the parent class comes out and implements a new function that you have implemented in your child class).
The implementation of helpers in the Moodlerooms Framework does not follow Zend's implementation exactly, but rather it has been simplified and generalized. So, the helper design in the Moodlerooms Framework can be used outside of controllers so that the whole application can reuse the code in the helpers. This means that the helpers are now like a helper library that is easy to access, loads dynamically and requires very little setup.
Helpers do not replace models or other classes with clear purpose
The point of Helpers is not to replace models or other classes, but to replace files like /path/to/plugin/locallib.php and to provide functionality across classes in your plugin.
Advantages of helpers over traditional libraries:
• The number one use and advantage of helpers is in controllers. This allows the controller to remain skinny by just having methods related to routing, security, etc.
• Helpers replace the need for a /path/to/plugin/locallib.php which can be massive, unorganized and uses more memory because it has to be loaded all at once every time any of the methods are used.
• Helpers are treated as singletons, so their state remains constant throughout the execution of your script. This means that any setup happens only once, caching is easy, your helper can have a state.
• No name space issues. The helper's class is based on the location in the code base and its name. No more, block_crazy_block_name_now_we_get_to_function_name() type function definitions.
• Dynamically loads. Class files are included and classes are instantiated only for helpers that are used. This is better than loading a 10,000 line library file every time.
• Easy setup and it's the same for every helper. Just include the framework's bootstrap.php, make an instance of the helper and you are
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
Giải thích về bộ điều khiển thực hiện trong khuôn khổĐủ trừu tượng, chúng ta hãy đào vào trong khuôn khổ điều khiển thực sự đang làm gì. Tất cả HTTP yêu cầu đi qua một điểm duy nhất. Cách yêu cầu được định tuyến tất cả phụ thuộc vào các yêu cầu tham số. Các tham số điều khiển sẽ xác định bộ điều khiển để sử dụng. Các tham số hành động xác định có chức năng để gọi trong bộ điều khiển. Các giá trị mặc định là, bộ điều khiển = 'mặc định' andaction = 'nhìn'. Để cho bộ điều khiển để xử lý các hành động khác nhau, nó phải thực hiện một phương pháp với lược đồ đặt tên sau đây: chức năng công cộng ACTION_action() nơi mà hành động đó là giá trị của tham số theaction. Nếu phương pháp hành động trả về một chuỗi, sau đó bộ điều khiển sẽ in tiêu đề và chân trang xung quanh các chuỗi, nếu không các bộ điều khiển sẽ không làm bất cứ điều gì sau khi các phương pháp hành động được gọi là. Trở về void hoặc sai là hữu ích cho khi bạn thực sự có tùy chỉnh đầu ra hoặc muốn tránh header/footer in ấn hoàn toàn (ví dụ như web dịch vụ đáp ứng). Tất nhiên, tất cả các kiểm tra an ninh được thực hiện trước khi phương pháp hành động để đảm bảo rằng người dùng được đăng nhập và có khả năng thích hợp. Để biết thêm chi tiết về bộ điều khiển, đọc mr/địa phương tài liệu, xem nguồn mã oflocal/mr/khuôn khổ/điều khiển / *.XemQuan điểm xử lý trình bày và không xử lý chế biến phức tạp hoặc logic kinh doanh bất kỳ.Với việc giới thiệu renderers Moodle 2.0, khuôn khổ Moodlerooms bây giờ có thể sử dụng renderers để tạo ra giao diện. Tuy nhiên, không phải mọi điều khiển endpoint có thể cần một phương pháp cụ thể tái tạo, đó là mang lại lợi ích để viết renderers như họ có thể được tái sử dụng và ghi đè bởi các nhà phát triển chủ đề. Khuôn khổ sẽ cung cấp một số renderers mặc định có thể dễ dàng thông qua bộ điều khiển và Moodle API.Ưu điểm của xem (AKA Moodle renderers):• Cửa hàng trình bày.• Ngắt logic/xử lý mã số từ mã số hiển thị.• Tái sử dụng render.• Dễ dàng hơn để tùy chỉnh rendering qua một plugin hoặc chủ đề.Mô hìnhMô hình xử lý logic kinh doanh bằng cách xử lý dữ liệu và lưu trữ các doanh nghiệp quy định trong vòng chúng.Mô hình nhà dữ liệu ứng dụng của bạn vì vậy mà một trong những có thể dễ dàng đảm bảo tính đúng đắn của dữ liệu. Mô hình chứa không có màn hình logic, nhưng thay vì chỉ logic để truy cập, thiết lập và xác nhận dữ liệu. Chúng tôi khuyến khích rằng bổ sung có thư mục riêng của họ mô hình nhà plugin mô hình cụ thể các lớp.Ưu điểm của mô hình:• Cửa hàng kinh doanh logic. EG: giá trị hợp lệ cho bất động sản foo của widget.• Tái sử dụng.• Dễ dàng hơn để kiểm tra và sửa đổi.• Giúp giảm thiểu sao chép mã.Người trợ giúpMẫu thiết kế của helper được vay mượn từ khuôn khổ Zend hành động trợ giúp. Hướng dẫn sử dụng của Zend có một mô tả tuyệt vời về mục đích của người trợ giúp:Người trợ giúp hành động nhằm mục đích giảm thiểu sự cần thiết để mở rộng các tóm tắt bộ điều khiển hành động để tiêm chung các chức năng điều khiển hành động.Vì vậy, nói cách khác, những người trợ giúp cung cấp một cách dễ dàng để tái sử dụng mã trong suốt các ứng dụng mà không cần phải quá mở rộng các lớp học, có khả năng có thể dẫn đến vô tình ghi đè một chức năng được sử dụng bởi các lớp phụ huynh (ví dụ như là một phiên bản mới của lớp cha mẹ nói ra và thực hiện một chức năng mới mà bạn đã thực hiện trong lớp học trẻ em của bạn).Việc thực hiện của người trợ giúp trong khuôn khổ Moodlerooms không làm theo của Zend thực hiện chính xác, nhưng thay vào đó nó đã được đơn giản và tổng quát. Vì vậy, thiết kế helper trong khuôn khổ Moodlerooms có thể được sử dụng bên ngoài của bộ điều khiển vì vậy mà toàn bộ ứng dụng có thể tái sử dụng các mã ở những người trợ giúp. Điều này có nghĩa rằng những người trợ giúp bây giờ giống như một thư viện trợ giúp mà là dễ dàng truy cập, tải tự động và đòi hỏi rất ít thiết lập.Người trợ giúp thay thế mô hình hoặc các lớp học khác với mục đích rõ ràngĐiểm người trợ giúp là không để thay thế các mô hình hoặc các lớp học khác, nhưng để thay thế các tập tin như /path/to/plugin/locallib.php để cung cấp chức năng qua các lớp học trong plugin của bạn.Ưu điểm của người trợ giúp trên thư viện truyền thống:• Một số sử dụng và lợi ích của người trợ giúp là ở bộ điều khiển. Điều này cho phép điều khiển để vẫn gầy bởi chỉ cần có phương pháp liên quan đến việc định tuyến, an ninh, vv.• Helpers thay thế sự cần thiết cho một /path/to/plugin/locallib.php mà có thể được lớn, chưa tổ chức và sử dụng nhiều bộ nhớ hơn vì nó đã được nạp tất cả cùng một lúc mỗi khi bất kỳ của những phương pháp được sử dụng.• Người trợ giúp được coi là tập, do đó, nhà nước của họ vẫn không đổi trong suốt thực thi script của bạn. Điều này có nghĩa rằng bất kỳ cài đặt xảy ra chỉ một lần, bộ nhớ đệm là dễ dàng, helper của bạn có thể có một nhà nước.• Các không gian tên không có vấn đề. Helper của lớp được dựa trên vị trí trong cơ sở mã và tên của nó. Không có block_crazy_block_name_now_we_get_to_function_name() hơn, loại chức năng định nghĩa.• Tự động tải. Lớp tập tin được bao gồm và các lớp học được instantiated chỉ dành cho người trợ giúp được sử dụng. Điều này là tốt hơn so với thời gian mỗi tải một tập tin thư viện 10.000 dòng.• Dễ dàng thiết lập và nó là như nhau cho mỗi helper. Chỉ cần bao gồm các khuôn khổ bootstrap.php, làm cho một thể hiện của helper và bạn
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
Giải thích về thực hiện điều khiển trong khuôn khổ
trừu tượng Đủ rồi, chúng ta hãy đào sâu vào những gì điều khiển của khung được thực sự làm. Tất cả các yêu cầu HTTP đến trong thông qua một điểm duy nhất. Cách mà các yêu cầu được định tuyến tất cả phụ thuộc vào các thông số của request. Các thông số điều khiển xác định bộ điều khiển để sử dụng. Các thông số hành động xác định hàm nào để gọi trong bộ điều khiển. Các mặc định là, điều khiển = 'mặc định' andaction = 'xem'. Để cho bộ điều khiển để xử lý các hành động khác nhau, nó phải thực thi một phương thức với chương trình đặt tên sau đây: public function ACTION_action () nơi HÀNH ĐỘNG là các giá trị của tham số theaction. Nếu các phương pháp hành động trả về một chuỗi, sau đó điều khiển sẽ in các header và footer trên chuỗi, nếu không điều khiển sẽ không làm bất cứ điều gì sau khi phương pháp hành động được gọi. Quay trở lại khoảng trống hay sai là hữu ích cho khi bạn thực sự phải tùy chỉnh đầu ra hoặc muốn tránh in header / footer hoàn toàn (ví dụ như đáp ứng dịch vụ web). Tất nhiên, tất cả các kiểm tra an ninh được thực hiện trước khi các phương pháp hành động để đảm bảo rằng người dùng sẽ được đăng nhập và có khả năng thích hợp. Để biết thêm thông tin về bộ điều khiển, đọc địa phương / mr / tài liệu, xem mã nguồn oflocal / mr / framework / điều khiển / *.
Xem
xem xử lý các bài thuyết trình và không xử lý bất kỳ chế biến, kinh doanh logic phức tạp.
Với sự ra đời của kết xuất đồ họa trong Moodle 2.0, Khung Moodlerooms bây giờ có thể sử dụng kết xuất đồ họa để tạo ra xem. Mặc dù, không phải mọi thiết bị đầu cuối điều khiển có thể cần một phương pháp renderer cụ thể, nó có lợi để viết render như họ có thể được tái sử dụng và ghi đè bởi các nhà phát triển chủ đề. Khung sẽ cung cấp một số kết xuất đồ họa mặc định mà có thể dễ dàng truy cập thông qua bộ điều khiển và Moodle API.
Ưu điểm của quan điểm (AKA Moodle kết xuất đồ họa):
• trình bày Cửa hàng.
• tách logic / mã xử lý từ mã hiển thị.
• render lại sử dụng được.
• Dễ dàng hơn để tùy chỉnh vẽ qua một plugin hoặc chủ đề.
mẫu
mô hình xử lý logic kinh doanh bằng cách xử lý dữ liệu và lưu trữ quy tắc kinh doanh trong họ.
Mô hình nhà dữ liệu của ứng dụng của bạn để có thể dễ dàng hơn đảm bảo tính chính xác của dữ liệu. Mô hình không chứa logic hiển thị, nhưng đúng hơn, chỉ logic cho việc truy cập, thiết lập và xác nhận dữ liệu. Nó được khuyến khích rằng các plugin có thư mục mô hình riêng của họ đến nhà cắm các lớp mô hình cụ thể.
Ưu điểm của mô hình:
• logic kinh doanh cửa hàng. EG:. Các giá trị hợp lệ cho tài sản foo widget
. • Tái sử dụng
• Dễ dàng hơn để kiểm tra và sửa đổi.
• Giúp làm giảm sự trùng lặp mã.
Helpers
Các mẫu thiết kế helper được mượn từ Helpers Hành động Zend Framework. Nhãn hiệu của Zend có một mô tả tuyệt vời về mục đích của những người giúp đỡ:
. Hành động Helpers nhằm giảm thiểu sự cần thiết phải mở rộng các hành động điều khiển trừu tượng để có thể tiêm hành động phổ biến các chức năng điều khiển
Vì vậy, nói cách khác, những người giúp việc cung cấp một cách dễ dàng để tái sử dụng mã thông qua ứng dụng mà không cần phải quá mở rộng lớp học, mà có thể dẫn đến vô tình ghi đè lên một chức năng được sử dụng bởi các lớp cha mẹ (ví dụ như một phiên bản mới của các lớp cha mẹ đi ra và thực hiện một chức năng mới mà bạn đã thực hiện trong lớp con của bạn) .
việc thực hiện của những người giúp đỡ trong khung Moodlerooms không theo thực hiện Zend chính xác, mà đúng hơn là nó đã được đơn giản hóa và khái quát hóa. Vì vậy, việc thiết kế trợ giúp trong khung Moodlerooms có thể được sử dụng bên ngoài của bộ điều khiển để toàn bộ ứng dụng có thể sử dụng lại các mã trong những người trợ giúp. Điều này có nghĩa rằng những người giúp việc bây giờ giống như một thư viện trợ giúp đó là dễ dàng để truy cập, tải trọng động và đòi hỏi rất ít thiết lập.
Helpers không thay thế mô hình hoặc các lớp học khác với mục đích rõ ràng
Các điểm Helpers không phải là để thay thế mô hình hoặc các lớp học khác, nhưng để thay thế các tập tin như /path/to/plugin/locallib.php và cung cấp chức năng qua các lớp trong plugin của bạn.
Ưu điểm của những người giúp đỡ về thư viện truyền thống:
• số một trong những sử dụng và lợi thế của người giúp việc là trong bộ điều khiển. Điều này cho phép bộ điều khiển vẫn gầy bởi chỉ cần có phương pháp liên quan đến việc định tuyến, an ninh, vv
• Helpers thay thế cần thiết cho một /path/to/plugin/locallib.php mà có thể đồ sộ, chưa được tổ chức và sử dụng nhiều bộ nhớ hơn bởi vì nó đã được nạp tất cả cùng một lúc mỗi khi bất kỳ phương pháp được sử dụng.
• Helpers đang được coi là độc thân, vì vậy nhà nước của họ vẫn không đổi trong suốt thực thi các kịch bản của bạn. Điều này có nghĩa rằng bất kỳ thiết lập chỉ xảy ra một lần, bộ nhớ đệm là dễ dàng, giúp đỡ của bạn có thể có một nhà nước.
• Không có vấn đề không gian tên. Lớp của helper được dựa trên vị trí trong các cơ sở mã và tên của nó. Không hơn, block_crazy_block_name_now_we_get_to_function_name () loại định nghĩa hàm.
• Tự động tải. Các tập tin lớp được bao gồm và các lớp được khởi tạo chỉ cho những người giúp đỡ được sử dụng. Điều này là tốt hơn so với tải một thư viện 10.000 dòng tập mọi lúc.
• Dễ dàng cài đặt và nó là như nhau cho mọi người giúp đỡ. Chỉ cần bao gồm bootstrap.php của khuôn khổ, làm cho một thể hiện của các helper và bạn
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: