Bài viết được gắn thẻ: khuôn khổ

Đăng nhập với Twitter "bằng cách sử dụng Zend Framework

By , thứ năm lần thứ 17 March 2011 01:07 am

Mặc dù tất cả các ghét twitter vào lúc này, tôi đã thiết lập ra để tạo ra một mới twitter dựa trên ứng dụng. Là một người quản lý một số tài khoản (cá nhân và cho công việc từ thiện của tôi) Tôi đã cần một công cụ cho đôi khi đó tôi chỉ nhận được xung quanh để viết (nhiều hơn trong tương lai gần ...).

Tôi đã đọc trên Zend_Oauth_Consumer và làm thế nào nó có thể được sử dụng để có được ủy quyền để tương tác với twitter bằng cách sử dụng oauth . Tất cả tốt và tốt, tôi có chìa khóa truy cập của tôi và tôi vui vẻ có thể gửi đi thay mặt cho một người sử dụng. Có rất nhiều các nguồn lực hiện có để làm điều này vì vậy tôi sẽ không khoan người dân.

Bước tiếp theo là cho phép mọi người quay trở lại trang web, đăng nhập và chỉnh sửa tài khoản của họ. Đây là nơi tôi đến một vấn đề nhỏ. Sử dụng các ví dụ mã trên các trang web có nghĩa là tôi đã twitter yêu cầu tôi cho phép truy cập một lần nữa cho mỗi lần đăng nhập, không tốt. Quét thông qua các khuôn khổ tôi không thể nhìn thấy bất cứ điều gì mà sẽ cho phép tôi chỉ yêu cầu xác thực. Đó không phải là để nói không có, nhưng không có vẻ là một cơ chế xác thực có thể được gọi mà không cần biết mã thông báo truy cập đã.

Các lựa chọn thay thế để thực hiện một đăng nhập trang web hoặc bằng cách nào đó lưu trữ thẻ truy cập của người dùng trên máy khách (mã hóa của khóa học). Không những có vẻ như một giải pháp tốt / phù hợp.

Tiếp tục đọc "Đăng nhập bằng Twitter" bằng cách sử dụng Zend Framework '»

Zend Framework: Render Nếu Tồn tại

, Chủ Nhật 12 Tháng Mười Hai, 2010 16:19

Tóm tắt thông tin

Đây là một bài nhanh chóng để thảo luận về các helper xem khá đơn giản, tôi tạo ra cho vẽ một phong cách xem tập tin Zend Framework chỉ khi nó tồn tại. Nói chung yêu cầu mã để làm cho một tập tin mà không tồn tại sẽ ném một ngoại lệ. Vì vậy, tôi tạo ra một vỏ bọc cho các Zend_View :: render () phương pháp xác định cho dù tập tin tồn tại và nếu như vậy làm cho, nếu không chỉ đơn giản là trả về một chuỗi rỗng.
Tiếp tục đọc 'Zend Framework: Render Nếu Tồn tại' »

Zend Framework Body Tag Helper

, thứ Bảy 21 tháng 8 năm 2010 11:13
Photo from  http://www.flickr.com/photos/daniello/

Ảnh từ http://www.flickr.com/photos/daniello/

Tóm tắt thông tin

Ở đây tôi thảo luận về việc tạo ra một helper xem để sửa đổi các thẻ HTML, và cụ thể hơn các thẻ cơ thể. Helper xem được tạo ra cho phép chức năng tương tự như đầu * / người giúp đỡ xem inlineScript đã có trong tiêu chuẩn Zend Framework người giúp đỡ xem, nhưng cho phép sửa đổi chương trình của các thuộc tính tag. Chắc chắn kiểm tra các trang demo và mã trên github.

Động lực

