Chương 1: TÌM HIỂU LARAVEL FRAMEWORK VÀ MỘT SỐ CÔNG CỤ HỔ TRỢ 1. Giới thiệu Laravel 1. Giới thiệu ➢ Lịch sử cửa Laravel Hình 1.1: Logo Laravel - Developer(s): Taylor Otwell. - Phát hành lần đầu: June 2011; 7 years ago[1] - Phiên bản ổn định: 5.2 September 6, 2018 - Repository: https://github.com/laravel/framework - Viết bởi: PHP 7 - Loại: Web framework - License: MIT License - Website: laravel.com Đối với mỗi developer, đặc biệt là các PHP developer chắc hẳn ai cũng biết đến Laravel một open source framework đứng đầu về số lượt download trên Packagist cũng như số lượng sao đạt được trên Github.
Laravel được tạo ra bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 6 năm 2011. Từ đó cho đến này, Laravel đã phát triển một cách mạnh mẽ, vượt qua những framework khác và vươn lên trở thành framework PHP có thể nói được ưa chuộc và được cộng đồng sử dụng nhiều nhất khi phát triển web với PHP. 11 ➢ Khái niệm Laravel Laravel là 1 open source, là một framework dùng để xây dựng web application, được thiết kế dựa trên mô hình MVC (Model, Controller, View ), toàn bộ source code được đặt trên github. Theo kết qủa khảo sát của các Developer vào tháng 12 năm 2013, thì Laravel Framework đứng top 1 một trong những framework phổ biến nhất, tiếp sau là Phalcon, Symfony2, CodeIgniter và các framework khác.
Tháng 8 năm 2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github - Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực để lập trình viên sử dụng thay vì phải tự thiết kế. Có Framework, lập trình viên chỉ tìm hiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sản phẩm của mình. Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựng các lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm. - PHP framework PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn.
Bằng cách cung cấp 1 cấu trúc cơ bản để xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp bạn thúc đẩy nhanh chóng quá trình phát triển ứng dụng. Giúp bạn tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng. Giảm thiểu số lần phải viết lại code cho lập trình viên.
- MVC (Model-View-Controller) MVC (Model-Viwe-Controller) là mẫu kiến trúc phần mềm trên máy tính nhằm mục đích tạo lập giao diện cho người dùng. Theo đó, hệ thống MVC được chia thành ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao diện người dùng. Ba thánh phần ấy bao gồm: - Controller: Giữ nhiệm vụ nhận đ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. - Model: 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ý… 12 - 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… Bằng cách này, thông tin nội hàm được xử lý tách biệt với phần thông tin xuất hiện trong giao diện người dùng.
Bảo đảm các nguyên tắc nghề nghiệp của lập trình viên. ➢ Những tính năng hữu ích của Laravel Những tính năng tuyệt vời có thể kể đến của Laravel là: - Composer: sử dụng để nâng cấp, cài đặt… - Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản. - Restful API: hỗ trợ biến Laravel thành một web service API. - Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng.
- View: giúp code sạch sẽ hơn rất nhiều. - Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ sở dữ liệu. - Authentication: cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu. - Unit Testing: hỗ trợ test lỗi để sửa chữa.
Cài đặc Laravel ➢ Cấu hình yêu cầu khi cài đặt Laravel - PHP >= 5.4 - OpenSSL PHP Extension - PDO PHP Extension - Mbstring PHP Extension - Tokenizer PHP Extension - XML PHP Extension. ➢ Download và cài đặt Laravel - Đầu tiên các bạn cần phải cài đặt biến môi trường cho PHP (xem thêm). - Đầu tiên các bạn lên trang chủ getcomposer.org và download file composer setup. - Sau đó mở file lên và cài đặt: 13 Hình 1.2: Cài đặt composer - Nhấn next để tiếp tục Hình 1.
Chọn địa cài đặt composer 14 - Chọn thư mục chứa php (Mặc định thì composer tự tìm cho chúng ta) sau đó chọn next Hình 1. Chọn thư mục chứa php - Và lại tiếp tục next Hình 1. Đọc địa và install 15 - Cuối cùng là install. Sau khi đã cài đặt xong các bạn có thể mở command line lên (windows +R) và gõ lệnh composer -v.
Nếu màn hình hiện nên dạng như này là bạn đã cài đặt thành công rồi. Đăng ký thành công 1. Một số đặc điểm Laravel ➢ Ưu điểm và nhược điểm của Laravel - Ưu điểm của Laravel Sử dụng các tính năng mới nhất của PHP Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mới nhất mà PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading, Anonymous functions và Shorter array syntax. Nguồn tài nguyên vô cùng lớn và sẵn có Nguồn tài nguyên của Laravel rất thân thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo.
Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình. 16 Tích hợp với dịch vụ mail Lavarel là framework được trang bị API sạch trên thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local. Tốc độ xử lý nhanh Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự án lớn trong thời gian ngắn. Vì vậy, nó được các công ty công nghệ và lập trình viên sử dụng rộng rãi để phát triển các sản phẩm của họ.
Dễ sử dụng Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử dụng. Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ với vốn kiến thức cơ bản nhất về lập trình với PHP. Tính bảo mật cao Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình: • Sử dụng PDO để chống lại tấn công SQL Injection. • Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF.
Mặc định đều được Laravel escape các biến được đưa ra view mặc định, do đó có thể tránh được tấn công XSS. ➢ Nhược điểm của Laravel. So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm. Vấn đề lớn nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ.
Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp. Cấu trúc ➢ Chú thích: - app: Chứa các thư mục, các tập tin php, thư viện, models. - Console: Chứa các tập tin định nghĩa các câu lệnh trên artisan. - Excerption: Chứa các tập tin quản lý, điều hướng lỗi.
- Controllers: Chứa các controllers của project. - Middleware: Chứa các tập tin lọc và ngăn chặn các requests.php: Cấu hình, định nghĩa Middleware. - Providers: Chứ các providers thực hiện việc binding vào service container (ở phần nâng cao mình sẽ nói sau).php: Là model User mà Laravel tự địn sẵn cho chúng ta. - bootstrap:Chứa tập tin điều hướng hệ thống.
- config: Chứa mọi tập tin cấu hình của Laravel. 18 - database: Chứa các thư mục tập tin vềdatabase. - migrations: Chứa các tập tin định nghĩa,khởi tạo và sửa bảng. - seeds: Chứa các tập tin định nghĩa dữ liệu insert(thêm) vào trong database.
- factories: Chứa các tập tin định nghĩa các cột bảng dữ liệu để tạo ra các dữ liệu ảo. - public: Chứa các tập tin css, js, image.php: Đây là tệp tin root của Laraver - resources: Chứa các views, ngôn ngữ(language) của project. - routes: Chứa các tập tin định nghĩa các router, xử lý điều hướng router bao gồm : web, api và console(Mình sẽ nói thêm ở phần sau). - storage: Chứa các tập tin hệ thống cache, session,.
- vendor: Chứa các thư viện của composer.env: Là tập tin cấu hình chính của laravel như key app,database.example: Tệp tin cấu hình mẫu của laraver.json: tập tin của composer.lock: tập tin của composer.js: Tập tin cấu hình của nodejs (chứa các package cần dùng cho projects).js: Là tập tin gulp builder.xml: Là tập tin xml của phpunit dùng để testing project.php: Là tập tin để artisan trỏ đến tạo server khi gõ lệnh php artisan serve - artisan: Tập tin thực thi lệnh của Laravel. Ở trên là một số các thư mục trong laravel mà chúng ta lên biết thôi vẫn còn rất nhiều các thư mục khác cấu thành lên laravel nữa các bạn tự tìm hiểu thêm nhé. Giới thiệu ngôn ngữ HTML, CSS, PHP, JAVASCRIPT ➢ ngôn ngữ HTML Ngôn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là một trong các loại ngôn ngữ được sử dụng trong lập trình web. Khi truy cập một trang 19 web cụ thể là click vào các đường link, bạn sẽ được dẫn tới nhiều trang các nhau, và các trang này được gọi là một tài liệu HTML (tập tin HTML).
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag. Bạn có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó. Ở cuối các trang HTML thường hay có đuôi là .HTML hoặc HTML HTML là ngôn ngữ lập trình web được đánh giá là đơn giản. Mọi trang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML.
Hiện nay, phiên bản mới nhất của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản HTML cũ. - Vai trò của HTML trong tập trình Web Vậy, đối với các website, ngôn ngữ HTML đóng vai trò như thế nào? HTML theo đúng nghĩa của nó là một loại ngôn ngữ đánh dấu siêu văn bản, thế nên các chức năng của nó cũng xoay quanh yếu tố này. Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên một website (chia khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh.