Bài viết được gắn thẻ: ini

Bắt đầu Nhanh Symfony DI (Dependency Injection) Hướng dẫn

, thứ bảy ngày 14 tháng 8 2010 14:21

Dependency Injection (DI)?

Dependency injection là một kỹ thuật cho phép cho các đối tượng lỏng trong một ứng dụng phần mềm. Nói chung nếu một đối tượng đòi hỏi phải truy cập các chức năng khác sẽ được khởi tạo nội bộ hàng đầu cho các hệ thống chặt chẽ. Thực hiện tiêm phụ thuộc, chúng ta tiêm các đối tượng cần thiết sẵn sàng sử dụng (đôi khi cũng được gọi để đảo ngược của kiểm soát - IOC). Lấy ví dụ sau đây:

  <? Php
 lớp DecisionMaker {
     chức năng công cộng makeDecision (mảng $ tham số) {
         / / Cần các bộ chuyển đổi cơ sở dữ liệu
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore (tham số);
         / * ...  Quyết định logic của một số chi tiết ...  * /
         trở lại ($ parameterScore> 50);
     }
 } 

Đoạn mã này được chặt chẽ cùng với các đối tượng DecisionParameters. Viết lại một cách lỏng lẻo, chúng tôi muốn có một cái gì đó giống như ....

 <? Php class DecisionMaker {tin $ _dp; công chức năng __ construct ($ dp) {$ this-> _dp = $ dp;} công cộng chức năng makeDecision (mảng $ tham số) {$ parameterScore = $ this-> _dp-> getScore ($ các thông số); / * ...  Quyết định logic của một số chi tiết ...  * / Trở lại (parameterScore> 50);}} 

Trong khi đạt được những lợi ích của mã lỏng chúng tôi có thêm phức tạp như vậy mà mỗi một đối tượng được khởi tạo, chúng tôi cũng có để khởi tạo phụ thuộc của nó và vượt qua những trong quá. Ví dụ, điều này:

  $ Sự lựa chọn = mới DecisionMaker ();
 echo $ lựa chọn> makeDecision (array ('nỗ lực' => 'thấp', 'trở lại' => 'cao')); 

bây giờ trở thành:

  $ Dp = new DecisionParameters ();
 $ Sự lựa chọn = new DecisionMaker (dp);
 echo $ lựa chọn> makeDecision (array ('nỗ lực' => 'thấp', 'trở lại' => 'cao')); 

Tình trạng này trở nên đau đớn hơn khi số lượng phụ thuộc cho một lớp học được tăng lên, và điều gì sẽ xảy ra nếu các phụ thuộc mình có phụ thuộc? Điều này có thể khá nhanh chóng trở thành một cơn ác mộng hành chính đối tượng! Nhập container tiêm phụ thuộc (hoặc khung) ...
Tiếp tục đọc "nhanh Symfony bắt đầu DI (Dependency Injection) Hướng dẫn '»

Tuyến đường yêu cầu cho sitemap.xml để điều khiển tùy chỉnh / hành động

, Thứ tư thứ 6 tháng Giêng 2010 12:13 am

Để yêu cầu trực tiếp / sitemap.xml một bộ điều khiển tùy chỉnh và hành động trong Zend Framework ứng dụng chỉ cần thêm những điều sau đây vào application.ini của bạn hoặc tập tin cấu hình thay thế (ví dụ như tôi sử dụng navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = index
 resources.router.routes.sitemap.defaults.action = sitemap

Ví dụ mã cho xuất ra có thể được nhìn thấy bằng cách tạo ra một hành động trong bộ điều khiển thích hợp (ví dụ như sơ đồ trang web của tôi nằm trong bộ điều khiển chỉ số, sơ đồ trang web hành động):

 < php
 class IndexController
     mở rộng Zend_Controller_Action
 {
     / **
      * Hiển thị hình ảnh một bản đồ dựa trên thiết lập Zend_Navigation
      * /
     public function sitemapAction ()
     {
    	 echo $ this-> view-> chuyển hướng () -> sitemap ();
    	 $ This-> view-> layout () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sơ đồ trang web một cách nhanh chóng và dễ dàng có thể được tạo ra bằng cách sử dụng Zend_Navigation , nhanh chóng hướng dẫn tuyệt vời (và nói chung là rất hữu ích cho Zend Khung hướng dẫn) Zend Diễn viên - Tự động tạo ra một menu một sitemap và breadcrumbs .













Panorama Theme theo Themocracy

4 khách truy cập trực tuyến tại
3 khách, 1 bots, 0 thành viên
Max khách truy cập hôm nay: 13 lúc 09:36 am UTC
Tháng này: 40 23-05-2012 03:33 am UTC
Năm nay: 69 27-02-2012 09:56 am UTC
Tất cả thời gian: 130 28-03-2011 10:40 pm UTC