Zend Khung tiêu chuẩn người giúp đỡ xem là một tập hợp lớn các công cụ để tinh giản các nhiệm vụ xem thế gian và cho phép sửa đổi / bổ sung của các kịch bản và ngăn chặn tiêu đề (thường được tổ chức trong bố trí) từ bên trong quan điểm mà không cần áp dụng hacks xấu xí (tức là người đứng đầu * / inlineScript xem người giúp đỡ).

Khi lần, tôi đã tìm thấy sự cần thiết để sửa đổi thẻ <body>, ví dụ như thêm một onload , lớp học, hoặc phong cách thuộc tính vv Tôi cũng được yêu cầu để có thể thực hiện điều này từ bên trong người giúp đỡ xem khác. Hãy ví dụ này contrived sau đây ...

Trên trang web X, các trang nhất định bao gồm các những dojo hình thức tiêu chuẩn . Những tính năng của. Những hình thức võ đường được tổ chức trong vòng những người giúp đỡ xem cho tiện lợi. Nói chung nó đã được quyết định không bao gồm các lớp học võ đường CSS trong thẻ cơ thể và chỉ thêm chúng khi cần thiết. Có thể có một số người giúp đỡ xem trên trang cần thêm các thuộc tính riêng của họ để các từ khóa cơ thể. (Tôi nói nó là giả tạo)

