Đăng ký Đăng nhập
Trang chủ Xây dựng module quản lý công tác và phân công công việc cho website quản lý của ...

Tài liệu Xây dựng module quản lý công tác và phân công công việc cho website quản lý của bộ môn mạng & truyền thông – khoa công nghệ thông tin

.PDF
94
217
138

Mô tả:

 LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy cô giáo, gia đình và bạn bè đã động viên giúp đỡ em rất nhiều trong quá trình hoàn thành đề tài này. Đặc biệt em xin bày tỏ lòng cảm ơn sâu sắc tới thầy giáo hướng dẫn Ts. Nguyễn Toàn Thắng về sự chỉ dẫn tận tình và tận tâm hướng dẫn em từ những ý tưởng ban đầu cho đến lúc hoàn thành đề tài này. Em rất mong đón nhận sự đánh giá, bổ sung và những lời chỉ bảo của các thầy cô giúp em có thể tiếp tục nghiên cứu kĩ hơn về lĩnh vực này. Em xin chân thành cảm ơn! Thái Nguyên, tháng 06 năm 2016 Sinh viên thực hiện Nguyễn Đức Dương 1  LỜI CAM ĐOAN Em xin cam đoan đồ án này là công trình tổng hợp và nghiên cứu của cá nhân em, được thực hiện trên cơ sở nghiên cứu lý thuyết, kiến thức dưới sự hướng dẫn tận tình của thầy giáo Ts. Nguyễn Toàn Thắng. Trong đồ án có sử dụng một số tài liệu tham khảo như đã nêu trong phần tài liệu tham khảo. Thái Nguyên, tháng 06 năm 2016 Sinh viên thực hiện Nguyễn Đức Dương 2  MỤC LỤC MỤC LỤC 4 DANH MỤC HÌNH ẢNH LỜI NÓI ĐẦU 7 9 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 10 1.1. Giới thiệu chung 10 1.1.1. Laravel là gì 10 1.1.2. Lịch sử phát triển của Laravel 10 1.2. Tổng quan cấu trúc ứng dụng 13 1.2.1. Nội dung thư mục gốc 13 1.2.2. Nội dung thư mục app 14 1.3. Ưu nhược điểm 14 1.3.1. Ưu điểm 14 1.3.2. Nhược điểm 15 1.4. Điểm mới ở Laravel 5 16 1.4.1. Laravel 5 và cấu trúc thư mục 16 1.4.2. Thay đổi về template engine Blade 17 1.4.3. Các khái niệm về Contracts , Commands và Events 1.4.4. Hàm hỗ trợ Helpers 17 1.4.5. Định tuyến Routes 18 3 17 1.4.6. Controller Method Injection – Bộ điểu khiển theo phương thức chia nhỏ 18 1.4.7. Authentication Scaffolding – chứng thực khung 19 1.4.8. Tính giao thiệp Socialite 1.4.9. Hệ thống Flysystem 19 19 1.4.10. dotenv – Environmental Detection – phát hiện môi trường 20 1.4.11. Form Requests – mẫu yêu cầu 20 1.4.12. Laravel Scheduler – laravel lịch trình 1.4.13. Hàm dd mới 20 21 1.4.14. Tính năng Eloquent Attribute Casting 21 1.4.15. Bỏ trang báo lỗi Whoops và Các lệnh generator mới 1.5. Lựa chọn Laravel 22 22 CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ 25 2.1. Khảo sát thực tế 25 2.1.1. Giới thiệu chung về bộ môn Mạng và Truyền thông 2.1.2. Hiện trạng 26 2.1.3. Các biểu mẫu 27 2.1.4. Nhu cầu có một trang web thay thế. 30 2.1.5. Phân tích yêu cầu đề tài 30 2.2. Thiết kế hệ thống 31 2.2.1. Biểu đồ ca sử dụng (UseCase Diagram) 4 31 25 2.2.2. Biểu đồ lớp (Class Diagram) 35 2.2.3. Biểu đồ trình tự (Sequence Diagram) 40 CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH 3.1. Xây dựng và cài đặt chương trình 47 47 3.1.1. Cài đặt webserver (không bắt buộc) 47 3.1.2. Cài đặt composer 50 3.1.3. Tích hợp module vào hệ thống51 3.2. Demo chương trình 62 KẾT LUẬN 69 TÀI LIỆU THAM KHẢO 71 NHẬN XÉT CỦA GIÁO VIÊN72 5  DANH MỤC HÌNH ẢNH Hình 1. Biểu đồ cho thấy mức độ yêu thích phổ biến và hiệu suất làm việc 23 Hình 2. Bản dữ liệu đầu vào đối với loại nhiệm vụ lịch thi 27 Hình 3. Bản dữ liệu đầu vào đối với loại nhiệm vụ lịch thi kiểm tra thi giữa kỳ 28 Hình 4. Kết quả thực hiện kế hoạch công tác28 Hình 5. Danh sách công việc 29 Hình 6. Danh sách nhiệm vụ 29 Hình 7. Biểu đồ usecase tổng quan hệ thống 33 Hình 8. Bản vẽ sơ bộ Class Diagram khi phân tích các Use Case 36 Hình 9. Bản vẽ Class Diagram sau khi thêm thuộc tính , tách các quan hệ và đặc tả thuộc tính 37 Hình 10. Biểu đồ lớp chi tiết 39 Hình 11. Biểu đồ trình tự chức năng thêm công việc 41 Hình 12. Biểu đồ trình tự chức năng phân công công việc42 Hình 13. Biểu đồ trình tự chức năng tìm kiếm lọc thông tin công việc 43 Hình 14. Biểu đồ trình tự chức năng đồng bộ dữ liệu lên google calendar 44 Hình 15. Biểu đồ trình tự chức năng gửi mail Hình 16. Cài đặt xampp bước 1 47 6 46 Hình 17. Cài đặt xampp bước 2 48 Hình 18. Cài đặt xampp bước 3 49 Hình 19. Thêm đường dẫn trong path 50 Hình 20. Giao diện đăng nhập quản trị 62 Hình 21. Giao diện quản lý gửi và nhập dữ liệu, giao diện chọn loại 62 Hình 22. Giao diện quản lý gửi và nhập dữ liệu, loại công việc là lịch thi 63 Hình 23. Giao diện quản lý gửi và nhập dữ liệu, loại công việc không phải là lịch thi bước 1 63 Hình 24. Giao diện quản lý gửi và nhập dữ liệu, loại công việc không phải là lịch thi bước 2 64 Hình 25. Giao diện danh sách dữ liệu được gửi lên 64 Hình 26. Giao diện quản lý phân công, danh sách công việc 65 Hình 27. Giao diện quản lý phân công, danh sách nhiệm vụ công việc 65 Hình 28. Giao diện quản lý phân công, thay đổi số người tham gia 66 Hình 29. Giao diện quản lý phân công, phân công và thay đổi phân công công việc 66 Hình 30. Giao diện quản lý phân công, thay đổi thời gian thực hiện công việc về công việc thực hiện trong ngày. 67 Hình 31. Giao diện quản lý phân công, thay đổi thời gian thực hiện công việc về công việc thực hiện dài ngày 67 Hình 32. Giao diện quản lý phân công, gửi mail cho giảng viên 68 7 Hình 33. Giao diện quản lý phân công, lịch làm việc 8 68  LỜI NÓI ĐẦU Ngày nay Internet đã trở thành dịch vụ phổ biến và thiết yếu, không thể thiếu. Cùng với sự phát triển nhanh chóng của Internet thì các hình thức quản lý các thông tin cũng ngày càng đa dạng và phát triển hơn. Tại bộ môn hiện nay, việc quản lý công việc có nhiều bất cập do hầu hếu các tài liệu và thông tin được lưu và quản lý bằng Excel… Việc thống kê cũng như theo dõi công việc cũng như lịch làm việc của giảng viên gặp rất nhiều khó khăn. Trong kế hoạch phát triển của bộ môn đã đặt ra nhiệm vụ phải xây dựng một hệ thống quản lý trên nền web để hỗ trợ các công việc quản lý của bộ môn. Website quản lý này bao gồm bốn module chính: module quản lý công tác và phân công công việc; module quản lý thực tập; module quản lý đào tạo; module thông tin. Đề tài của đồ án là module thứ nhất trong hệ thống quản lý của bộ môn. Mục tiêu của đồ án là xây dựng module quản lý công tác và phân công công việc cho website quản lý của bộ môn mạng & truyền thông – khoa công nghệ thông tin sử dụng Laravel Framework. Dự kiến kết quả đạt được: module quản lý nhiệm vụ cho bộ môn thực hiện được các chức năng cơ bản: Nhập xuất dữ liệu công tác nhận được từ văn phòng khoa; Hỗ trợ quản lý phân công nhiệm vụ; Gửi thông báo cho giảng viên liên quan; Tích hợp với google calendar. Nội dung báo cáo bao gồm các phần như sau: Chương 1: Cơ sở lý thuyết Chương 2: Khảo sát và phân tích thiết kế Chương 3: Xây dựng chương trình Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng chắc rằng khó tránh khỏi thiếu sót. Em rất mong nhận được sự thông cảm, những lời góp ý và chỉ bảo tận tình của quý Thầy Cô và các bạn. 9  CƠ SỞ LÝ THUYẾT  Giới thiệu chung  Laravel là gì Laravel là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiếm trúc Model-View-Controller (MVC). Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng , một hệ thống đóng gói modular (khối kết cấu) và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng. Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 vào một số khác. Trước đó, Tháng 8 2014, Laravel đã trở thành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github. Laravel được phát hành theo giấy phép MIT (Giấy phép MIT là một loại giấy phép sử dụng cho các phần mềm, các mã nguồn mở được phát triển dựa trên một loại giấy phép có nguồn gốc tại Viện Công nghệ Massachusetts), với source code được lưu trữ tại Github (Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay). 10  Lịch sử phát triển của Laravel Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền. Tôi cũng không chắc về điều này, nhưng có thể Taylor vốn là một .NET developer khi bắt đầu có nhu cầu làm việc với PHP khoảng vào những năm 2010-2011, đã chọn CodeIgniter khi đó đang là một ngôi sao mới nổi, thậm chí lấn át cả Symfony gạo cội. Và Taylor nhanh chóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với tài năng và kiến thức xuất sắc về design-pattern của mình, Taylor quyết định tự mình tạo ra một framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện thực ý tưởng một cách nhanh nhất bằng nhiều tính năng hỗ trợ như Eloquent ORM (Object Relational Mapping - kỹ thuật chuyển đổi dữ liệu giữa các hệ thống khác không phải là mô hình hướng đối tượng sang các đối tượng trong ngôn ngữ lập trình hướng đối tượng) mạnh mẽ, xác thực đơn giản, phân trang hiệu quả, và hơn thế nữa. Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là Laravel 1 phát hành trong cùng tháng. Laravel 1 bao gồm các tính năng như xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác, nhưng vẫn còn thiếu controller, điều này làm nó chưa thật sự là một MVC framework đúng nghĩa. Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ tác giả và cộng đồng. Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực sự biến Laravel 2 thành một MVC framework hoàn chỉnh, hỗ trợ Inversion of Control (IoC – kiểm soát ngược), hệ thống template Blade. Bên cạnh đó, có một nhược điểm là hỗ trợ cho các gói của nhà phát triển 11 bên thứ 3 bị gỡ bỏ. Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới bao gồm giao diện dòng lệnh (CLI- Command-line interface giao diện dòng lệnh) tên “Artisan” (nghệ nhân), hỗ trợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration (di trú), hỗ trợ “bắt sự kiện” trong ứng dụng, và hệ thống quản lý gói gọi là “Bundles” (bó). Lượng người dùng và sự phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3. Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013. Lần này thực sự là sự lột xác của Laravel framework, di chuyển và tái cấu trúc các gói hỗ trợ vào một tập được phân phối thông qua Composer (phần mềm soan thảo lệnh theo CLI), một chương trình quản lý gói thư viện phụ thuộc độc lập của PHP. Bố trí mới như vậy giúp khả năng mở rộng của Laravel 4 tốt hơn nhiều so với các phiên bản trước. Ra mắt lịch phát hành chính thức mỗi sáu tháng một phiên bản nâng cấp nhỏ. các tính năng khác trong Laravel 4 bao gồm tạo và thêm dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ “xóa mềm” (soft-delete: record bị lọc khỏi các truy vấn từ Eloquent mà không thực sự xóa hẳn khỏi DB). Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3. Bên cạnh một loạt tính năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư mục nội bộ cho phát triển ứng dụng mới. Những tính năng mới của Laravel 5 bao gồm hộ trợ lập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là “Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch vụ Amazone S3, cải tiến quản lý assets 12 thông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với các dịch vụ bên ngoài bằng gói “Socialite”. Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận được hỗ trợ dài hạn (LTS “Long Term Support" - có nghĩa là "Hỗ trợ dài hạn") với một kết hoạch sửa lỗi (fix bug) lên tới 2 năm vào hỗ trợ vá lỗi bảo mật lên tới 3 năm. Các bản phát hành LTS của Laravel được lên kế hoạch theo mỗi 2 năm.  Tổng quan cấu trúc ứng dụng  Nội dung thư mục gốc Tại thư mục gốc của Laravel chứa tệp cấu hình của Composer, các thông tin về framework, thư mục chứa cấu hình môi trường, các tập tin công khai, mã ứng dựng và thư mục với tất cả các gói được cài đặt bao gồm cả gói làm nên Laravel framework. Bảng 2.1. Mô tả các tệp và thư mục trong thư mục gốc của laravel Tệp/Thư mục /app Mục đích Chứa mã ứng dụng Chứa đường dẫn thư mục Laravel Framework, các tập /bootstrap tin được biên dịch và cấu hình môi trường ứng dụng. Đây là thư mục công khai. nó sẽ chứa CSS, Javascript và các file và thư mục khác sẽ cho phép /public truy cập bởi người sử dụng ứng dụng. Chứa các gói của bên thứ 3 và các gói làm nên Laravel Framework được cài đặt trong thư mục /vendor này. Đây là tập tin cấu hình Composer chứa danh sách các gói mà ứng dụng sử dụng, phiên bản cài đặt composer.json cho mỗi gói và thiết lập tính ổn định Chứa hướng dẫn đóng góp vào Laravel CONTRIBUTING.md Framework Cung cấp thông tin chung về Laravel và các liên kết tới readme.md tài liệu, các yêu cầu và giấy phép của ứng dụng. Laravel có một lệnh đặc biệt chạy ứng dụng hiện tại trên máy chủ PHP của hệ thống. Tệp này giúp server.php cho chức năng đó. 13 Cung cấp tích hợp trong giao diện dòng lệnh của Laravel, giúp nhà phát triển có thể tăng tốc công việc. Tệp cấu hình cho PHPUnit bộ môn công cụng kiểm tra. artisan phpunit.xml  Nội dung thư mục app Khi xây dựng một ứng dụng với Laravel, các định tuyến, các bộ lọc định tuyến, cấu hình thiết lập khác và di trú cơ sở dữ liệu cho ứng dụng sẽ nằm trong thư mục này. Bảng 2.2. Mô tả các tệp và thư mục trong thư mục app của laravel Tệp/Thư Mục đích mục /models Chứa các lớp đại diện cho các mô hình dữ liệu /views Chứa các bản mẫu cho views và bố cục của view /controller Chứa các controllers của ứng dụng /config /database /lang Cài đặt các ứng dụng cụ thể như thông tin cơ sở dữ liệu, thiết đặt trình điều khiển phiên và các bộ đệm. Dữ liệu mẫu và di trú cơ sở dữ liệu Chuỗi ngôn ngữ cho validation, pagination và các email nhắc nhở /commands Các lớp tùy biến bao gồm các lệnh Artisan /storage Bộ đệm, phiên tạm thời và các views được biên dịch /start Các file hỗ trợ điều chỉnh lỗi và chế độ bảo trì ứng dụng /test Bộ môn kiểm tra của ứng dụng filter.php Logic và định nghĩa các bộ lọc sử dụng trong ứng dụng routes.php Danh sách đầu cuối được đăng ký của ứng dụng  Ưu nhược điểm 14  Ưu điểm  Laravel, sử dụng Blade Template Engine. Rất nhẹ nhàng và hữu dụng. Chỉ cần có 1 trang master template (template sườn) sẽ được sử dụng và kế thừa từ các file template con.  Laravel hỗ trợ nhiều cách viết để ngắn gọn nhất có thể và nhiều cách viết khác nhau như Fluent Query Builder (trình tạo truy vấn) và Eloquent (tài hùng biện). Cực kỳ ngắn gọn – dễ quản lý và hữu dụng. Hỗ trợ sẵn các hàm để tìm dữ liệu , nạp dữ liệu, đếm dòng , … Laravel hỗ trợ tương tác với cơ sở dữ liệu như tạo cơ sở dữ liệu, tạo bảng, chỉnh sửa bảng, insert dữ liệu… thông qua Schema Builder (trình tạo giản đồ).  Route trong Laravel, có thể nhóm các rule (quy định) lại với nhau, các rule con nằm trong rule mẹ sẽ chịu ảnh hưởng. Ví dụ: Route::group(array(‘before’=>’auth’),function(){ Route::get(‘admin/contacts’,’AdminController@contacts’); Route::get(‘admin/deletessh’,’AdminController@deletessh’); Route::post(‘admin/deletessh’,’AdminController@dodel’); Route::get(‘admin/viewcontact/ {id}’,’AdminController@viewcontact’); } Có thể thấy các rule con bên trong trước khi được thực thi sẽ phải chạy qua rule mẹ để kiểm tra, nếu thỏa mãn mới thực thi.  Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Github nên dễ dàng tìm kiếm và lấy code.  Nhược điểm  Laravel chưa có nhiều tài liệu tiếng việt nên gặp rất nhiều khó khan 15 trong việc học hỏi và tìm kiếm code, tìm kiếm cách sửa lỗi khi có lỗi sảy ra trong quá trình code.  Laravel thực hiện điều hướng hoàn toàn qua route. Tại đây người lập trình có thể làm tất cả các việc mà ngay cả Models và Controller đảm nhận theo mô hình MVC rất tiện bên cạnh đó khi đưa vào làm việc nhóm rất có khả năng sảy ra tranh trấp Laravel , khi có lỗi sảy ra ở route thì toàn bộ hệ thống sẽ bị lỗi và ngừng hoạt động.  Điểm mới ở Laravel 5 Taylor Otwell đã nói rằng Laravel 4.3 có thể đổi tên thành Laravel 5 để phản ánh việc thay đổi cấu trúc thư mục và "những sáng kiến thú vị khác". Đã có khoảng gần 20 tính năng mới được giới thiệu kể từ khi có thông báo Laravel 5 và "những sáng sáng kiến thú vị" đã được phát triển. Rất nhiều những bài viết hướng dẫn nâng cấp version chờ Laravel 5 ra mắt. Nhiều những tổ chức, công ty kiên nhẫn sử dụng tạm các developbranch (GIT - nd) để chờ Laravel 5 ra mắt. Laravel 5 sẽ ra mắt với rất nhiều nâng cấp mới, những tính năng mới nhưng đồng thời lại vẫn giữ được những yếu tố mà đã tạo nên sự thành công của Laravel. Thực tế là nó nhiều tính năng mới đến nỗi việc theo dõi xem nó có gì mới cũng rất mệt. Sơ qua một số tính năng mới và những gì được mong chờ ở laravel 5.  Laravel 5 và cấu trúc thư mục Sự thay đổi quan trọng đầu tiên của phiên bản này đó cấu trúc thư mục. Có một số thay đổi nhỏ trong thư mục app và một số thay đổi ở bên ngoài nó nữa. Bao gồm sự thay đổi về config, database, storage và resources. 16 Bên trong thư mục app sẽ được chia nhỏ thành các thư mục:  Commands  Console  Events  Exceptions  Handlers  Http  Providers  Services  Thay đổi về template engine Blade Blade (lớp cắt) không nhận được nhiều sự cải tiến nhưng lại có một sự nâng cấp khá giá trị. Trong Laravel 4, Blade sử dụng phong cách {{ và {{{. Ngoặc kép là phép echo thuần, và ngoặc ba là phép echo có filter (lọc). Bây giờ thì cả hai loại ngoặc trên quy về sử dụng một phong cách duy nhất là {!! $var !!}. Một trường hợp sử dụng phổ biến cho các hàm helper của lớp Form: {!! Form::open() !!}  Các khái niệm về Contracts , Commands và Events Contracts là một tập các interfaces (giao diện) mà định nghĩa các core services (dịch vụ cốt lõi) được cung cấp bởi framework. Về cơ bản thì nó được dùng để mô tả các đặc điểm của framework. Commands (lệnh) và Events (sự kiện) đã được làm lại. 17  Hàm hỗ trợ Helpers Một số hàm helper đã bị thay thế bởi các hàm khác phổ biến hơn. Ví dụ, để render (biểu diễn) một view trong Laravel 4 cần gọi lệnh: View::make('path.to.view'); Ở Laravel 5 chỉ cần gọi lệnh: view('path.to.view'); Một vài các hàm khác mà laravel 5 đưa ra:  abort()  action()  app()  app_path()  asset()  Routing – get(), delete(), put()  back()  redirect()  response()  ...  Định tuyến Routes Routes có hai tính năng mới. Đó là Route caching và middlewares. Route caching Cũng không có gì nhiều để sử dụng tính năng này, một cách trung thực. Có một Artisan lệnh mới, route:cache , mà sắp xếp các điều hướng trong tập tin routes.php - nó thực hiện các hoạt động của phân tích các tuyến đường một lần và sau đó lưu trữ những kết quả. 18 Khi các route đang được phân tích từ các tập tin lưu trữ, khôn thực hiện route tập tin. Khi đó có thể làm cho tất cả những thay đổi đối với routes.php và định tuyến các ứng dụng sẽ không thay đổi cho đến khi lưu trữ cache. Middleware (trung gian) trung gian là một loạt các hàm bao xung quanh ứng dụng để trang trí theo yêu cầu và các phản hồi theo một cách nào đó mà không phải là một phần của logic ứng dụng.  Controller Method Injection – Bộ điểu khiển theo phương thức chia nhỏ Laravel 4 đã hỗ trợ injection trong constructor của controller. Trong Laravel 5, tính năng này đã tiến một bước xa hơn. Có thể injection được mọi dependencies (phụ thuộc) trong các phương thức: public function store(Request $request) hoặc public function taxes(TaxCalculator $tax)  Authentication Scaffolding – chứng thực khung Luồng authentication (chứng thực) mặc định đã được thiết lập sẵn. Giới thiệu hai hàm chứng thực mới mới:  AuthenticatesAndRegistersUsers  ResetsPasswords Hai hàm này có thể sử dụng để nhúng hoặc ghi đè các phương thức trong đó nhằm tăng tính tùy chỉnh cho ứng dụng. 19  Tính giao thiệp Socialite Tính năng này là một sự tùy chọn, các gói tin của Laravel 5 làm cho việc tương tác với OAuth dễ dàng hơn. Socialite hiện tại hỗ trợ Facebook, Twitter, Google, and GitHub.  Hệ thống Flysystem Một tính năng tuyệt vời khác chính là việc include Flysystem của Frank de Jonge. Flysystem là một tập các lớp trừu tượng của hệ thống file, dễ dàng cho phép tương tác với hệ thống file trên máy tính hoặc hệ thống file từ xa (Amazon S3, Dropbox, Ftp...). Hiện tại đã include các bộ chuyển đổi (adapters) sau:  Local  Amazon Web Services – S3  Rackspace Cloud Files  Dropbox  Copy  Ftp  Sftp (through phpseclib)  Zip (through ZipArchive)  WebDAV (through SabreDAV)  Azure Blob Storage 20
- Xem thêm -

Tài liệu liên quan