CHƯƠNG : CƠ SỞ L LUẬN
1.1. LARAVEL FRAMEWORK 1.1.1. à
Framework là các lớp đã được xây dựng hoàn ch nh, b hung để phát triển các phần mềm ứng dụng. Có thể v Framewor như tập các “ Vật liệu” ở từng l nh vực cho người lập trình viên, thay vì h phải mất nhiều thời gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên ch cần tìm hiểu và khai thác các vật liệu này r i thực hiện để gắn kết chúng lại với nhau, tạo ra sản phẩm.
1.1.2. L à
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 mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu 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 odular và quản lý gói phụ thu c, nhiều cách há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.
1.1.3. Lịch sử ời
ản aravel 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. aravel 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 há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 VC framewor đú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 ể bao g m hỗ trợ controller, điều này thực sự biến
aravel 2 thành m t VC framewor hoàn ch nh, hỗ trợ Inversion of Control (IoC), hệ thống template lade. 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 b n thứ 3 bị g bỏ.
Có thể bạn quan tâm!
- Nghiên cứu Laravel Framework và dịch vụ thanh toán trực tuyến Paypal để xây dựng website thương mại điện tử cho Công ty Green Sale - 1
- B Cục Cơ Bản Của Html Trên Một Trang Web
- Biểu Đồ Trường H P Sử Dụng Của Hệ Th Ng
- Biểu Đồ Cộng T C Đăng Nhập Hệ Th Ng
Xem toàn bộ 72 trang tài liệu này.
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 (C I) t n “Artisan”, 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 igration, hỗ trợ “bắt sự iện” trong ứng dụng, và hệ thống quản l g i g i là “ undles”. ượng người dùng và sự phổ biến tăng trưởng mạnh ể từ phi n bản aravel 3.
Laravel 4, t n mã “Illuminate”, được phát hành vào tháng 5 năm 2013. ần này thực sự là sự l t xác của aravel framewor , 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, m t chương trình quản l g i thư
viện phụ thu c đ c lập của PHP. ố tr mới như vậy giúp hả năng mở r ng của
aravel 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 há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 iểu gởi mail, và hỗ trợ “x a mềm” (soft-delete: record bị l c hỏi các truy vấn từ Eloquent mà h ng thực sự x a hẳn hỏi D ).
Laravel 5 được phát hành trong tháng 2 năm 2015, như m t ết quả thay đổi đáng ể cho việc ết thúc vòng đời n ng cấp aravel l n 4.3. 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, aravel 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 aravel 5 bao g m h trợ lập lịch định ỳ 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 hiể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 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ạng ( TS) với m t ết hoạch 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 TS của aravel được l n ế hoạch theo mỗi 2 năm.
Laravel 5.8 là version mới nhất của aravel.
1.1.4. h h VC à
1.1.4.1.
VC là viết tắt của odel-View-Controller. à m t iến trúc phần mềm hay m hình thiết ế được sử dụng trong thuật phần mềm. N i cho d hiểu, n là m hình ph n bố source code thành 3 phần, mỗi thành phần c nhiệm vụ ri ng biệt và đ c lập với các thành phần hác.
1.1.4.2.
Controller: Giữ nhiệm vụ điều hướng các y u cầu từ người dùng và g i đúng những phương thức xử l chúng Chẳng hạn thành phần này s nhận request từ url và form để thao tác trực tiếp với odel.
odel: Đ y là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử l , truy xuất database, đối tượng m tả dữ liệu như các Class, hàm xử l
View: Đảm nhận việc hiển thị th ng tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images, Hiểu đơn giản thì n là tập hợp các form
hoặc các file HT .
1.1.4.3.
Hình 1.1. Luồng đi trong MVC
hi c m t y u cầu từ ph a client gửi đến Sever, b phận Controller c nhiệm vụ nhận y u cầu, xử l y u cầu đ . Và nếu cần, n s g i đến phần model, vốn là b phận làm việc với database.
Sau hi xử l xong, toàn b ết quả được đẩy về phần View. Tại View, s gen ra mã HT tạo n n giao diện, và trả toàn b html về trình duyệt để hiển thị.
1.1.5. Ư hư c ểm
1.1.5.1. Sử dụ c c tí ă ới nhất của PHP
t trong những t nh năng làm cho PHP ararel framewor trở n n nổi bật hơn tất cả đ là n sử dụng tất cả các t nh năng mới của PHP. Các framework khác không tận dụng được điểu này. Sử dụng aravel 5 bạn s sở hữu m t số t nh năng mới nhất mà PHP cung cấp, đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax. Đã c rất nhiều b C S nổi bật được viết tr n nền
aravel framewor ra đời, từ những b C S đơn giản nhất đến những b "si u mạnh", từ mã ngu n mở đến thương mại.
1.1.5.2. Tài li u tuy t vời
Tài liệu của aravel rất th n thiện với nhà phát triển. Tất cả các phi n bản của
aravel được phát hành cùng với các tài liệu phù hợp, bạn s tìm thấy những giải th ch chi tiết về coding style, methods và classes.
1.1.5.3. Tích hợp với dịch vụ mail
Các ứng dụng web bắt bu c phải th ng báo cho người dùng về các deal và offer mới. Đăng người dùng mới cũng rất quan tr ng (ngh a là th ng báo cho người dùng mới hi anh ấy/ c ấy đăng ). Framewor được trang bị API sạch tr n thư viện SwiftMailer. Và có các driver cho SMTP, Mailgun, SparkPost, Mandrill, PHP's "mail" function, Amazon SES, và "sendmail" giúp bạn gửi thư qua các dịch vụ dựa tr n đám m y hoặc dịch vụ local.
1.1.5.4. Hỗ trợ cache backend phổ biến
aravel framewor hỗ trợ các cache bac end như emcached và Redis out-of- the-box. ạn cũng c thể tùy ch nh nhiều cấu hình cache.
1.1.5.5. Công cụ tích hợp cho dòng l nh - Artisan
Các nhà phát triển thường thấy tẻ nhạt hi thực hiện các nhiệm vụ lập trình lặp đi lặp lại vì chúng rất tốn thời gian. C ng cụ dòng lệnh c t n Artisan giúp h tạo hung code và quản l hệ thống cơ sở dữ liệu hiệu quả. Artisan giúp tạo các tệp VC cơ bản và quản l tài sản, bao g m cả các cấu hình tương ứng của chúng.
1.1.5.6. Gói và ngu n lực sẵn có
ạn s được hưởng lợi ch từ npm pac age và bower pac age bằng cách ết hợp framewor với Gulp và elixir, giúp trong việc sửa đổi tài nguy n. Việc t ch hợp này s giải quyết các phụ thu c và là ngu n g i đáng tin cậy nhất trong thế giới PHP.
1.1.5.7. Giảm chu kỳ phát triển sản phẩm
ạn c thể giảm đáng ể chu ỳ phát triển sản phẩm vì framwor giúp t ch hợp nhanh hơn, b n cạnh đ là c ng đ ng hỗ trợ rất lớn - Laracasts.
1.1.5.8. Container IoC
Còn được g i là Inversion of Control, đ y là m t phương thức để tạo các đối tượng mới mà h ng phải hởi đ ng bất ỳ thư viện b n ngoài nào. N i cách hác, bạn c thể truy cập các đối tượng này từ bất cứ nơi nào bạn đang mã h a, bạn s h ng còn gặp h hăn với các cấu trúc nguy n hối h ng linh hoạt.
1.1.5.9. Reverse Routing
Đ y là m t t nh năng rất hữu ch trong framwor , bạn c thể tạo li n ết đến các route được đặt t n. Vì vậy, hi tạo các li n ết, bạn ch cần sử dụng t n của b định tuyến, framewor s tự đ ng chèn UR ch nh xác. Nếu bạn cần thay đổi các route trong tương lai, những thay đổi s tự đ ng được thực hiện ở m i nơi.
1.1.5.10. Eloquent ORM
Đ y là m t trong những t nh năng tốt nhất của aravel, cung cấp m t triển hai ActiveRecord đơn giản và hiệu quả, làm việc với cơ sở dữ liệu. Các m hình bạn tạo trong VC s c m t bảng tương ứng trong cơ sở dữ liệu. OR c các mối quan hệ, nếu bạn thao tác m t bảng trong cơ sở dữ liệu, bạn cũng s quản l các dữ liệu li n quan. Các mối quan hệ đ là: one-to-one, one-to-many, many-to-many, has-many- through, polymorphic, và many-to-many polymorphic.
1.2. MICROSOFT SQL SERVER 1.2.1. h
Microsoft SQL Server là hệ quản trị cơ sở dữ liệu (CSD ) quan hệ do hãng
icrosoft phát triển sử dụng ng n ngữ truy vấn Transact-SQ (T-SQ ) để trao đổi dữ liệu giữa máy hách (Client) và máy chủ (Server) – hình Client Server.
Hiện nay, S SQ Server ch chạy tr n hệ điều hành windows của icrosoft. Nhưng việc ết nối đến S SQ Server c thể thực hiện từ các hệ điều hành hác nhau dựa tr n thư viện mà các nhà phát triển cung cấp.
1.2.2. Lịch sử phát triển
Năm 1974, phi n bản cơ sở dữ liệu quan hệ phi thương mại, h ng hỗ trợ SQ đầu ti n được phát triển.
Năm 1978, hởi đầu thử nghiệm phương pháp tại m t cơ sở của hách hàng. Cu c thử nghiệm đã chứng minh được sự c ch và t nh thực ti n của hệ thống. Chứng tỏ sự thành c ng của I .
Dựa vào ết quả đ , I bắt đầu phát triển các sản phẩm thương mại bổ sung th m SQ dựa tr n nguy n mẫu Hệ thống R bao g m:
System/38 (Hệ thống/38) (được c ng bố năm 1978 và được thương mại h a tháng 8 năm 1979)
SQ /DS (được giới thiệu vào năm 1981)
D 2 (năm 1983).
1.2.3. C hà h hầ
Các thành cơ bản trong SQ Server g m c : Reporting Services, Database Engine, Integration Services, Notification Services, Full Text Search Service, Tất cả
ết hợp với nhau tạo thành m t giải pháp hoàn ch nh giúp cho việc ph n t ch và lưu trữ dữ liệu trở n n d dàng hơn.
Database Engine: Đ y là m t engine c hả năng chứa dữ liệu ở các quy mô dưới dạng support và table. Ngoài ra, n còn c hả năng tự điều ch nh v dụ: trả lại tài nguy n cho ệ điều hành hi m t user log off và sử dụng th m các tài nguy n của máy
hi cần.
Integration Services: là tập hợp các đối tượng lập trình và các c ng cụ đ h a cho việc sao chép, di chuyển và chuyển đổi dữ liệu. hi bạn làm việc trong m t c ng ty lớn thì dữ liệu được lưu trữ ở nhiều nơi hác nhau như được chứa trong: Oracle, SQ Server, D 2, icrosoft Access, và bạn chắc chắn s c nhu cầu di chuyển dữ liệu giữa các server này. Ngoài ra, bạn còn muốn định dạng dữ liệu trước hi lưu vào database. Chắc chắn Integration Services s giúp bạn giải quyết được c ng việc này d dàng.
Analysis Services: Đ y là m t dịch vụ ph n t ch dữ liệu rất hay của icrosoft. Dữ liệu hi được lưu trữ vào trong database mà bạn h ng thể lấy được những th ng tin bổ ch thì coi như h ng c ngh a gì. Ch nh vì thế, c ng cụ này ra đời giúp bạn trong việc ph n t ch dữ liệu m t cách hiệu quả và d dàng bằng cách dùng thuật khai thác dữ liệu – datamining và hái niệm hình hối nhiều chiều – multi dimendion cubes.
Notification Services: Dịch vụ th ng báo này là nền tảng cho sự phát triển và triển hai các ứng dụng soạn và gửi th ng báo. Ngoài ra, dịch vụ này còn c chức năng gửi th ng báo theo dịch thời đến hàng ngàn người dăng sử dụng tr n nhiều loại thiết bị hác nhau.
Reporting Services: là m t c ng cụ tạo, quản l và triển hai báo cáo bao g m: server và client. Ngoài ra, n còn là nền tảng cho việc phát triển và x y dựng các ứng dụng báo cáo.
Full Text Search Service: là m t thành phần đặc biệt trong việc truy vấn và đánh ch mục dữ liệu văn bản h ng cấu trúc được lưu trữ trong các cơ sở dữ liệu SQ Server.
Service Broker: là m t m i trường lập trình cho việc tạo ra các ứng dụng trong việc nhảy qua các Instance.
1.3. PHP
1.3.1. Mô tả v PHP
PHP chủ yếu được dùng để phát triển các ứng dụng Web, mã ngu n mở ( CMS ). Có thể d dàng nhúng vào trang HT . Do được tối ưu h a cho các ứng dụng web,
tốc đ nhanh, nhỏ g n, cú pháp giống ngôn ngữ lập trình C và ngôn ngữ lập trình Java, d h c và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác n n PHP đã nhanh ch ng trở thành m t ngôn ngữ lập trình web phổ biến nhất thế giới.
an đầu PHP được viết với mục đ ch tạo ra các website cá nhân nên PHP là chữ viết tắt của "Personal Home Page".
Tuy nhi n sau đ cùng với sự phát triển mạnh m của ngôn ngữ này thì PHP đã được dùng với nhiều mục đ ch hác nhau. Tạo ra các trang web doanh nghiệp, hệ quản trị n i dung (C S), trang thương mại điện tử và thậm chí các trang mạng xã h i...
Lúc này c ng đ ng PHP nhận thấy cần có sự thay đổi tên g i của PHP để phản ánh đúng hơn mục đ ch sử dụng. Dựa trên chức năng của PHP được dùng như m t chương trình để tạo ra trang HT đ ng nên cụm từ "Hypertext Preprocessor" được sử dụng, do đ PHP được hình thành từ cách lấy chữ P (trong Preprocessor), H (trong Hypertext) và P (trong Preproceessor), từ cụm từ "Hypertext Preprocessor".
1.3.2. Phiên bản c a PHP
1.3.2.1. PHP/FI
PHP được phát triển từ m t sản phẩm c t n là PHP/FI. PHP/FI do Rasmus
erdorf tạo ra năm 1994. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter". PHP/FI 2.0 được ch nh thức c ng bố vào tháng 11 năm 1997.
1.3.2.2. PHP 3
PHP 3 đã được Andi Gutmans và Zeev Suras i tạo ra năm 1997 sau hi viết lại hoàn toàn b mã ngu n trước đ ( PHP/FI 2.0 ) . Andi, Rasmus và Zeev đã quyết định hợp tác và c ng bố PHP 3.0 như là phi n bản thế hệ ế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. PHP 3.0 đã ch nh thức được c ng bố vào tháng 6 năm 1998.
1.3.2.3. PHP 4
Ngoài tốc đ xử l được cải thiện rất nhiều, PHP 4.0 đem đến các t nh năng chủ yếu hác g m c sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phi n làm việc HTTP, tạo b đệm th ng tin đầu ra, nhiều cách xử l th ng tin người sử dụng nhập vào bảo mật hơn và cung cấp m t vài các cấu trúc ng n ngữ mới.
1.3.2.4. PHP 5
Ngày 29 tháng 6 năm 2003, PHP 5 eta 1 đã ch nh thức được c ng bố để c ng đ ng iểm nghiệm. Phi n bản eta 2 sau đ đã ra mắt vào tháng 10 năm 2003. Ngày 21 tháng 12 năm 2003: PHP 5 eta 3 đã được c ng bố. Hiện tại PHP 5 là phi n bản c nhiều người dùng nhất t nh đến thời điểm hiện tại ( 2018 ).
1.3.2.5. PHP 6
PHP 6 là m t dự án được phát triển từ 2005-2010, nhưng n đã bị trì hoãn và cuối cùng bị hủy bỏ. N n PHP 6 s h ng bao giờ được phát hành. Vì vậy bạn s
h ng nhìn thấy được phi n bản PHP 6 được phát hành tr n Website của h .
1.3.2.6. PHP 7
PHP 7 hiện đang là phi n bản cao nhất của PHP t nh đến thời điểm hiện tại ( 2018 ). PHP 7 là m t phi n bản mới của PHP được phát hành vào ngày 09 tháng 06 năm 2015 và đến thời điểm mình viết bài này thì n hiện đang ở phi n bản 7.1.21 ( phát hành ngày 13 tháng 9 năm 2018 ). PHP 7 là phi n bản mà được rất nhiều các lập trình vi n mong đợi, vì n c rất nhiều cải tiến cả về hiệu năng lẫn các thư viện. Và ngay cả ch nh website này cũng được lập trình bởi PHP 7.
1.4. HTML
1.4.1. HTML là gì?
HTML là chữ viết tắt của cụm từ HyperText Markup Language, c ngh a là “ ữ h dấ s ă bả ”. Cha đẻ của HTML là Tim Berners- ee, cũng là người khai sinh ra World Wide Web và là chủ tịch của World Wide Web Consortium (W3C – tổ chức thiết lập ra các chuẩn tr n m i trường Internet).
HT dùng để mô tả cấu trúc, các thu c t nh li n quan đến cách hiển thị của m t đoạn văn bản nào đấy ra trình duyệt.
Các phần tử HTML là các khối xây dựng nên các trang web.
Các phần tử HT được biểu di n bằng thẻ.
Trình duyệt không hiển thị các thẻ HT , nhưng sử dụng chúng để hiển thị n i dung của trang.
1.4.2. B c bản c a HTML trên một trang web
Như đã n i, HT dùng để m tả cấu trúc của m t trang web. t trang web bao g m rất nhiều thẻ HT và mỗi thẻ c m t nhiệm vụ nhất định. Th ng thường, bố cục m t trang web được chia làm 2 phần ch nh nằm trong cặp thẻ :
Phần Head
Phần Body