Mã có sẵn trong kho GIT githubtrang demo .
Tiếp tục đọc 'Zend Framework Body Tag Xem Helper' »

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
 lớp DecisionMaker {
     private $ _dp;
     xây dựng chức năng công cộng __ (dp) {
         $ This-> _dp = $ dp;
     }
     chức năng công cộng makeDecision (mảng $ tham số) {
         $ ParameterScore = $ this-> _dp-> getScore (tham 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 '»

Naked Zend_Layout và Zend_View

, Thứ Ba 10 Tháng 8, 2010 23:47

Trong bài viết này, tôi nhìn vào cách sử dụng Zend_Layout và Zend_View cùng với một bộ điều khiển phía trước đơn giản để hiển thị như thế nào nó có thể bắt đầu tách logic kinh doanh và trình bày trong ứng dụng của bạn. Tất cả các mã có sẵn trên github:
Naked Zend_Layout và Zend_View trên GitHub .

Tiếp tục Zend_Layout Naked và Zend_View đọc »

Zend Framework mỗi Cài đặt Giao diện module -

, thứ Ba 16 tháng 2 năm 2010 20:48

Là một theo dõi bài viết trước đây của tôi trên mỗi mô-đun cài đặt bố trí dựa trên Zend Framework , tôi đã cập nhật các mã để yêu cầu cấu hình ít hơn sau đó trước đây (không phải là nó đòi hỏi rằng một vài dòng trong cấu hình ứng dụng của bạn!).
Tiếp tục đọc 'Zend Framework mỗi Cài đặt Giao diện module - Thực hiện theo Up' »

Tạo URL trong Zend Custom View Helper

, Thứ Năm 28 Tháng 1 2010 11:01

Điều này có vẻ đơn giản, nhưng tôi đã đập đầu tôi cố gắng để tạo ra một URL trong một helper xem tùy chỉnh trong Zend Framework . Tôi đã định tuyến thiết lập được các mô-đun từ các miền phụ được sử dụng vì vậy tôi không thể sử dụng một URL đơn giản hardcoded.

Tiếp tục Tạo URL trong Zend Custom View Helper 'đọc »

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 .

Zend Framework Per-Module dựa trên thiết lập

Bình luận (8)
, Thứ Sáu ngày 1 Tháng 1 2010 22:40

Tôi đã tạo ra một followup bài đăng này đòi hỏi cấu hình ít hơn, xin vui lòng xem Giao diện dựa trên module - Zend Framework .

Khi sử dụng khuôn khổ zend với các mô-đun, rằng nếu bạn đang chạy khác nhau (phụ) các trang web off cùng một ứng dụng, bạn không nhất thiết muốn cùng một kịch bản bố trí cho từng phần rõ ràng của nó . Tôi quyết định đi với cấu trúc trang web sau đây:

  / Ứng dụng
     / Bộ điều khiển
         ...
     / Mô hình
     / Modules
         / Mặc định
             / Bộ điều khiển
             / Bố trí
                 / Scripts
             / Views
                 / Scripts
         / AnotherModule
             ...
     / Scripts

Vấn đề đã được thiết lập các kịch bản bố trí trên một cơ sở cho mỗi mô-đun. Câu trả lời đến thông qua việc sử dụng một người trợ giúp hành động. Thiết lập bố trí trên một cơ sở cho mỗi mô-đun bao gồm ba bước:

  1. Application.ini (hoặc tương tự thiết lập cấu hình):
     admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / layouts / scripts" default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / layouts / scripts" member.resources.layout.layoutPath = APPLICATION_PATH / modules / thành viên / layouts / scripts "affiliate.resources.layout.layoutPath = APPLICATION_PATH" / modules / liên kết / layouts / scripts " 
  2. Tạo người trợ giúp hành động của bạn:
      <? Php
     / **
      * Thiết lập đường dẫn bố trí trên một cơ sở cho mỗi mô-đun
      *
      * @ Tác giả Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Kể từ 2010/01/01
      * /
     lớp Pro_Controller_Action_Helper_SetLayoutPath
         mở rộng Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Bộ bố trí đường dẫn dựa trên mô-đun
          * /
         public function preDispatch ()
         {
        	 $ Module = $ this-> getRequest () -> getModuleName ();
    
    	     nếu ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg (bootstrap ')) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ mô-đun] ['nguồn lực'] ['bố trí'] ['layoutPath'])) {
    	             $ LayoutPath =
    	                  $ Config [Module] ['nguồn lực'] ['bố trí'] ['layoutPath'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ('bố trí')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Và cuối cùng boostrap các helper hành động:
      ...
         / **
          * Thiết lập các kịch bản bố trí trên một cơ sở cho mỗi mô-đun
          * /
         bảo vệ chức năng _initLayoutHelper ()
    	 {
    	     $ This-> tải và khởi động hệ điều hành ('frontController);
    	     Bố trí = Zend_Controller_Action_HelperBroker :: addHelper (
    	         mới Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

Zend Framework: Nguyên tắc cơ bản - Đánh giá

, Thứ Bảy 28 Tháng 11 2009 22:42

Người sử dụng lao động của tôi gần đây đã trả tiền cho một nhóm các nhà phát triển chúng tôi để có những Zend Framework: khóa học cơ bản , ở đây tôi sẽ tóm tắt những suy nghĩ và ý kiến của tôi về các khóa học cho những người khác. Đối với những người tìm kiếm để tiết kiệm thời gian, đây là bản tóm tắt của tôi:

Đối với các nhà phát triển đã không có thời gian để nhìn vào Zend Framework khóa học này (Zend Framework: Nguyên tắc cơ bản) cung cấp một bức tranh tổng thể của khuôn khổ giới thiệu bạn đến các khu vực trọng điểm và đưa ra đủ thông tin để tiếp tục. Đối với những người đã dành thời gian nhìn vào khuôn khổ và theo một hoặc hai hướng dẫn khóa học này không cung cấp nhiều hơn thế nữa.

Bối cảnh

Tôi đã được một PHP phát triển trong khoảng 5-6 năm, và đã bắt đầu làm việc với Zend Framework trên cơ sở thành phần trong 6 tháng qua. Tôi đã phát triển và / hoặc là một nhà phát triển trên một vài nhỏ Zend Framework MVC sites. tôi sẽ trung thực, tôi đã không có một lượng lớn các tiếp xúc với các khuôn khổ khác từ một mã hóa nhưng đã dành một số giờ nghiên cứu các trang web dự án và đánh giá them. khuôn khổ và cộng đồng xung quanh Zend Framework nó là khá thú vị và hình như vẫn có khả năng rất lớn trong nơi của nó đi.

Giới thiệu về các khóa học

Khóa học được cung cấp trên 9 hai giờ WebEx phiên (với một break 10 phút ở giữa). Thời gian là chi tiêu sẽ thông qua một tập hợp các slide được cung cấp bởi Zend với cuộc thảo luận bất cứ lúc nào. Bạn có thể sử dụng một micro để nói chuyện với người hướng dẫn, nhưng phải trung thực tôi không thấy bất cứ ai sử dụng bất cứ điều gì nhiều hơn so với các cửa sổ chat. Ngoài ra một máy VMWare Ubuntu được cung cấp có mã ví dụ, dự án thiết lập một phiên bản dùng thử của Zend Studio. Các khóa học nói nhà lãnh đạo tham dự hoặc qua một giải pháp tích hợp VoIP, hoặc bạn có thể quay số bằng cách sử dụng một trong quay số trên toàn thế giới trong số.

Trong khóa học, vật liệu bao gồm một tổng quan về các Framework và mô hình MVC trước khi đi vào một ứng dụng mẫu lưu bút. Các cuộc thảo luận đã chứng minh bootstrapping, Zend_Application, Db Bàn, truy cập cơ sở dữ liệu, hình thức, Filtering, ACL, Members, vv, vv Về cơ bản bao gồm tất cả các chủ đề bạn muốn yêu cầu để có được một trang web cơ bản lên một thời gian chạy tất cả các bạn những công cụ để đi và được nâng cao hơn trong khuôn khổ (mặc dù điều này đã làm số tiền 'Xem trang web nhiều thời gian).

Thời gian được đưa ra để mã lên một số ví dụ, và phát triển của lưu bút và ứng dụng đơn giản "wiki". Cá nhân tôi cảm thấy rằng việc cung cấp mã hoặc từng ứng dụng và sau đó yêu cầu chúng tôi phát triển bản chất là một bản sao bên cạnh đã không thực sự cung cấp một kinh nghiệm học tập tốt. Tôi đã có thể ưa thích để phát triển một ứng dụng tương tự, nhưng không giống nhau. ứng dụng ví dụ với lợi ích của việc có một hướng dẫn để tham khảo. Ngoài ra xây dựng các ứng dụng từ đầu với người biểu tình sẽ có thể dẫn đến câu hỏi về lý do tại saolàm thế nào, do đó đưa ra một sự hiểu biết tốt hơn về khuôn khổ, sau khi tất cả các bạn có thể tìm kiếm các chi tiết cụ thể sau khóa học.

Các bài giảng cuối cùng bao gồm làm việc trên các ứng dụng wiki với sự giúp đỡ / hướng dẫn từ người hướng dẫn. Sau khi các thông tin phản hồi của khóa học đã được chụp, nó đã được nhấn mạnh nhiều lần thông qua các khóa học Zend có phản hồi rất nghiêm túc, trên thực tế dường như phiên bản của chúng tôi tất nhiên là khá mới. Một số các nhà phát triển khác trong công ty sẽ được tham gia khóa học sớm, vì vậy nó sẽ được thú vị để xem nếu điều này đã xảy ra.

Phong cách khóa học chính thức, cho phép thông tin phản hồi và hợp tác giữa người tham dự và hướng dẫn. Các nhà lãnh đạo khóa học thân thiện, tiếp cận (địa chỉ email đã được chia sẻ cho các câu hỏi), và trong khi thuyết trình của mình từ các trang trình bày là một chút run rẩy coi như hoàn toàn có thẩm quyền trong khuôn khổ. Ông rõ ràng là một người sử dụng khuôn khổ một cách thường xuyên hơn là những người được dạy để dạy các khóa học, tôi thích kinh nghiệm thực thế giới trong đó tôn trọng.

Nhìn chung Feeling

Trong một số cách tôi tìm thấy quá trình một sự lãng phí thời gian, những người khác nó là rất tiện dụng. Hy vọng rằng tôi sẽ nhận được lý do của tôi trên toàn rõ ràng, và có thể cung cấp một số thực phẩm cho tư tưởng hoặc ý kiến ​​phản hồi hữu ích (biết điều này là không!).

Cho bản thân mình, khóa học này nhằm mục đích ở mức quá thấp. Đã thông qua hướng dẫn QuickStart, đọc Rob Allen của Zend Framework trong hành động, và làm việc với khuôn khổ một chút, tôi đã không thực sự nhận được bất cứ điều gì quá nhiều. Tôi sẽ thích quá trình từ khi kết thúc của QuickStart và phát triển các kỹ năng bổ sung.

Điều đó nói rằng, tên khóa học không ghi rõ "Zend Framework: Nguyên tắc cơ bản" và trong khía cạnh đó, khóa học đạt được những gì nó đặt ra để làm. Các thành viên khác của nhóm phát triển đã không dành thời gian nhìn vào khuôn khổ kết thúc mỗi phiên với sự nhiệt tình và yêu cầu các câu hỏi được thực sự tốt đẹp để xem.

Tất cả đã không bị mất, nó là tốt để dành nhiều thời gian xác nhận các chi tiết cơ bản của khuôn khổ và có thể đưa ra một vài câu hỏi trong lĩnh vực mà tôi không phải 100%. Đây cũng là thời gian mà tôi có ngồi xuống mỗi ngày và suy nghĩ về mã hóa bằng cách sử dụng các dự án khuôn khổ và tương lai, một cái gì đó tôi sẽ không thể làm khác (bạn có thể tưởng tượng công ty của bạn đồng ý với điều đó? :)). Cuối cùng nhưng không ít nhất bạn cũng có được một giấy chứng nhận tốt đẹp từ Zend để nói rằng bạn tham dự khóa học (mặc dù bằng email).

Zend Khung chứng nhận

Đây là một câu hỏi mà đến tâm trí trong suốt khóa học, nó sẽ chuẩn bị cho tôi xác nhận? , Nhanh chóng dễ dàng là một Không vang dội. Hướng dẫn khóa học là khá rõ ràng rằng với những lời khuyên bổ sung xác nhận bạn thực sự nên được sử dụng khuôn khổ một ngày để cơ sở ngày và cảm thấy rất thoải mái và tự tin trong việc sử dụng và phương pháp của nó.

Tóm tắt thông tin

Với tất cả những gì tôi đã viết ở trên, tôi sẽ tóm tắt tất cả mọi thứ trong hai điểm viên đạn dễ dàng:

  • Zend Framework: Khóa học này không chính xác những gì bạn mong đợi, nó mang lại cho bạn một giới thiệu tốt đẹp để các khuôn khổ và nền tảng tốt về những điều cơ bản mà từ đó bạn có thể xây dựng. Khóa học này dường như tạo ra lợi ích và sự nhiệt tình cho các khuôn khổ giữa các nhà phát triển.
  • Được sử dụng Zend Framework: Trong khi nó đã được tốt đẹp để vực dậy một số điều cơ bản rất, tôi cảm thấy thời gian, nỗ lực, và các quỹ để có những khóa học có thể được tốt hơn chi tiêu ở nơi khác. Nó sẽ được tốt đẹp see Zend tạo ra một khóa học cấp cao hơn mới có các nhà phát triển để cấp độ tiếp theo. Ít nhất là tiêu chuẩn chứng nhận và hơn thế nữa Đối với tôi sẽ đăng ký ngay lập tức.












Panorama Theme theo Themocracy

8 trực tuyến tại khách truy cập
5 khách, 3 chương trình, 0 thành viên
Max khách truy cập hôm nay: 19 lúc 01:56 am UTC
Tháng này: 26 2012/04/04 10:27 pm 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